项目简介

本项目是一个基于 Model Context Protocol (MCP) 的示例服务器,旨在演示如何构建一个为 LLM Agent 提供工具的 MCP 后端。该服务器提供了一系列工具,例如网页搜索、维基百科文章检索和获取当前时间,Agent 可以通过 MCP 协议调用这些工具来增强其能力。

主要功能点

  • 工具注册与管理: 服务器端集成了多个实用工具,包括:
    • 网页搜索 (Web Search): 使用 DuckDuckGo 搜索引擎进行网页搜索,返回搜索结果的标题、链接和摘要。
    • 维基百科查询 (Wikipedia Article): 检索并返回指定标题的维基百科文章内容(限制前2000字)。
    • 维基百科文章检查 (Check Wikipedia Articles): 检查是否存在与搜索词相关的维基百科文章,并返回匹配的文章标题列表。
    • 当前时间查询 (Current Time): 返回德国/柏林时区的当前日期和时间。
  • 基于 FastMCP 框架: 使用 'fastmcp' 库简化 MCP 服务器的开发,快速构建和部署工具服务。
  • SSE 传输协议: 默认使用 Server-Sent Events (SSE) 协议与 MCP 客户端进行通信。

安装步骤

  1. 克隆仓库: 首先克隆 GitHub 仓库到本地。
    git clone https://github.com/patsab/ModelContextProtocol-Agent-Example.git
    cd ModelContextProtocol-Agent-Example
  2. 安装依赖: 使用 Poetry 或 pip 安装项目依赖。
    # 使用 Poetry (推荐)
    poetry install
    
    # 或者使用 pip
    pip install -e .

服务器配置

MCP 服务器可以通过以下配置信息被 MCP 客户端连接和使用。客户端需要配置服务器的启动命令和地址,以便能够发现和调用服务器提供的工具。

{
  "server name": "MCP Example Server",
  "command": "python mcp_example/mcp_server.py",
  "transport": "sse",
  "address": "http://localhost:8000/sse",
  "description": "提供网页搜索、维基百科和时间查询工具的 MCP 服务器示例"
}
  • server name: 服务器的名称,可以自定义。
  • command: 启动 MCP 服务器的命令,这里指定执行 'mcp_example/mcp_server.py' 脚本。
  • transport: 服务器使用的传输协议,这里是 'sse' (Server-Sent Events)。
  • address: 服务器的 SSE 地址,客户端通过此地址与服务器建立连接。默认为 'http://localhost:8000/sse'。
  • description: 服务器的描述信息,可选。

基本使用方法

  1. 启动 MCP 服务器: 在终端中,导航到仓库根目录,并运行以下命令启动 MCP 服务器。

    python mcp_example/mcp_server.py

    服务器成功启动后,会输出 "Starting MCP server..." 信息。

  2. 运行 MCP Agent: 在另一个终端窗口中,配置好 OpenAI API 相关的环境变量 'OPENAI_ENDPOINT' 和 'OPENAI_API_KEY' 后,可以运行 Agent 客户端。

    OPENAI_ENDPOINT=<你的_openai_endpoint>
    OPENAI_API_KEY=<你的_openai_api_key>
    python -m mcp_example

    Agent 启动后,会连接到 MCP 服务器,并可以使用服务器提供的工具来回答用户提出的问题。在 Agent 的交互界面中,你可以输入德语问题进行测试。

信息

分类

网页与API