模型上下文协议桥接工具

MCP Bridge Pro是一个端到端的模型上下文协议示例,包含Python MCP服务器和TypeScript MCP客户端,用于构建和测试MCP服务器和客户端,支持通过MCP检查器进行本地运行。

  • by Hezekiahpilli
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Hezekiahpilli/mcp-bridge-pro

使用说明

MCP Bridge Pro

端到端模型上下文协议(MCP)示例包括:

  • Python MCP服务器(python_server):显示示例资源、工具和提示。
  • TypeScript MCP客户端(ts_client):通过STDIO连接到服务器并调用工具。

此仓库显示了一个干净、最小的模式,用于在本地构建和测试MCP服务器和客户端,包括使用MCP检查器运行。


项目结构

  • python_server/:Python MCP服务器(FastMCP)与 uv.
  • ts_client/:使用Node/TypeScript客户端 @modelcontextprotocol/sdk.
  • tools/mcp.json:MCP工具的实用程序配置。

先决条件

  • Python 3.10+
  • Node.js 18+
  • uv (建议用于Python打包和virtualenvs)。安装:https://github.com/astral-sh/uv

Python MCP服务器

地点: python_server/

设置

uv venv
source .venv/bin/activate || source .venv/Scripts/activate
uv pip install -e .
cp .env.example .env || true

如果你没有 .env.example,您可以创建 .env 根据需要。服务器支持以下环境变量:

  • ALLOWED_ROOT (默认值: .):文件相关工具/资源用于防止逃逸到其他目录的文件系统根。

运行(STDIO)

uv run python server.py

使用MCP检查器运行(从repo根目录)

npx -y @modelcontextprotocol/inspector uv --directory ./python_server run python server.py

服务器提供什么

资源:

  • config://about:描述服务器和配置的根目录
  • file://{relpath}:读取内相关文件的文本内容 ALLOWED_ROOT

工具:

  • echo(text: str):回显文本
  • list_files(glob: str = "**/*.md"):列出以下文件 ALLOWED_ROOT 匹配地球仪
  • read_text(path: str):读取相对于以下内容的小型UTF-8文本文件 ALLOWED_ROOT
  • calc(expr: str):计算简单的算术表达式(数字和+-*/())。仅)

提示:

  • code_review(goal: str, style: str = "concise")

TypeScript MCP客户端

地点: ts_client/

安装

cd ts_client
npm install

配置用于启动服务器的命令

默认情况下,客户端使用环境变量来确定如何通过STDIO启动服务器:

  • MCP_CMD (默认值: python)
  • MCP_ARGS (默认值: C:/mcp-bridge-pro/python_server/server.py 在本例中为Windows)

您可以在运行客户端时覆盖这些内容,例如:

# macOS/Linux example
MCP_CMD=python MCP_ARGS="python_server/server.py" npm run dev

# Windows PowerShell example
$env:MCP_CMD="python"; $env:MCP_ARGS="C:/mcp-bridge-pro/python_server/server.py"; npm run dev

运行(开发)

npm run dev

这将:

  1. 通过STDIO传输生成Python服务器。
  2. 列出可用工具。
  3. 呼叫 echo 和 calc 并打印结果。

构建并运行(已编译)

npm run build
npm start

常见工作流

启动服务器并使用Inspector进行测试

# From repo root
npx -y @modelcontextprotocol/inspector uv --directory ./python_server run python server.py

在本地服务器上运行客户端

cd ts_client
MCP_CMD=python MCP_ARGS="../python_server/server.py" npm run dev

在Windows PowerShell上:

cd ts_client
$env:MCP_CMD="python"; $env:MCP_ARGS="..\\python_server\\server.py"; npm run dev

故障排除

  • 如果客户端无法生成服务器,请验证 MCP_CMD 和 MCP_ARGS 指向有效的Python和脚本路径。
  • 如果文件工具失败,请确认 ALLOWED_ROOT 被适当地设置,并且路径在该根内。
  • 如果 uv 找不到,请安装它并重新运行Python服务器的安装步骤。

许可证

麻省理工学院