返回市场
询问人-mcp

询问人-mcp

作者:Masony817150 星标更新:2025-07-06

项目介绍

ask-human mcp 🧑‍💻🤝🤖

PyPI 版本 MIT 许可证 Python 3.8+ "买我一杯咖啡"

阻止AI产生幻觉。当AI困惑时,给它一个求助途径而不是虚假的信心。

痛点

AI会突然说出一个不存在的端点

代理会做出一些根本错误的假设,并且有虚假的信心

重复100次错误,你的日子就会花在调试这些虚假信心和问题上,而这些问题本来可以通过简单地提问来解决。

解决方案

一个MCP服务器,让代理在遇到困难时可以求助而不是产生幻觉。感觉像是指导一个聪明的实习生,在猜测之前先询问。

代理 → ask_human()

问题出现在ask_human.md文件中

你将"PENDING"替换为答案

代理继续编码

示例文件:

### Q8c4f1e2a
ts: 2025-01-15 14:30  
q: 我们使用哪个认证端点?  
ctx: 在auth.js中构建登录表单  
answer: PENDING

你添加:

answer: POST /api/v2/auth/login

搞定。流程继续,希望问题得到解决。

为什么这很好

  • pip install ask-human-mcp → 安装完成
  • 零配置,跨平台
  • 监控文件,即时反馈
  • 多个代理,轻松应对
  • 锁定+限制,防止出现问题
  • 完整的问答历史记录在Markdown中(方便调试)

30秒设置

pip install ask-human-mcp
ask-human-mcp

.cursor/mcp.json:

{
  "mcpServers": {
    "ask-human": { "command": "ask-human-mcp" }
  }
}

重启Cursor并享受。

工作原理

  1. AI卡住了 → 调用ask_human(question, context)
  2. 问题被记录 → 出现在ask_human.md中,带有唯一ID
  3. 人类回答 → 将"PENDING"替换为你的回答
  4. AI继续 → 使用你的回答继续编码

AI接收到你的回答并继续编码!

配置选项(如果你需要)

命令行

ask-human-mcp --help
ask-human-mcp --port 3000 --host  0.0.0.0  # HTTP模式
ask-human-mcp --timeout 1800               # 30分钟超时  
ask-human-mcp --file custom_qa.md          # 自定义问答文件
ask-human-mcp --max-pending 50             # 最大并发问题数
ask-human-mcp --max-question-length 5000   # 最大问题长度
ask-human-mcp --rotation-size 10485760     # 文件达到10MB时旋转

不同客户端

Cursor(本地):

{
  "mcpServers": {
    "ask-human": {
      "command": "ask-human-mcp",
      "args": ["--timeout", "900"]
    }
  }
}

Cursor(HTTP):

{
  "mcpServers": {
    "ask-human": {
      "url": "http://localhost:3000/sse"
    }
  }
}

Claude桌面:

{
  "mcpServers": {
    "ask-human": {
      "command": "ask-human-mcp"
    }
  }
}

包含的内容

  • 零配置 → 开箱即用
  • 文件监控 → 当你保存答案时立即响应
  • 超时处理 → 问题不会永远挂起
  • 并发问题 → 处理多个AI代理
  • 持久日志 → 完整的问答历史记录在Markdown中
  • 跨平台 → Windows、macOS、Linux
  • MCP标准 → 与任何MCP客户端兼容
  • 输入验证 → 大小限制和清理
  • 文件旋转 → 自动归档大文件
  • 资源限制 → 防止DoS和内存泄漏
  • 强大的解析 → 优雅地处理畸形Markdown

安全事项

  • 输入清理 → 移除控制字符并验证大小
  • 文件锁定 → 防止并发访问导致的数据损坏
  • 安全权限 → 创建具有受限访问权限的文件
  • 资源限制 → 防止内存耗尽和DoS攻击
  • 路径验证 → 确保文件写入安全位置

限制(以防出错)

项目默认值功能
问题长度10KB每个问题的最大字符数
上下文长度50KB每个上下文的最大字符数
待答问题100最大并发问题数
文件大小100MB最大问文件大小
旋转大小50MB文件归档的大小

平台支持

  • Windows → 完整支持,带原生文件锁定
  • macOS → 完整支持,带fsevents文件监控
  • Linux → 完整支持,带inotify文件监控

API相关

ask_human(question, context="")

向人类提问并等待回复。

answer = await ask_human(
    "这个项目应该使用什么数据库?",
    "正在构建一个支持1000+并发用户的聊天应用"
)

其他工具

  • list_pending_questions() → 获取待答的问题
  • get_qa_stats() → 获取问答会话统计信息

开发

从源代码

git clone https://github.com/masonyarbrough/ask-human-mcp.git
cd ask-human-mcp
pip install -e ".[dev]"
ask-human-mcp

测试

pytest tests/ -v

代码质量

black ask_human_mcp tests
ruff check ask_human_mcp tests  
mypy ask_human_mcp

贡献

欢迎任何贡献者

问题报告

使用GitHub问题跟踪器报告错误或请求功能。
你也可以直接发送邮件给我:mason@kallro.com

包括:

  • Python版本
  • 操作系统
  • MCP客户端(Cursor、Claude桌面等)
  • 错误消息或日志
  • 重现步骤

更新日志

查看CHANGELOG.md以获取版本历史。

许可证

MIT许可证 - 查看LICENSE文件以获取详细信息。

致谢