使用说明
人工控制的MCP服务器 🎮
一个模型上下文协议(MCP)服务器,其中 你 他们是后端!克劳德(Claude)发出请求,而你通过一个漂亮的网页界面实时作出回应。
这个是做什么的?
这个MCP服务器并没有将Claude连接到API、数据库或自动化工具,而是将Claude连接到了 你当克劳德需要信息、想要做出决策或需要人类判断时,它会向您的网页仪表盘发送请求,您可以在那里进行回应。
特点/功能
- 🌐 代表互联网或全球网络的符号,可直接译为“🌐(互联网/全球网络)”。不过,在具体语境中,也可以根据需要选择更贴切的表述,如“🌐(表示互联网或全球网络)”。但通常,直接使用🌐加解释性文字或保持符号原样即可。 网页界面美观的单页仪表板,用于查看和响应Claude的请求
- ⚡(闪电符号,无特定中文含义,可直译为“闪电”或根据上下文保留原样) 实时请求会立即显示在您的浏览器中
- 🎨 表示“艺术”或“绘画”的意思,可以翻译为“🎨(艺术/绘画)”。不过,在实际语境中,这个表情符号通常不需要翻译,直接使用即可表达其含义。如果非要翻译,可以简单地说它代表“艺术”或“绘画”的概念。 简洁的用户界面现代、响应式的界面,无需任何框架
- 🔧(扳手) 多种工具提出问题,请求搜索,或从人类那里获取决策
- ⏱️(倒计时/时间流逝) 超时处理待处理请求的自动5分钟超时设置
建筑学
Claude Desktop
↓ (MCP Protocol)
Python MCP Server
↓ (HTTP)
Web Interface (You!)
设置说明
1. 安装依赖项
pip install -r requirements.txt
2. 配置Claude桌面版
编辑您的Claude Desktop配置文件:
macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
添加此配置:
{
"mcpServers": {
"human-controlled": {
"command": "python",
"args": [
"/absolute/path/to/human_mcp_server.py"
]
}
}
}
重要的替换 /absolute/path/to/human_mcp_server.py 以及Python文件的实际完整路径。
3. 启动服务器
您有两个选择:
选项A:通过Claude桌面版 (推荐)
- 配置完成后,只需重启Claude桌面版即可
- 当Claude Desktop启动时,服务器会自动启动
- 打开你的浏览器,访问 http://localhost:5001
选项B:独立测试
python human_mcp_server.py
然后通过Claude桌面版进行连接,或者使用MCP客户端进行测试。
4. 打开网页界面
导航至: http://localhost:5001 翻译为中文是:“本地主机上的5001端口”。不过,通常我们不会直接这样翻译网址,而是会根据上下文或用途来解释其意义,比如“这是运行在本地计算机上的一个Web服务的地址,监听5001端口”。但直接翻译网址本身,上述表述是准确的
你会看到“人类MCP控制面板”,在那里你可以回应克劳德的请求。
使用
在Claude Desktop中
一旦配置完成,Claude 将能够访问三种工具:
- 询问人类问你一个问题
- 人工搜索请您搜索相关信息
- 人为决策请你做出决定
示例对话
你“克劳德,你能问我晚餐想吃什么吗?”
克劳德: 使用ask_human工具
[您的网页界面显示]:
Tool: ask_human
Parameters:
{
"question": "What would you like for dinner tonight?",
"context": "The user asked me to ask them this question."
}
你: 在网页界面中输入“我想吃意大利面配玛琳娜拉酱”,然后点击提交
克劳德“根据你的回答,你今晚晚餐想吃意大利面配玛琳娜拉酱!”
可用工具
1. 询问人类
向人工操作员提出任何问题。
参数:
question(必填):要提出的问题context(可选):额外上下文
示例用法“你的电子邮箱地址是什么?”“你批准这个变更吗?”“你对这个方法有什么看法?”
2. 人工搜索
请人类搜索信息。
参数:
query(必填):要搜索的内容sources(可选):查看位置
示例用法“你能帮我查一下关于人工智能的最新新闻吗?”“查一下我们公司第三季度的收入数据。”
3. 人为决策
请人类做出决定。
参数:
decision_needed(必填):需要决定的内容options(必需):可用选项recommendation(可选):AI的建议
示例用法“我们应该用方法A还是B来实现这个功能?”“你更喜欢哪种设计?”
技术细节
- 协议;规程通过标准输入输出(stdio)的模型上下文协议(MCP)
- 服务器使用Flask的Python进行网页界面开发
- 交通MCP的标准输入/输出,以及用于网页用户界面的HTTP
- 超时每个请求5分钟
- 端口5001(网页界面)
故障排除
服务器无法启动
- 检查端口5001是否已被占用
- 验证Python依赖项是否已安装:
pip list | grep -E "flask|mcp"
克劳德无法连接
- 验证路径中的(内容/设置等)
claude_desktop_config.json是绝对且正确的 - 配置更改后重启Claude桌面版
- 检查Claude Desktop的日志以查找错误
网页界面无法访问
- 确保服务器正在运行:
lsof -i :5001 - 尝试访问
http://127.0.0.1:5001而不是localhost - 检查您的防火墙设置
请求超时
- 默认超时时间为5分钟 - 增加
max_wait在代码中如需时 - 确保您的网页界面已打开并正在进行轮询
定制化
更改端口
编辑 app.run() 在代码中:
app.run(host='0.0.0.0', port=8080, debug=False, use_reloader=False)
添加更多工具
在(此处)添加新工具 handle_list_tools() 遵循MCP工具规范的功能。
修改超时时间
改变 max_wait 在……中 handle_call_tool() 函数(当前为300秒)。
自定义用户界面
编辑该 HTML_TEMPLATE 字符串 - 它是一个单一的、自包含的HTML文件,内嵌了CSS和JavaScript。
安全注意事项
- 这个服务器绑定到
0.0.0.0,使其在您的局域网中可访问 - 对于仅限本地主机访问,请更改为
host='127.0.0.1' - 如果通过网络暴露,需添加身份验证
- 响应仅存储在内存中(非持久性)
用例
- 个人助理克劳德询问你的日程安排、偏好或决定
- 研究助手克劳德请求你查询它无法访问的信息
- 代码审查克劳德征求你对代码更改的批准或意见
- 创意合作克劳德征求你的创意贡献或指导
- 教学工具演示MCP服务器如何与手动响应协同工作
致谢/鸣谢
构建于:
- MCP(模型上下文协议)
- Flask(一个用Python编写的轻量级Web应用框架)
- 原生JavaScript(无框架!)
许可证
MIT 许可证 - 欢迎随意修改和使用!