MCP客户端

一个模块化的Python客户端,用于连接MCP服务器,集成Anthropic Claude,并通过FastAPI提供查询和工具调用的API。

  • by Kiran1689
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 Kiran1689/mcp-proxy-server

使用说明

MCP客户端

一个模块化Python客户端,用于连接MCP服务器,与Anthropic Claude集成,并公开基于FastAPI的API,用于处理查询和工具调用。

特性

  • MCP客户端:通过stdio连接到MCP服务器(Node或Python),协商可用工具并管理工具调用。

  • Claude AI集成:使用Anthropic Claude生成自然语言响应,并决定何时调用工具。

  • 工具调用:处理Claude和外部工具之间的多轮推理,返回结构化响应(markdown、代码、图表数据)。

  • FastAPI服务器:为前端集成提供HTTP API终结点。

  • .env支持:从.env文件加载Anthropic API键和其他环境变量。

  • CORS支持:允许灵活的前端/后端开发。

安装

先决条件

  • Python 3.10+

  • MCP服务器——例如。, mcp节点 或兼容的Python或Node MCP服务器。

  • 人类API钥匙(用于克劳德)。

克隆Repo

git clone https://github.com/Kiran1689/mcp-proxy-server
cd mcp-proxy-server

安装Python依赖项

建议使用虚拟环境:

python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv sync

配置环境变量

创建一个 .env 项目根目录中的文件:

ANTHROPIC_API_KEY=your-anthropic-api-key-here   

用法

1.启动MCP服务器

遵循MCP服务器的说明(例如NodeJS或Python)。 节点示例:

cd /path/to/mcp-node
npm install
npm run start

2.运行FastAPI服务器

uvicorn client_server:app --reload

默认情况下,这将:

  • 连接到您的MCP服务器

  • 在以下位置显示端点http://localhost:8000

API终点

  • POST /query --发送用户查询,从Claude接收结构化响应(可以调用工具)。

  • GET /tools --列出可用的服务器工具。

  • GET /server-name --返回服务器名称标识符。

3.交互式本地客户端(CLI)

您可以直接运行交互式CLI进行实验:

python client.py

编码结构

  • client.py --实现MCPClient:连接到MCP服务器,与Claude交互,管理对话状态,处理工具调用,并构建响应。

  • client_server.py -启动FastAPI服务器,提供API端点,管理单个MCPClient实例。

  • pyproject.toml --Python打包和依赖关系。

自定义

  • 您可以在中更新Claude的系统提示 client.py 控制格式、图表标准或代码输出。

  • 从MCP服务器实时检测工具模式。

  • 根据需要扩展或替换工具调用逻辑。

故障排除

  • 检查 .env 存在并包含您的Anthropic密钥。

  • 确保服务器 路径/配置 在……里面 client.py 匹配您的MCP服务器。

  • 查看服务器/控制台日志,了解工具调用和Claude响应的调试信息。

许可证

麻省理工学院

欢迎投稿和投稿!

请随时提交拉取请求或问题。

内置于💙 靠近 基兰