使用说明

项目简介

RandomUser MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,它通过工具的方式向 LLM 客户端提供随机用户信息。该服务器使用 FastAPI 框架开发,并提供了与 Gemini 驱动的聊天机器人以及 Claude Desktop 集成的示例。

主要功能点

  • MCP 服务器: 提供符合 MCP 协议的 HTTP 服务器,支持工具注册和调用。
  • 随机用户数据: 通过工具从 'randomuser.me' API 获取姓名、国家、年龄等随机用户信息。
  • 工具集成: 内置 'get_random_user', 'get_multiple_users', 'get_user_by_gender' 三个工具,方便 LLM 客户端获取不同类型的随机用户数据。
  • 聊天机器人示例: 提供一个简单的命令行聊天机器人,演示如何通过 HTTP 请求调用 MCP 服务器的工具,并结合 Gemini LLM 回答用户问题。
  • Claude 集成: 提供代理脚本,可以将 HTTP MCP 服务器桥接到 Claude Desktop 的 stdio 接口,实现在 Claude 中使用工具。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/shelwyn/MCP_with_python.git
    cd MCP_with_python
  2. 安装依赖:

    pip install -r requirements.txt
  3. 配置环境变量: 在项目根目录下创建 '.env' 文件,并填入你的 Gemini API Key:

    GEMINI_API_KEY=your_gemini_api_key_here

    请替换 'your_gemini_api_key_here' 为你从 Google 获取的 Gemini API 密钥。

服务器配置

对于 MCP 客户端(例如 Claude Desktop),你需要配置以下 JSON 信息以连接到 RandomUser MCP Server。以下配置适用于 Claude Desktop,假设 'proxy.py' 脚本位于 'C:/path/to/proxy.py'。请根据实际情况修改路径。

{
  "mcpServers": {
    "randomuser_proxy": {
      "command": "python",
      "args": ["C:/path/to/proxy.py"]
    }
  }
}
  • 'server name': 'randomuser_proxy' (可以自定义,Claude Desktop 中显示的服务器名称)
  • 'command': 'python' (启动命令,这里使用 python 解释器)
  • 'args': '["C:/path/to/proxy.py"]' (命令参数,指向 'proxy.py' 脚本的路径)

基本使用方法

  1. 启动 MCP 服务器: 打开终端,进入项目根目录,运行以下命令启动 HTTP MCP 服务器:

    python mcp_server.py

    服务器默认运行在 'http://localhost:8000'。

  2. 运行聊天机器人 (可选): 在另一个终端窗口中,运行以下命令启动聊天机器人:

    python chatbot.py

    你可以与机器人对话,尝试使用 "Get me a random user" 等指令来调用 MCP 工具。

  3. 集成到 Claude Desktop (可选):

    • 确保 MCP 服务器已运行。
    • 根据 "服务器配置" 部分的说明,修改 Claude Desktop 的配置文件 'claude_desktop_config.json',添加 'randomuser_proxy' 的配置。
    • 重启 Claude Desktop。
    • 在 Claude 中,你可以通过指令(例如 "Use get_random_user")来调用 MCP 工具。Claude 输入框中出现锤子图标 (🔨) 表示 MCP 功能已启用。

信息

分类

AI与计算