Polybridge Mcp
  ](https://nodejs.org/)    ](https://docker.com/)  ](<>) 
这里有一个独特之处:没有现有的项目同时将MCP中心与n8n作为骨干编排引擎(而不仅仅是目标)、创意桥梁(Blender)、使无形可见的教学透明层以及与LLM无关的架构与即用型“食谱”系统相结合。
现有的MCP网关(Bifrost、ContextForge、MetaMCP),但它们都没有同时结合:
- n8n作为编排骨干(而不仅仅是目标)
- Blender 3D通过原生WebSocket
- PTL(教学透明层):每个工具调用都以可读的英语记录,分阶段进行
- 单个仓库中有4个LLM适配器(Claude、OpenAI、Gemini、Ollama)
- 可通过CLI激活的配方系统
- 专为教学而设计的架构
一台MCP服务器。任何法学硕士。每一个工具。
polybridge-mcp 是一个基于 模型上下文协议.通过单个自描述服务器将Claude、GPT、Gemini或任何本地LLM连接到n8n工作流、Blender 3D、Notion、您的文件系统等。
它的设计有一个大多数生产网关忽略的目标: 使协议可见且易于理解,这样学生、教师和初级开发人员就可以阅读代码,掌握概念,并在此基础上进行构建。
由Fabien Conéjéro(FC84)于2026年4月在麻省理工学院许可下创建。
目录
- n8n电桥 - 搅拌机桥 - Notion桥 - 文件系统网桥
这到底是什么?
让我们从头开始。没有假设先验知识。
问题
想象一下,你正在使用克劳德(或任何其他人工智能助手)。你想说:
“在Blender中创建一个3D城堡,然后在Notion中记录下来。”
克劳德非常有能力理解这一指示。但它没有手。它无法打开Blender。它无法键入Notion。它位于聊天窗口中,只能生成文本。
这就是隔离问题。 大型语言模型在推理方面表现出色,但与周围的实际工具完全脱节。
解决方案:MCP
Anthropic(克劳德背后的公司)发明了一种名为 模型上下文协议(MCP)。把它想象成一个带通用插座的电源板。
Without MCP :
Claude ------??------ Blender (no connection)
Claude ------??------ n8n (no connection)
Claude ------??------ Notion (no connection)
With MCP :
Claude ---[MCP]--- polybridge-mcp ---[bridge]--- Blender
---[bridge]--- n8n
---[bridge]--- Notion
---[bridge]--- Filesystempolybridge-mcp 是 中间的轮毂它对任何LLM讲MCP协议,并管理对每个工具的实际连接。
三部分连接
每次互动都有三个参与者:
[LLM] [polybridge-mcp] [Tool]
Example 1 : "Create a castle in Blender"
Claude polybridge-mcp Blender
Example 2 : "Send me a text and open Spotify"
Claude polybridge-mcp n8n workflow
Example 3 : "Create a project page in Notion"
Claude polybridge-mcp Notion为什么会有这种情况?
现在已经有了优秀的MCP网关(Bifrost、ContextForge、MetaMCP)。它们功能强大,可用于生产。但他们解决了一个 企业问题 :规模、安全、治理。
polybridge-mcp 解决了一个不同的问题: 理解.
这是第一个明确设计为学习平台的MCP中心。每个文件都有大量注释。每个设计选择都有解释。这 教学透明层 (PTL)用简单的英语记录每个动作的每一步,这样你就可以实时查看协议的工作情况。
体系结构概述
polybridge-mcp
┌─────────────────────────┐
│ │
LLMs │ MCP Server (stdio) │
───── │ ┌─────────────────┐ │
Claude ──────►│ │ Tool Registry │ │
GPT-4 ──────►│ │ Request Router │ │ Bridges
Gemini ──────►│ │ PTL Logger │ │ ───────
Ollama ──────►│ └────────┬────────┘ │ n8n REST API
│ │ ├──────────────►
│ Bridge │ Manager │ Blender WebSocket
│ ┌────────▼────────┐ ├──────────────►
│ │ n8n Bridge │ │ Notion HTTP API
│ │ Blender Bridge │ ├──────────────►
│ │ Notion Bridge │ │ Filesystem Node.js fs
│ │ FS Bridge │ ├──────────────►
│ └─────────────────┘ │
│ │
│ Recipe Engine │
│ (pre-built workflows) │
└─────────────────────────┘关键设计决策:
- n8n是编排骨干 -复杂的多步自动化被发送到n8n执行,而不是内联处理。这为您提供了一个免费的可视化工作流编辑器。
- 桥接器可热插拔 -您可以通过将一个TypeScript文件拖放到以下位置来添加一个新的桥接器(比如Slack桥接器)
src/bridges/而无需重新启动服务器。
- 法学硕士不可知论 -服务器不在乎哪个LLM在调用它。任何兼容MCP的客户端都可以工作,并且包含的客户端适配器允许您从任何LLM提供程序以编程方式驱动它。
- 教学透明层 -每次工具调用都会生成一个人类可读的解释。学生可以准确地观察每一步发生的事情。
特性
核心能力:
- 通用MCP服务器与Claude Desktop、Claude Code、Cursor、Windsurf和任何MCP客户端兼容
- 四个一级网桥:n8n、Blender 3D、Notion和本地文件系统
- n8n作为工作流执行引擎(触发现有工作流或通过自然语言生成新工作流)
- 热插拔网桥架构(添加网桥而不重新启动)
- LLM不可知客户端库(Claude、OpenAI、Gemini、Ollama)
是什么让它与众不同:
- 教学透明层(PTL) :每个MCP调用都会发出一个人类可读的分步日志
- 配方体系 :您可以通过一个命令激活预构建的工作流包(例如。,
polybridge recipe run blender-to-notion) - 工具组成 :在单个LLM指令中跨桥链接工具
- 自我记录工具 :每个网桥在启动时自动生成其使用文档
- 零配置Docker :一个
docker-compose up一切都在运转
具体教学特点:
- 每个源文件都包含对其在体系结构中作用的解释
- 内联注释解释“为什么”,而不仅仅是“什么”
- PTL输出可以通过管道传输到日志文件或教室投影仪
- 包含的示例涵盖了初级、中级和高级用例
先决条件
在开始之前,您需要安装以下工具:
| 工具 | 版本 | 用途 | 安装 |
|---|---|---|---|
| Node.js | >=20.0 | 运行TypeScript服务器 | |
| npm | >=10.0 | 管理包 | 附带Node.js |
| Docker | >=24 | 本地运行n8n | |
| Git | 任意 | 克隆此仓库 | git-scm.com |
| 搅拌机 | >=3.0 | 3D工具(可选) | blender.org |
不需要:
- Notion帐户(可选,仅适用于Notion网桥)
- 任何LLM API密钥(可选,仅当使用内置客户端适配器时)
快速启动
1-克隆存储库
git clone https://github.com/madjeek-web/polybridge-mcp.git
cd polybridge-mcp2-安装依赖项
npm install3-复制和编辑配置文件
cp polybridge-mcp.config.example.json polybridge-mcp.config.json打开 polybridge-mcp.config.json 并填写您需要的值。每个字段都有一个注释,解释它的作用。
4-启动服务器
开发模式 (显示终端中的所有PTL日志):
npm run dev生产模式 (编译JavaScript,启动速度更快):
npm run build
npm startDocker模式 (在容器中运行所有内容,包括n8n):
docker-compose up -d5-连接你的法学硕士
适用于克劳德桌面,将此添加到您的 claude_desktop_config.json :
{
"mcpServers": {
"polybridge": {
"command": "node",
"args": ["/absolute/path/to/polybridge-mcp/dist/server/index.js"],
"env": {
"POLYBRIDGE_CONFIG": "/absolute/path/to/polybridge-mcp.config.json"
}
}
}
}克劳德代码 :
claude mcp add polybridge node /absolute/path/to/polybridge-mcp/dist/server/index.js适用于光标或风帆,使用各自的MCP配置文件,遵循与Claude Desktop相同的模式。
配置
主配置文件是 polybridge-mcp.config.json。以下是完整的参考文献:
{
"server": {
"name": "polybridge-mcp",
"version": "1.0.0",
"pedagogy": {
"enabled": true,
"verbosity": "normal",
"logFile": null
}
},
"bridges": {
"n8n": {
"enabled": true,
"baseUrl": "http://localhost:5678",
"apiKey": "YOUR_N8N_API_KEY"
},
"blender": {
"enabled": false,
"wsPort": 9877
},
"notion": {
"enabled": false,
"apiKey": "YOUR_NOTION_INTEGRATION_KEY"
},
"filesystem": {
"enabled": true,
"allowedPaths": ["./workspace"],
"allowWrite": true,
"allowDelete": false
}
}
}教学冗长程度:
| 级别 | 您所看到的 |
|---|---|
silent | 无(生产用途) |
normal | 每次工具调用一行 |
verbose | 完整的分步分解 |
debug | 协议级消息 |
桥梁
n8n电桥
n8n是一个开源的工作流自动化平台。 polybridge-mcp 将n8n视为 编排骨干 :当LLM要求多步骤自动化(发送文本、打开应用程序、触发一系列操作)时,该请求会被转换为n8n工作流并在那里执行。
LLM可以通过这座桥做什么:
List all existing n8n workflows
Execute a workflow by name or ID
Create a new workflow from a description
Read the execution history of a workflow
Enable or disable a workflow交互示例:
User : "Send me a Telegram message every morning at 9am with today's weather"
Claude calls polybridge-mcp tool : n8n_create_workflow
description : "daily weather telegram notification"
polybridge-mcp generates an n8n workflow JSON with :
- Schedule trigger (9am daily)
- OpenWeatherMap HTTP request
- Telegram node
The workflow is pushed to n8n via REST API and activated automatically.设置:
使用Docker启动n8n:
docker-compose up -d n8n然后转到 http://localhost:5678,在中创建API密钥 Settings > API,并将其粘贴到您的配置文件中。
搅拌机桥
Blender是一个免费的开源3D创建套件。该桥使用一个小型Python插件(bridges/blender/polybridge_addon.py)它在Blender中打开一个WebSocket服务器并监听命令。
LLM可以通过这座桥做什么:
Create 3D objects (mesh, curve, light, camera)
Apply materials and textures
Arrange objects in a scene
Render the current scene to an image
Run arbitrary Blender Python scripts
Export scenes to GLTF, OBJ, FBX交互示例:
User : "Create a medieval castle with four towers and a drawbridge"
Claude breaks this into a sequence of Blender commands :
1. polybridge calls blender_create_object (cube, scaled to castle base)
2. polybridge calls blender_create_object (cylinder x4, scaled to towers)
3. polybridge calls blender_apply_material (stone texture)
4. polybridge calls blender_render_scene
5. The render is returned as a base64 image设置:
- 打开搅拌机
- 首选
Edit > Preferences > Add-ons > Install - 选择
bridges/blender/polybridge_addon.py - 启用插件并单击“启动WebSocket服务器”
Notion桥
Notion是一个流行的用于笔记、数据库和项目管理的工作空间工具。
LLM可以通过这座桥做什么:
Create pages and subpages
Read page content
Append blocks (text, headings, code, tables)
Query databases
Create and update database entries设置:
- 首选 notion.so/my集成
- 创建新的内部集成
- 复制“内部集成令牌”
- 通过集成共享要访问的页面/数据库
- 将令牌粘贴到配置文件中
文件系统网桥
沙盒文件系统桥。它限制了对可配置目录列表的访问,因此LLM只能触摸您明确允许的文件。
LLM可以通过这座桥做什么:
Read files
Write files
List directory contents
Create directories
Move or copy files (if allowWrite is true)
Delete files (only if allowDelete is true)安全说明: 始终配置 allowedPaths 要指向工作区文件夹,切勿指向主目录或系统根目录。
LLM适配器
这 src/adapters/llm/ 目录包含TypeScript客户端类,可以让您 驾驶 polybridge-mcp 编程。当您想在中心之上构建自己的应用程序时,这很有用。
import { ClaudeAdapter } from './src/adapters/llm/claude.js'
const adapter = new ClaudeAdapter({
apiKey: process.env.ANTHROPIC_API_KEY,
polybridgeConfig: './polybridge-mcp.config.json'
})
const result = await adapter.ask(
'Create a sphere in Blender and take a screenshot'
)
console.log(result)可用适配器:
| 适配器 | LLM提供程序 | 文件 |
|---|---|---|
ClaudeAdapter | 人物克劳德 | src/adapters/llm/claude.ts |
OpenAIAdapter | OpenAI GPT | src/adapters/llm/openai.ts |
GeminiAdapter | 谷歌双子座 | src/adapters/llm/gemini.ts |
OllamaAdapter | 任何当地Olama车型 | src/adapters/llm/ollama.ts |
食谱
食谱是预先构建的工作流包。它们是非技术用户使用单个命令激活常见自动化模式的一种方式,而无需了解MCP或JSON。
列出可用食谱:
npm run recipe list运行一个食谱:
npm run recipe run blender-to-notion
npm run recipe run daily-report-telegram
npm run recipe run file-summarizer创建自己的食谱:
配方是一个简单的JSON文件 docs/recipes/。参见 docs/recipes/README.md 对于格式。
包括食谱:
| 食谱 | 它的作用 |
|---|---|
blender-to-notion | 渲染3D场景并将其记录在Notion页面中 |
daily-report-telegram | 使用n8n通过Telegram发送每日摘要 |
file-summarizer | 从文件夹中读取文件并创建AI摘要 |
notion-to-blender | 读取Notion页面并从中生成3D场景 |
教学透明层
PTL使 polybridge-mcp 在所有MCP网关中独一无二。它作为服务器内部的中间件层运行,拦截每一个工具调用,并在每一步发出人类可读的日志。
输出示例 verbosity: "verbose" :
[polybridge] ► Incoming request from LLM
[polybridge] ► Tool called : blender_create_object
[polybridge] ► Arguments received :
{
"type": "MESH",
"meshType": "CUBE",
"name": "CastleBase",
"location": [0, 0, 0],
"scale": [10, 10, 3]
}
[polybridge] ► Routing to : BlenderBridge
[polybridge] ► Sending WebSocket command to Blender on port 9877
[polybridge] ► Blender responded in 142ms
[polybridge] ► Object created : CastleBase (ID: 7a2f)
[polybridge] ► Returning result to LLM
[polybridge] ✓ Tool call completed in 148ms此输出是可见的协议。在授课时,您可以实时投影此输出,以便学生能够准确了解LLM正在做什么以及为什么这样做。
将PTL输出到文件:
"pedagogy": {
"enabled": true,
"verbosity": "verbose",
"logFile": "./logs/session.log"
}API 参考
完整的参考文件可在 docs/architecture.md.
工具命名约定:
每个暴露的工具 polybridge-mcp 遵循模式 {bridge}_{action} :
n8n_list_workflows
n8n_execute_workflow
n8n_create_workflow
blender_create_object
blender_apply_material
blender_render_scene
notion_create_page
notion_append_blocks
notion_query_database
fs_read_file
fs_write_file
fs_list_directory项目结构
polybridge-mcp/
├── .github/
│ ├── workflows/
│ │ └── ci.yml # GitHub Actions : lint + build + test
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ └── PULL_REQUEST_TEMPLATE.md
├── bridges/
│ └── blender/
│ └── polybridge_addon.py # Blender Python addon (WebSocket server)
├── docs/
│ ├── architecture.md # Deep dive into the architecture
│ ├── bridges/ # One doc per bridge
│ ├── llm-adapters/ # One doc per LLM adapter
│ └── recipes/ # Recipe format + included recipes
├── examples/
│ ├── blender-castle.md # Step-by-step walkthrough
│ ├── n8n-automation.md
│ └── notion-workspace.md
├── src/
│ ├── server/
│ │ ├── index.ts # Entry point, MCP server setup
│ │ ├── registry.ts # Collects all tools from all bridges
│ │ └── router.ts # Routes incoming tool calls to bridges
│ ├── adapters/
│ │ ├── bridge/
│ │ │ └── base.ts # Abstract base class every bridge extends
│ │ └── llm/
│ │ ├── claude.ts # Claude adapter
│ │ ├── openai.ts # OpenAI adapter
│ │ ├── gemini.ts # Gemini adapter
│ │ └── ollama.ts # Ollama adapter
│ ├── bridges/
│ │ ├── n8n/
│ │ │ ├── index.ts # n8n bridge entry point
│ │ │ ├── tools.ts # MCP tool definitions
│ │ │ └── client.ts # n8n REST API client
│ │ ├── blender/
│ │ │ ├── index.ts # Blender bridge entry point
│ │ │ ├── tools.ts # MCP tool definitions
│ │ │ └── client.ts # WebSocket client
│ │ ├── notion/
│ │ │ ├── index.ts
│ │ │ ├── tools.ts
│ │ │ └── client.ts
│ │ └── filesystem/
│ │ ├── index.ts
│ │ ├── tools.ts
│ │ └── client.ts
│ ├── types/
│ │ └── index.ts # All shared TypeScript types
│ └── utils/
│ ├── config.ts # Config file loading and validation
│ ├── logger.ts # PTL logger
│ └── errors.ts # Typed error classes
├── scripts/
│ ├── setup.sh # Linux/macOS first-run setup
│ └── setup.bat # Windows first-run setup
├── .editorconfig
├── .gitignore
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── docker-compose.yml
├── Dockerfile
├── LICENSE
├── package.json
├── polybridge-mcp.config.example.json
├── README.md
├── SECURITY.md
└── tsconfig.json贡献
非常欢迎捐款。请阅读 贡献.md 在提交pull请求之前。
目前最需要的捐款:
- 新桥(Slack、GitHub、Home Assistant、Spotify等)
- PTL输出消息的翻译
- 新配方
- 测试
许可证
MIT许可证。看 许可证.
由Fabien Conéjéro(FC84)于2026年4月创建。
介质:https://medium.com/@法比安·科涅杰罗/聚乙烯管-mcp-4d570c1caf5c
༄☕︎︎︎ 给我买杯咖啡:
༄☕︎︎︎ stripe.com
感谢您的支持
