使用说明

项目简介

本项目是一个基于 Python FastMCP 框架实现的 MCP 服务器示例,旨在演示如何快速构建一个提供工具服务的 MCP 后端。该服务器目前提供了一个用于检索文档的功能,可以根据用户查询和指定的框架,搜索相关文档内容。

主要功能点

  • 工具注册与调用: 通过 'FastMCP' 框架轻松注册 Python 函数为 MCP 工具,并通过 JSON-RPC 协议对外提供服务。
  • 文档检索工具: 内置 'get_docs' 工具,可以搜索指定框架(如 crewai, llamaindex, smolagents)的文档,并返回检索结果。
  • 标准MCP服务器实现: 遵循 MCP 协议,能够与任何兼容 MCP 协议的客户端进行通信。
  • Stdio 传输协议: 使用 Stdio 作为默认传输协议,方便本地开发和调试。

安装步骤

  1. 安装 Python 依赖: 确保已安装 Python 3.8 或更高版本。在项目根目录下,打开终端并执行以下命令安装所需的 Python 库:

    pip install fastmcp duckduckgo_search beautifulsoup4 requests
  2. 克隆仓库: 将 'mcp-agent' 仓库克隆到本地。

服务器配置

MCP 服务器需要配置启动命令和参数,以便 MCP 客户端能够正确连接和调用服务。以下是针对 'mcp-agent' 示例服务器的配置信息(JSON 格式):

{
  "server_name": "docs-server",
  "command": "uv",
  "args": [
    "--directory",
    "path/to/mcp-agent",  // 请替换为 mcp-agent 仓库在您本地的实际路径
    "run",
    "main.py"
  ]
}

配置参数说明:

  • 'server_name': 服务器名称,可以自定义,用于在客户端识别不同的 MCP 服务器。例如 "docs-server"。
  • 'command': 启动服务器的命令。这里使用 'uv',你需要确保你的环境中已安装 'uv' (可以使用 'pip install uv' 安装)。'uv' 是一个更快的 pip 和 venv 替代品,这里用于运行 Python 脚本。你也可以根据你的环境使用 'python' 或 'python3' 命令。
  • 'args': 传递给启动命令的参数列表。
    • '--directory': 指定工作目录为 'mcp-agent' 仓库的根目录,请将 'path/to/mcp-agent' 替换为实际路径。
    • 'run main.py': 使用 'uv run' 命令运行 'main.py' 文件,即 MCP 服务器的入口文件。

注意: 请务必将 '"path/to/mcp-agent"' 替换为您本地 'mcp-agent' 仓库的绝对路径。

基本使用方法

  1. 启动 MCP 服务器: 在配置好 MCP 客户端后,客户端会根据您提供的服务器配置信息自动启动 'mcp-agent' 示例服务器。
  2. 客户端调用工具: 客户端可以使用注册的工具,例如 'get_docs' 工具。'get_docs' 工具接受两个参数:'query' (搜索关键词) 和 'framework' (要搜索的框架名称,如 "crewai", "llamaindex", "smolagents")。客户端可以通过 MCP 协议发送 JSON-RPC 请求来调用这些工具。

示例 (客户端请求调用 'get_docs' 工具): 以下是一个简化的客户端请求示例,展示如何调用 'get_docs' 工具 (实际客户端交互会更复杂,通常由 LLM 或 Agent 框架自动处理):

{
  "jsonrpc": "2.0",
  "method": "call_tool",
  "params": {
    "tool_name": "get_docs",
    "tool_args": {
      "query": "如何使用 Agent",
      "framework": "crewai"
    }
  },
  "id": 1
}

服务器收到请求后,会执行 'get_docs' 函数,搜索 crewai 文档中关于 "如何使用 Agent" 的内容,并将结果以 JSON-RPC 响应的形式返回给客户端。

查看 'my_agent.py' 了解客户端如何使用 MCP 服务器提供的工具。 'my_agent.py' 文件展示了如何使用 'smolagents' 框架作为 MCP 客户端,连接并使用 'mcp-agent' 示例服务器提供的工具。您可以参考 'my_agent.py' 中的代码来理解如何配置和使用 MCP 客户端。

信息

分类

开发者工具