服务器间通信工具

MCP服务器间通过HTTP进行通信的工具,支持与多种LLM提供商(如OpenAI、AWS Bedrock)的集成。

  • by majidraza1228
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 majidraza1228/mcp-communication

使用说明

MCP服务器到服务器通信

演示两个MCP服务器之间通过HTTP的通信,服务器B连接到LLM(Mock、OpenAI或AWS Bedrock)。

建筑

┌─────────────┐       HTTP        ┌─────────────┐                ┌─────────────┐
│  MCP        │    (POST/GET)     │  MCP        │    API Call    │     LLM     │
│  Server A   │ ────────────────► │  Server B   │ ─────────────► │  Provider   │
│  (Messenger)│ ◄──────────────── │  (HTTP API) │ ◄───────────── │             │
└─────────────┘     Response      └─────────────┘    Response    └─────────────┘

快速开始

# Setup
git clone https://github.com/majidraza1228/mcp-communication.git
cd mcp-communication
python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env    # Default: AI_PROVIDER=mock (no API keys needed)
# Terminal 1 — Start Server B
.venv/bin/uvicorn http_server:app --host 0.0.0.0 --port 8000

# Terminal 2 — Run the proof-of-concept test
.venv/bin/python test_communication.py

文件

文件 描述
server_a.py MCP服务器A——通过HTTP向服务器B发送消息
server_b.py MCP服务器B——将AI提供者包装为MCP工具
http_server.py FastAPI HTTP API-接收请求,调用AI
ai_provider.py 人工智能提供者抽象(Mock、OpenAI、Bedrock)
models.py Pydantic请求/响应模型
cost_calculator.py 代币成本估算
test_communication.py 概念验证测试脚本

LLM提供程序配置

配置 AI_PROVIDER 在 .env:

提供者 值 需要
模拟(默认) mock 没有-不需要API密钥
OpenAI openai OPENAI_API_KEY
AWS基岩 bedrock AWS凭据(AWS_ACCESS_KEY_ID / AWS_PROFILE)

看 .env.示例 对于所有可用设置。

运输方式

两个MCP服务器都支持 标准 (默认)和 上海证券交易所 (流式HTTP):

# stdio (default)
.venv/bin/python server_a.py

# SSE — Server A on :8001, Server B on :8002
.venv/bin/python server_a.py sse
.venv/bin/python server_b.py sse

文档

许可证

麻省理工学院