Token导航 LogoToken导航TokenDH.com
MCP Edge logo
运维云端stdio官方级别未说明来源级核验

MCP Edge

MCP Server

一个支持渐进式披露的边缘MCP路由服务,通过网关实现节点发现、工具列表查询和工具调用转发。

工具数

3

提示词数

0

GitHub Stars

4

资源数

0
边缘计算Python云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sworddut

提供方

sworddut

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

MCP边缘路由器演示

中文说明

带有后端MCP节点(FastMCP)的边缘MCP路由器(Cloudflare Worker)的最小演示。 它支持渐进式披露:网关只公开节点发现和工具 列出,然后将工具调用转发到所选节点。

架构概述

MCP Edge Router - Progressive Disclosure Pattern

上图说明了MCP边缘路由器的多轮交互模式和渐进式披露机制,显示了LLM代理如何通过网关发现节点、查询工具和执行操作。

项目布局

  • edge-worker/ Cloudflare Worker MCP网关(基于流式HTTP的JSON-RPC)

- src/worker.js 网关入口点(JSON-RPC路由) - src/tool-handler.js 工具调度(list_nodes / list_node_tools / call_node_tool) - src/node-service.js 节点发现、缓存、节点调用 - src/mcp-client.js 上游JSON-RPC和超时处理 - src/redis.js 升级Redis包装器 - src/constants.js / src/helpers.js 共享常量和助手

  • nodes/ NodeA-D FastMCP服务器(HTTP /mcp)
  • mcp/edge_gateway.py Python网关(本地参考)
  • test.py 简单LLM代理(OpenAI SDK+MCP)
  • bench_cache.py 缓存基准脚本
  • start_all.ps1 启动NodeA–D+本地Worker

Code Architecture

先决条件

  • Python 3.10+
  • Node.js 18+
  • Python核心部署 requirements.txt
  • 牧马人(via npx 很好)

安装Python依赖项(推荐:单 uv env)

uv venv .venv
uv pip install -r requirements.txt --python .venv/bin/python
source .venv/bin/activate

如果你更喜欢conda,你仍然可以使用:

conda create -n llm-agent-env python=3.11
conda activate llm-agent-env
pip install -r requirements.txt

本地跑

1) 启动NodeA–D+Worker

macOS/Linux(单共享环境):

source .venv/bin/activate
python nodes/node_a/main.py
python nodes/node_b/main.py
python nodes/node_c/main.py
python nodes/node_d/main.py
cd edge-worker && npx wrangler dev --local

Windows PowerShell(现有脚本):

powershell -ExecutionPolicy Bypass -File .\start_all.ps1

注: start_all.ps1 用途 conda run -n llm-agent-env ...。如果不使用conda,请手动启动每个节点。

2) 验证MCP网关(JSON-RPC)

# list tools (gateway tools)
curl -s -X POST http://localhost:8787/mcp \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":"1","method":"tools/list","params":{}}'

# list nodes (progressive disclosure)
curl -s -X POST http://localhost:8787/mcp \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":"2","method":"tools/call","params":{"name":"list_nodes","arguments":{}}}'

# list node tools
curl -s -X POST http://localhost:8787/mcp \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":"3","method":"tools/call","params":{"name":"list_node_tools","arguments":{"node_id":"localhost-8001-mcp"}}}'

# call node tool
curl -s -X POST http://localhost:8787/mcp \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":"4","method":"tools/call","params":{"name":"call_node_tool","arguments":{"node_id":"localhost-8001-mcp","tool_name":"math_add","arguments":{"a":2,"b":3}}}}'

代理测试(OpenAI SDK+OpenRouter兼容)

  1. 创建 .env 在repo根目录(参见 .env.example):
OPENROUTER_API_KEY=your_key
OPENROUTER_MODEL=gemini-3-flash-preview
OPENROUTER_BASE_URL=https://api.chataiapi.com/v1
MCP_URL=http://localhost:8787/mcp
  1. 运行:
python .\test.py

有关可扩展的MCP服务器配置,请参阅 mcp/mcp_config.example.json (包括远程MCP示例)。

Cloudflare工作人员

edge-worker/:

npx wrangler dev --local

在中配置MCP节点URL edge-worker/wrangler.toml:

[vars]
MCP_NODES = '["http://localhost:8001/mcp","http://localhost:8002/mcp","http://localhost:8003/mcp","http://localhost:8004/mcp"]'
NODE_DISCOVERY_CACHE_TTL = "10"
NODE_TOOLS_CACHE_TTL = "30"
UPSTREAM_TIMEOUT_MS = "5000"

可选:启用Uptash Redis缓存(用于 wrangler dev --local):

cd edge-worker
cp .dev.vars.example .dev.vars
# fill real values:
# UPSTASH_REDIS_REST_URL=...
# UPSTASH_REDIS_REST_TOKEN=...

笔记:

  • 如果没有Uptash变量,网关将回退到无Redis模式。
  • edge-worker/.dev.vars 被git忽略。
  • 对于云部署,请使用 wrangler secret put ....

缓存基准测试

从repo根目录:

source .venv/bin/activate
python bench_cache.py --mcp-url http://localhost:8787/mcp --rounds 20

该脚本打印冷延迟与热延迟统计数据(平均值/p95/min/max) list_nodeslist_node_tools,加上加速。

备注

  • 网关希望MCP节点接受 application/json, text/event-stream.
  • 节点描述来自 FastMCP instructions (见每个节点)。
  • 节点ID来源于URL(重启后稳定)。

目录标签

目录标签

边缘计算Python云端部署本地部署路由服务渐进式披露JSON-RPCCloudflareWorker

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP