使用说明

项目简介

本项目 '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 作为传输协议,方便本地运行和调试。

安装步骤

  1. 安装依赖: 在项目根目录下,运行以下命令安装所需的Python库:

    pip install -r requirements.txt

    确保您的系统已安装 'npx' 或 'uvx' (或 'uv'),这些命令用于启动示例工具服务器。

  2. 配置环境变量: 创建 '.env' 文件,并添加您的 Groq API 密钥:

    LLM_API_KEY=your_groq_api_key_here

    如果您不使用 Groq LLM,可以修改 'groq/grok_chatbot.py' 中的 'LLMClient' 类以适配其他LLM服务。

  3. 配置服务器: 编辑 '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' 脚本。

基本使用方法

  1. 启动 MCP 客户端: 运行 'groq/grok_chatbot.py' 脚本启动客户端:
    python groq/grok_chatbot.py
  2. 与助手对话: 客户端启动后,您可以在终端中与助手进行交互。您可以向助手提问,例如:
    You: predict churn for employee data [{"YearsAtCompany": 5, "EmployeeSatisfaction": 0.7, "Position": "Manager", "Salary": 8.0}]
    客户端会将用户输入发送给LLM,如果LLM判断需要调用工具,则会通过MCP协议调用已配置的MCP服务器上的工具。

注意: 本示例主要展示 MCP 客户端与服务器的基本交互流程,'beeai_chatbot/server.py' 中 'PredictChurn' 工具的实现较为简单,仅返回固定结果 '{"prediction":0}',不包含真实的预测逻辑。您可以根据需要扩展服务器端工具的功能。

信息

分类

开发者工具