使用说明
聊天机器人MCP客户端
此存储库包含一个聊天机器人客户端,该客户端连接到 MCP(模型上下文协议)服务器 超过stdio。 它使用OpenAI的API来解释用户消息,选择MCP服务器公开的工具,并提供结构化、用户友好的响应。
特性
-
连接到中定义的远程MCP服务器
servers.yaml. -
动态加载工具并将用户查询路由到最相关的工具。
-
保留 会话上下文 (
chat_context.json)跨交互:- 存储以前的工具参数。
- 存储最后一个列表输出以支持后续操作,例如 “第一个”.
-
保持a 聊天记录 (
chatbot_log.txt)审计。 -
支持 顺序引用 (例如。, 第一,第二,#3).
-
如果没有匹配的工具,则提供回退答案。
需求
- Python 3.10+
- OpenAI API密钥
依赖关系列在 requirements.txt,包括:
openaipython-dotenvprompt_toolkitpyyamlmcp
设置
-
克隆仓库
git clone https://github.com/<your-username>/<your-repo>.git cd <your-repo> -
创建并激活虚拟环境
python3 -m venv .venv source .venv/bin/activate # Linux/Mac -
安装依赖项
pip install -r requirements.txt -
环境变量
-
创建一个
.env项目根目录中的文件:OPENAI_API_KEY=your_api_key_here -
您可以从获取API密钥 开放人工智能.
-
-
配置服务器
-
编辑
servers.yaml并定义您的MCP服务器,例如:servers: remote_echo: command: "python" args: ["path/to/your/server.py"] env: {}
-
用法
运行聊天机器人:
python host.py
您应该看到类似于以下内容的输出:
Connected to MCP server: remote_echo
🛠️ Available tools: tool1, tool2, tool3
Commands: tools | context | exit
然后,您可以进行交互:
> what is the top game
机器人将:
- 解析您的消息。
- 决定调用哪个工具。
- 打印分步跟踪。
- 返回最终的用户友好答案。
上下文和日志
-
上下文文件:
chat_context.json存储工具历史记录、最后一个参数和最后一个实体列表。 -
日志文件:
chatbot_log.txt包含所有交互的原始日志。
要重置上下文,只需删除 chat_context.json 或者重新启动客户端(它会在启动时覆盖文件)。
退出
在任何提示下,键入:
exit
结束会议。
