这是一个展示如何构建基于Model Context Protocol (MCP) 服务器的示例项目。它使用 FastMCP 库来简化 MCP 服务器的实现。
项目简介
该仓库是为 MCP 代理工作坊准备的代码,包含多个示例,其中最核心的是演示如何使用 FastMCP 搭建一个 MCP 服务器,并将其提供的工具集成到 LLM 代理应用中。
主要功能点
- 工具托管与执行: 示例服务器能够注册并托管多种工具(如日期计算、数字相加、商品信息查询、退货政策查询等)。LLM 客户端可以通过标准协议调用这些工具。
- 支持标准协议: 服务器示例代码默认支持 Stdio 传输协议,也提供了 SSE 协议的注释示例,符合 MCP 协议的传输要求。
- 与LLM集成示例: 仓库提供了客户端代码,演示如何连接 MCP 服务器,获取工具列表,并将工具信息提供给 LLM(如 Google Gemini),然后根据 LLM 的决策调用相应的服务器工具。
安装步骤
- 克隆仓库: 将 GitHub 仓库克隆到本地。
git clone https://github.com/Arvind-Narayan/MCP-Agents-Workshop.git cd MCP-Agents-Workshop - 设置虚拟环境: 创建并激活 Python 虚拟环境。
python3 -m venv .venv # 对于 macOS/Linux 用户 source .venv/bin/activate # 对于 Windows 用户 .venv\Scripts\activate - 安装依赖: 安装项目所需的 Python 包,包括 'mcp' 和其他工具库。
pip install -r requirements.txt - 配置API Key (可选,仅用于LLM客户端示例): 如果需要运行LLM客户端示例 ('1_MCP/llm_client.py'),请在 '.env' 文件中配置您的 Google API Key。
# 在项目根目录创建或编辑 .env 文件 GOOGLE_API_KEY="YOUR_API_KEY"
服务器配置
MCP 客户端连接 MCP 服务器时,需要提供服务器的启动命令和参数。对于该仓库中的 '1_MCP/server.py' 示例服务器,其配置信息如下(这是客户端需要使用的信息,不是您需要编辑的文件):
{ "name": "Workshop Demo", // 服务器名称,在服务器代码中定义 "command": "python", // 启动服务器的可执行命令 "args": ["1_MCP/server.py"] // 传递给命令的参数,指向服务器脚本文件 }
注意:如果运行 '3_Langraph_MCP/mcp_server.py' 示例,'name' 将是 "Langgraph_MCP_Server",'args' 将是 '["3_Langraph_MCP/mcp_server.py"]'。
基本使用方法
- 启动MCP服务器: 在终端中运行服务器脚本。服务器将通过 Stdio 协议监听客户端连接。
服务器启动后,会等待客户端连接。请保持此终端窗口开启。# 确保您已激活虚拟环境 python 1_MCP/server.py # 或者运行另一个服务器示例 # python 3_Langraph_MCP/mcp_server.py - 启动MCP客户端: 在另一个终端窗口中,运行示例客户端脚本。客户端将启动服务器进程(如果尚未运行)并与之通信。
# 确保在另一个终端中也激活了相同的虚拟环境 python 1_MCP/simple_client.py # 或者运行 LLM 客户端示例(需要配置 GOOGLE_API_KEY) # python 1_MCP/llm_client.py # 或者运行 Langraph 代理客户端示例(需要配置 GOOGLE_API_KEY) # python 3_Langraph_MCP/mcp_client.py
客户端将连接到服务器,执行获取工具列表、调用工具等操作,并在终端中打印结果。
通过运行这些示例,您可以了解 MCP 服务器的基本工作原理以及客户端如何与其交互来获取和利用工具。
信息
分类
AI与计算