使用说明
项目简介
本项目 'Model-Context-Protocol' 提供了一个基于 Model Context Protocol (MCP) 的服务器端实现示例,使用了 'fastmcp' 框架。它展示了如何定义和托管资源 (Resources)、注册和执行工具 (Tools)、以及定义和渲染 Prompt 模板 (Prompts),从而构建一个可以为大型语言模型 (LLM) 应用提供上下文和功能的后端服务。
主要功能点
- 资源 (Resources) 管理: 通过 HTTP SSE 提供资源访问,例如示例中定义的 'resource://hello' 和 'resource://food/{item}',允许客户端获取预定义的数据。
- 工具 (Tools) 注册与执行: 允许注册 Python 函数作为工具,并通过 MCP 协议供 LLM 客户端调用。示例中包括 'add', 'multiply', 'search_docs' 等工具,展示了如何扩展 LLM 的能力。
- Prompt 模板 (Prompts) 定义与渲染: 支持定义可复用的 Prompt 模板,例如 'friendly_greeting',可以根据客户端提供的参数动态生成 Prompt 消息,定制 LLM 的交互行为。
- SSE 传输协议: 使用 Server-Sent Events (SSE) 作为默认的传输协议,实现服务器与客户端之间的实时通信。
- 客户端示例: 提供了多个 Python 客户端示例 ('client_resource.py', 'client_resource_langgraph.py', 'host_and_client.py'),演示了如何连接 MCP 服务器、获取资源列表、读取资源内容、调用工具和获取 Prompt。
- 集成 LangChain 和 LangGraph: 展示了如何将 MCP 服务器与 LangChain 和 LangGraph 等 LLM 应用框架集成,实现更复杂的 Agent 应用。
- FastAPI Host Client 应用: 'app/host_client/host_and_client.py' 提供了一个基于 FastAPI 的 Host Client 应用,允许用户通过 Web 界面注册 MCP 服务器并与 LLM 交互。
安装步骤
-
克隆仓库:
git clone https://github.com/Coding-Crashkurse/Model-Context-Protocol.git cd Model-Context-Protocol -
创建并激活虚拟环境 (推荐):
python -m venv venv source venv/bin/activate # 或 venv\Scripts\activate for Windows -
安装依赖:
pip install -r requirements.txt -
配置 OpenAI API 密钥 (如果需要): 如果需要使用 'search_docs' 工具或 'gpt-4o-mini' 模型,请确保已配置 OpenAI API 密钥。可以通过设置环境变量 'OPENAI_API_KEY' 来完成。
服务器配置
以下 JSON 配置信息可用于 MCP 客户端连接到 'server.py' 或 'app/server/app.py' 启动的 MCP 服务器。
{ "my_mcp_server": { "transport": "sse", "url": "http://127.0.0.1:3000/sse" } }
配置参数说明:
- 'my_mcp_server': 服务器名称,客户端用于标识和引用该服务器。可以自定义。
- 'transport': 传输协议,这里设置为 'sse' (Server-Sent Events)。
- 'url': MCP 服务器的 SSE 端点 URL。默认情况下,'server.py' 和 'app/server/app.py' 启动的服务器监听 'http://127.0.0.1:3000/sse'。
MCP 服务器启动命令:
- 运行 'server.py' 示例服务器:
python server.py - 运行 'app/server/app.py' 示例服务器:
这两个命令都会启动一个 MCP 服务器,监听在 'http://127.0.0.1:3000/sse',并提供预定义的资源、工具和 Prompt。python app/server/app.py
基本使用方法
-
启动 MCP 服务器: 根据上述 "服务器配置" 中的 "MCP 服务器启动命令" 运行 'server.py' 或 'app/server/app.py'。
-
运行客户端示例: 根据需要运行仓库中提供的客户端示例,例如 'client_resource.py' 或 'host_and_client.py'。
-
运行 'client_resource.py' 示例,测试资源和 Prompt 功能:
python client_resource.py -
运行 'host_and_client.py' 示例,测试工具调用和 LangGraph 集成:
python host_and_client.py -
运行 'client_resource_langgraph.py' 示例,测试资源列表和读取功能:
python client_resource_langgraph.py
-
-
使用 FastAPI Host Client (可选):
-
进入 'app/host_client' 目录:
cd app/host_client -
安装 'app/host_client' 依赖:
pip install -r requirements.txt -
启动 FastAPI 应用:
uvicorn app.host_and_client:app --reload -
打开浏览器访问 'http://127.0.0.1:8000',即可通过 Web 界面注册 MCP 服务器并与 LLM 交互。
-
通过以上步骤,您可以快速体验和学习如何使用该仓库提供的 MCP 服务器示例,并基于此构建自己的 MCP 应用。
信息
分类
AI与计算