使用说明
MCP与Claude Agent SDK的集成
该项目展示了 模型上下文协议(MCP) 使用FastMCP HTTP服务器和使用MCP工具和资源的Claude Agent SDK聊天机器人。
概述
mcpserver.py–使用FastMCP构建的MCP服务器,通过HTTP(可流式传输)公开工具、资源和提示。chatbot_agent_sdk.py–连接到此MCP服务器并让Claude使用其工具的聊天机器人(例如。add_numbers,read_mcp_resource)通过Claude Agent SDK。
项目结构
mcp-tutorial/
├── mcpserver.py # MCP server (tools, resources, prompts)
├── chatbot_agent_sdk.py # Claude Agent SDK chatbot using MCP
├── requirements.txt # Python dependencies
├── project_notes.txt # Optional; read via config://project-info
└── docs/ # Optional; .txt files exposed as file:// resources
需求
- Python 3.9+
- 依赖关系
requirements.txt(包括mcp对于服务器和claude-agent-sdk,langchain-mcp-adapters聊天机器人)
设置
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
如果MCP服务器无法运行,请安装MCP SDK:
pip install mcp
运行MCP服务器
启动服务器(默认情况下,端口8000上的可流式HTTP):
python mcpserver.py
服务器公开:
| 类型 | 名称/URI | 描述 |
|---|---|---|
| 工具 | add_numbers |
将两个整数相加。 |
| 资源 | system://status |
系统状态文本。 |
| 资源 | system://health |
系统健康文本。 |
| 资源 | config://project-info |
目录 project_notes.txt. |
| 资源 | file://{filename} |
阅读 .txt 文件来自 docs/ 目录(例如。 file://pricing.txt). |
| 提示 | review_code |
结构化代码审查提示(语言+代码)。 |
创建一个 docs/ 文件夹并添加 .txt 文件以将其公开为 file:// 资源。创建 project_notes.txt 在项目根中 config://project-info.
运行聊天机器人
- 在一个终端中启动MCP服务器:
python mcpserver.py - 在另一个终端中,运行聊天机器人:
python chatbot_agent_sdk.py
# Or with a custom MCP URL:
python chatbot_agent_sdk.py http://127.0.0.1:8000/
聊天机器人连接到MCP服务器,发现工具(包括 read_mcp_resource 用于资源)并运行REPL。键入信息并按Enter键;使用 quit 或 exit 停止。
调试日志记录:
export ANTHROPIC_API_KEY=*******************
CHATBOT_DEBUG=1 python chatbot_agent_sdk.py
配置
- MCP服务器URL –默认值:
http://127.0.0.1:8000/.通过将URL作为第一个参数传递给chatbot_agent_sdk.py. project_notes.txt–项目根目录中的可选文件;作为config://project-info资源。docs/–可选目录;仅.txt文件公开为file://资源(限制路径以防止目录遍历)。