使用说明
项目简介
本项目 'MCP-Trial' 旨在演示 Model Context Protocol (MCP) 的客户端和服务器端如何协同工作,以实现LLM对外部工具的调用。仓库中包含了一个简单的MCP服务器示例 ('beeai_chatbot/server.py') 和一个使用该服务器的客户端示例 ('groq/grok_chatbot.py')。通过本示例,您可以了解如何配置和运行MCP服务器,以及如何从客户端与之交互,从而扩展LLM的功能。
主要功能点
- MCP服务器示例: 'beeai_chatbot/server.py' 提供了一个基于 'fastmcp' 库构建的简单MCP服务器,可以注册和执行工具。
- 工具注册与执行: 服务器端定义了 'PredictChurn' 工具,用于演示工具的注册和调用过程。
- 客户端交互: 'groq/grok_chatbot.py' 演示了如何作为MCP客户端连接到服务器,列出可用工具,并根据LLM的指令调用工具。
- JSON-RPC通信: 客户端和服务器之间通过 JSON-RPC 协议进行通信,实现结构化的请求和响应。
- Stdio传输: 示例使用 Stdio 作为传输协议,方便本地运行和调试。
安装步骤
-
安装依赖: 在项目根目录下,运行以下命令安装所需的Python库:
pip install -r requirements.txt确保您的系统已安装 'npx' 或 'uvx' (或 'uv'),这些命令用于启动示例工具服务器。
-
配置环境变量: 创建 '.env' 文件,并添加您的 Groq API 密钥:
LLM_API_KEY=your_groq_api_key_here如果您不使用 Groq LLM,可以修改 'groq/grok_chatbot.py' 中的 'LLMClient' 类以适配其他LLM服务。
-
配置服务器: 编辑 'servers_config.json' 文件,配置要连接的MCP服务器。 仓库预置了 'sqlite' 和 'puppeteer' 两个示例服务器的配置,但本仓库主要演示 'beeai_chatbot/server.py' 这个服务器。您可以参考以下配置,用于启动 'beeai_chatbot/server.py' 作为 MCP 服务器:
{ "mcpServers": { "beeai_churn_predictor": { "command": "uv", "args": ["run", "beeai_chatbot/server.py"] } } }配置参数说明:
- 'server name': 服务器名称,例如 'beeai_churn_predictor',客户端通过此名称引用服务器。
- 'command': 启动服务器的命令,例如 'uv' 或 'python',根据您的环境选择。
- 'args': 传递给启动命令的参数,例如 '["run", "beeai_chatbot/server.py"]' 用于运行 'beeai_chatbot/server.py' 脚本。
基本使用方法
- 启动 MCP 客户端:
运行 'groq/grok_chatbot.py' 脚本启动客户端:
python groq/grok_chatbot.py - 与助手对话:
客户端启动后,您可以在终端中与助手进行交互。您可以向助手提问,例如:
客户端会将用户输入发送给LLM,如果LLM判断需要调用工具,则会通过MCP协议调用已配置的MCP服务器上的工具。You: predict churn for employee data [{"YearsAtCompany": 5, "EmployeeSatisfaction": 0.7, "Position": "Manager", "Salary": 8.0}]
注意: 本示例主要展示 MCP 客户端与服务器的基本交互流程,'beeai_chatbot/server.py' 中 'PredictChurn' 工具的实现较为简单,仅返回固定结果 '{"prediction":0}',不包含真实的预测逻辑。您可以根据需要扩展服务器端工具的功能。
信息
分类
开发者工具