使用说明

项目简介

本项目 'mcp-client-agent' 主要包含一个 MCP 客户端代理 ('mcp_client.py'),用于连接和使用 MCP 服务器提供的工具。仓库中同时包含了一个简单的示例 MCP 服务器 ('mcp_fake_server.py'),用于演示客户端代理的功能。

注意: 本仓库的重点是 MCP 客户端代理的实现,示例 MCP 服务器 ('mcp_fake_server.py') 仅用于演示和测试目的,功能较为基础,不适合用于生产环境。但它仍然是一个有效的 MCP 服务器实现,可以用于理解 MCP 服务器的基本概念和功能。

主要功能点

  • 示例 MCP 服务器 ('mcp_fake_server.py'):
    • 实现了基于 'FastMCP' 的简单 MCP 服务器。
    • 提供了几个简单的工具,例如 'reverse_text'(反转文本)、'calculator_sum'(计算总和)、'calculator_multiply'(计算乘积)、'count_words'(统计单词数)和 'count_characters'(统计字符数)。
    • 可以通过标准输入/输出来运行,并响应 MCP 客户端的请求。
  • MCP 客户端代理 ('mcp_client.py'):
    • 允许用户通过命令行界面 ('CLI') 与 MCP 服务器进行交互。
    • 可以加载包含 MCP 服务器配置的 JSON 文件。
    • 可以列出 MCP 服务器提供的所有工具。
    • 允许用户通过自然语言指令,使用连接的 MCP 服务器提供的工具完成任务 (通过 'FunctionAgent' 和 DSPy 框架实现)。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/shane-kercheval/mcp-client-agent.git
    cd mcp-client-agent
  2. 创建 '.env' 文件并配置 OpenAI API 密钥: 在项目根目录下创建 '.env' 文件,并添加你的 OpenAI API 密钥。

    OPENAI_API_KEY=你的OpenAI_API_密钥

    注意: 示例服务器和客户端默认使用 'openai/gpt-4o-mini' 模型,需要配置 OpenAI API 密钥才能正常使用。

  3. 构建项目: 运行 'make build' 命令构建项目环境。这将会安装项目所需的 Python 依赖。

    make build

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令和参数才能连接。本仓库提供了一个示例配置文件 'servers/mcp_fake_server_config.json',用于配置示例 MCP 服务器 ('mcp_fake_server.py')。

以下是 'servers/mcp_fake_server_config.json' 文件的内容和参数注释:

{
  "mcpServers": {
    "fake-server": {  // 服务器名称,可以自定义
      "command": "python", // 启动服务器的命令,这里使用 python 解释器
      "args": [          // 启动命令的参数列表
        "servers/mcp_fake_server.py" // 示例 MCP 服务器脚本的路径
      ]
    }
  }
}

重要提示:

  • 'command' 字段指定了启动 MCP 服务器的命令,通常是服务器程序的可执行文件或解释器。对于 Python 脚本,通常使用 'python' 或 'python3'。
  • 'args' 字段是一个字符串列表,包含了传递给 'command' 的参数。对于示例服务器 'mcp_fake_server.py',参数是脚本自身的路径。
  • MCP 客户端 (例如 'mcp_client.py') 需要读取这个配置文件,才能知道如何启动和连接到 MCP 服务器。 在运行 'mcp_client.py' 时,可以使用 '--config' 参数指定配置文件的路径。

基本使用方法

  1. 启动示例 MCP 服务器 (通过客户端间接启动):

    使用 'make chat' 命令可以同时启动示例 MCP 服务器和客户端,并进入聊天模式。'make chat' 命令会读取 'servers/mcp_fake_server_config.json' 配置文件,并根据配置启动 'mcp_fake_server.py' 示例服务器。

    make chat

    启动后,客户端会列出示例服务器提供的工具,并进入交互式聊天界面。你可以输入自然语言指令,客户端会使用示例服务器提供的工具来尝试完成你的请求。

  2. 与 MCP 客户端代理交互:

    在聊天界面中,你可以输入自然语言问题,例如:

    >> 反转文本 "hello world"

    客户端代理会分析你的问题,并尝试调用示例服务器提供的 'reverse_text' 工具来反转文本。

    或者,你可以尝试使用计算器工具:

    >> 计算 123 乘以 456 的结果

    客户端代理会调用 'calculator_multiply' 工具来计算乘积。

  3. 退出聊天:

    在聊天界面中输入 'quit' 可以退出客户端。

总结

本仓库提供了一个用于演示 MCP 客户端代理功能的示例 MCP 服务器。虽然示例服务器功能简单,但它展示了 MCP 服务器的基本结构和工具注册机制。你可以参考示例服务器的代码,了解如何使用 'FastMCP' 框架构建更复杂的 MCP 服务器。

信息

分类

开发者工具