使用说明
项目简介
AI Cookbook 仓库的 MCP (Model Context Protocol) 演示部分,展示了如何创建和使用 MCP 将外部数据源和服务集成到 LLM 应用中。本演示提供了 TypeScript 和 Python 两种 MCP 服务器的实现,并演示了如何通过 STDIO 和 SSE 协议与 LangGraph Agent 服务器集成。
主要功能点
- 资源管理: 虽然演示中没有明确的资源定义和管理,但 MCP 服务器的核心概念是管理资源,示例中的 "calendar" 和 "booking" 服务可以被视为对外部数据或服务的抽象资源。
- 工具注册与执行: 演示包含了 'create_event', 'list_events', 'make_reservation', 'get_user_reservations', 'get_hotels' 等工具的注册和执行示例,展示了 MCP 服务器如何暴露功能供 LLM 调用。
- Prompt 模板: 虽然演示中没有明确的 Prompt 模板定义,但 MCP 服务器的设计理念是为了支持 Prompt 模板的渲染,以便 LLM 客户端可以定制交互模式。LangGraph 本身也支持 Prompt 模板,结合 MCP 可以实现更灵活的 Prompt 管理。
- JSON-RPC 通信: MCP 服务器通过 JSON-RPC 协议与客户端通信,虽然代码中没有直接展示 JSON-RPC 细节,但 MCP 协议本身基于 JSON-RPC,且 SDK 内部处理了协议细节。
- 会话管理和能力声明: MCP 服务器具备会话管理能力(通过 'ClientSession'),并在初始化时声明自身能力(通过 'FastMCP' 或 'McpServer' 的工具注册)。
- 多种传输协议: 演示支持 STDIO 和 SSE 两种传输协议,展示了 MCP 服务器的灵活性。
- LangGraph 集成: 演示了如何将 MCP 服务器与 LangGraph Agent 服务器集成,构建更强大的 AI 应用。
安装步骤
- 克隆仓库:
git clone https://github.com/akveo/ai-cookbook - 进入 agent 目录:
cd ai-cookbook/agent - 安装 agent 服务器依赖:
poetry install - 进入 mcp-servers/booking-mcp 目录:
cd ../mcp-servers/booking-mcp - 安装 booking-mcp 服务器依赖:
bun install - 返回 mcp-servers 目录:
cd .. - 进入 mcp-servers/calendar-mcp 目录:
cd calendar-mcp - 安装 calendar-mcp 服务器依赖:
uv sync - 返回项目根目录:
cd ../../ - 在 '/agent' 目录下创建 '.env' 文件,并设置 'OPENAI_API_KEY' (参考 '.env.example')
服务器配置
- Booking MCP Server (SSE 协议):
{ "server name": "booking", "transport protocol": "sse", "url": "http://localhost:3001/sse" } - Calendar MCP Server (SSE 协议):
{ "server name": "calendar", "transport protocol": "sse", "url": "http://localhost:3002/sse" } - Booking MCP Server (STDIO 协议):
注意: '/path/to/ai-cookbook/mcp-servers/booking-mcp/src/stdio-server.ts' 需要替换为你的本地仓库中 'stdio-server.ts' 文件的绝对路径。{ "server name": "booking", "transport protocol": "stdio", "command": "npx", "args": ["tsx", "/path/to/ai-cookbook/mcp-servers/booking-mcp/src/stdio-server.ts"] } - Calendar MCP Server (STDIO 协议):
注意: '/path/to/ai-cookbook/mcp-servers/calendar-mcp/calendar-mcp-server.py' 需要替换为你的本地仓库中 'calendar-mcp-server.py' 文件的绝对路径。{ "server name": "calendar", "transport protocol": "stdio", "command": "uvx", "args": ["--with", "mcp", "python", "/path/to/ai-cookbook/mcp-servers/calendar-mcp/calendar-mcp-server.py"] }
基本使用方法
- 启动 Booking MCP 服务器 (SSE 协议):
或 (STDIO 协议): 无需单独启动,Agent服务器会自动启动 STDIO MCP 服务器。cd mcp-servers/booking-mcp && npm start - 启动 Calendar MCP 服务器 (SSE 协议):
或 (STDIO 协议): 无需单独启动,Agent服务器会自动启动 STDIO MCP 服务器。cd mcp-servers/calendar-mcp && uv run python calendar-mcp-server.py sse - 启动 Agent 服务器 (带 MCP 功能):
cd agent && poetry run server --mcp - 启动 Next.js 客户端:
cd client && npm run dev - 在浏览器中访问 http://localhost:3000,开始与 AI Agent 交互,Agent 将能够调用 MCP 服务器提供的工具。
信息
分类
开发者工具