MCP集成Claude代理SDK

一个演示如何使用Model Context Protocol (MCP)与FastMCP HTTP服务器和Claude Agent SDK聊天机器人交互的项目。

  • by rajkrrsingh
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 rajkrrsingh/ClaudeSDKWithMCP

使用说明

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.

运行聊天机器人

  1. 在一个终端中启动MCP服务器: python mcpserver.py
  2. 在另一个终端中,运行聊天机器人:
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:// 资源(限制路径以防止目录遍历)。