🤖 询问人类MCP
一个模型上下文协议(MCP)服务器和一个用于人类在线问答的web UI。
- 🧑💻 通过现代网络界面向操作员提问
- 🗃️ 存储和管理(问题、上下文)→ 内存数据库中的答案对
- 🔗 与MCP协议集成,用于代理工作流
- 💬 在响应式、Bootstrap驱动的UI中查看、过滤和回答问题
\[!注意\]
✨ 特性
- 🤝 MCP服务器:实现代理/人工协作的模型上下文协议
- 🌐 Web用户界面:用于列出、筛选和回答问题的单页应用程序
- ⚡ 内存数据库:快速、线程安全地存储问题和答案
- 🔄 实时更新:UI自动刷新并显示连接状态
- 🖥️ 现代用户体验:响应式设计、键盘快捷键和模态对话框
🚀 入门指南
先决条件
- 转到1.24+
运行服务器
- 克隆存储库:
git clone
cd mcp-human-go- 构建并运行:
go run ./cmd/mcp-human-go- 打开web UI:
- 访问 http://localhost:8990/ui (或设置中配置的端口)
⚙️ 配置
您可以使用环境变量或 .env 项目根目录(或XDG配置目录)中的文件。支持以下选项(请参见 internal/config/config.go):
| 变量 | 默认值 | 描述 |
|---|---|---|
WEB_PORT | 8990 | web UI/API的端口 |
SSE_PORT | 8989 | SSE(事件)服务器的端口 |
MAX_WAIT | 60 | 人工应答的最大等待时间(秒) |
您可以创建 .env 文件如下:
WEB_PORT=8990
SSE_PORT=8989
MAX_WAIT=60或者在运行之前在shell中设置变量:
export WEB_PORT=8990
export MAX_WAIT=60🛠️ MCP客户端配置
您可以使用配置MCP客户端 mcp.json 文件。这允许您通过SSE(HTTP)或stdio连接到人工服务器。例子:
{
"servers": {
"mcp-human-sse": {
"url": "http://localhost:8989/mcp"
},
"mcp-human-stdio": {
"type": "stdio",
"command": "go",
"args": [
"run",
"./cmd/mcp-human-go/"
]
}
}
}- mcp人sse:在给定的URL上使用HTTP/SSE连接到服务器。
- mcp人类性病:使用stdio将服务器作为子进程启动(对本地开发或集成很有用)。
您可以在MCP客户端配置或工具中选择要使用的服务器。
📝 用法
- ✍️ 新问题将添加到内存数据库中,并显示在web UI中。
- 👁️ 单击问题以查看详细信息并在模态对话框中回答。
- 🕵️ 使用过滤器隐藏已回答的问题。
- 🚦 UI显示后端何时无法访问,并在重新连接时恢复。
- ⌨️ 使用Ctrl+Enter快速提交答案。
📁 项目结构
cmd/mcp-human-go/--主要入口点internal/memory/--内存数据库逻辑internal/web/--Web服务器和UIinternal/human/--人机交互逻辑internal/tools/--MCP工具注册
🙏 主要依赖关系
- mark3labs/mcp go --模型上下文协议Go实现
- gofiber/纤维 --Go的Web框架
📄 许可证
MIT许可证。看 许可证 了解详情。
