项目简介
本项目是一个基于 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 客户端进行通信。
安装步骤
- 克隆仓库: 首先克隆 GitHub 仓库到本地。
git clone https://github.com/patsab/ModelContextProtocol-Agent-Example.git cd ModelContextProtocol-Agent-Example - 安装依赖: 使用 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: 服务器的描述信息,可选。
基本使用方法
-
启动 MCP 服务器: 在终端中,导航到仓库根目录,并运行以下命令启动 MCP 服务器。
python mcp_example/mcp_server.py服务器成功启动后,会输出 "Starting MCP server..." 信息。
-
运行 MCP Agent: 在另一个终端窗口中,配置好 OpenAI API 相关的环境变量 'OPENAI_ENDPOINT' 和 'OPENAI_API_KEY' 后,可以运行 Agent 客户端。
OPENAI_ENDPOINT=<你的_openai_endpoint> OPENAI_API_KEY=<你的_openai_api_key> python -m mcp_exampleAgent 启动后,会连接到 MCP 服务器,并可以使用服务器提供的工具来回答用户提出的问题。在 Agent 的交互界面中,你可以输入德语问题进行测试。
信息
分类
网页与API