将本地 MCP 服务器无缝接入各大网页版 AI 助手的浏览器扩展 本项目由 OPENCODE + Claude Opus 4.6 完成
概览
将本地 MCP 服务器无缝接入各大网页版 AI 助手的浏览器扩展 本项目由 OPENCODE + Claude Opus 4.6 完成
README
MCP Multi Bridge
目录
项目简介
MCP Multi Bridge 是一个基于纯原生 JavaScript(Vanilla JS)开发的 Chrome/Edge 浏览器扩展(Manifest V3)。它的核心使命是:打破网页端 AI 与本地计算机之间的壁垒。
通过本扩展,你可以直接在 ChatGPT、Gemini、DeepSeek、Kimi 等十余个网页版 AI 助手的对话界面中,无缝调用本地运行的 MCP(Model Context Protocol)工具——例如读取本地文件、查询本地数据库、执行本地脚本、联网搜索等,而不需要使用任何原生客户端。
与社区中流行的基于 React/TypeScript 的前端工程方案不同,本项目主打极简、透明、无负担——没有框架、没有打包工具、没有编译步骤,代码所见即所得,克隆即可加载使用。
核心特性
| 特性 | 说明 |
|---|---|
| 零依赖 | 100% 纯 Vanilla JavaScript + 原生 CSS,无框架、无打包工具 |
| 多平台支持 | 自动识别并注入到 14+ 个主流 AI 网页平台 |
| 多服务器并发 | 同时连接多个 MCP 服务器,工具跨服务器自动调度 |
| 三协议支持 | 原生实现 SSE、Streamable HTTP 和 Stdio(Native Messaging) 三种 MCP 传输协议 |
| Stdio 直连 | 🆕 通过 Chrome Native Messaging 直接启动和管理本地 MCP 进程,无需额外代理 |
| 在线编辑配置 | 🆕 服务器卡片中的 URL / Command / Args 字段支持直接编辑,快速切换目录或参数 |
| Agent 模式 | 内置完整的 Agent 模式提示词系统,支持 AI 自主迭代调用工具 |
| 自动执行 | 检测到 AI 输出的工具调用后可自动执行并回填结果 |
| 批量处理 | 多个并行工具调用完成后统一注入,防止重复发送 |
| 文件注入 | 将 MCP 结果以 .md 文件形式附加,适合大体量输出 |
| 隐私优先 | 数据仅流转于浏览器与本地服务器之间,不经过任何第三方 |
| 设置持久化 | 所有用户偏好(深色模式、自动执行等)持久存储于 chrome.storage |
支持的平台
扩展会自动检测当前访问的网站,并在以下平台中注入 MCP 工具侧边栏:
国际主流平台
| 平台 | 域名 |
|---|---|
| ChatGPT | chatgpt.com / chat.openai.com |
| Google Gemini | gemini.google.com |
| Google AI Studio | aistudio.google.com |
| Grok (xAI) | grok.com |
| Perplexity | perplexity.ai |
| GitHub Copilot | github.com/copilot |
开源 / 聚合模型平台
| 平台 | 域名 |
|---|---|
| DeepSeek | chat.deepseek.com |
| OpenRouter | openrouter.ai |
| Mistral | chat.mistral.ai |
| T3 Chat | t3.chat |
国产大模型平台
| 平台 | 域名 |
|---|---|
| Kimi(月之暗面) | kimi.com / kimi.moonshot.cn |
| 通义千问(Qwen) | chat.qwen.ai / qianwen.com |
| 智谱清言(ChatGLM) | chatglm.cn / chat.z.ai |
| 豆包(Doubao) | doubao.com |
每个平台均有针对性的输入框定位、拖放区域识别和发送按钮适配逻辑,确保文件注入和消息发送在各平台均可正常工作。
项目结构
mcp-multi-bridge/
├── manifest.json # 扩展清单(Manifest V3)
├── background.js # Service Worker:管理 MCP 服务器连接与消息路由
├── content.js # 内容脚本:注入 AI 页面,提供侧边栏 UI 与工具调用检测
├── popup.html # 弹窗 HTML:服务器管理界面
├── popup.js # 弹窗逻辑:增删改查 MCP 服务器,支持在线编辑配置
├── popup.css # 弹窗样式
├── sidebar.css # 侧边栏样式(通过 Shadow DOM 隔离)
├── content.css # 内容脚本全局样式(切换按钮等)
├── dragDropListener.js # Gemini 专用拖放监听器(注入到页面主世界)
├── native-host.js # 🆕 Native Messaging Host:桥接 Chrome 与本地 stdio MCP 进程
├── install-host.bat # 🆕 Windows 一键安装脚本:注册 Native Messaging Host
└── icons/
├── icon16.png
├── icon48.png
└── icon128.png
架构说明:
background.js(Service Worker):负责维护到各 MCP 服务器的长连接,实现SSEParser、MCPConnection、ServerManager三层架构,处理 JSON-RPC 请求/响应的转发。新增 Stdio 传输支持,通过chrome.runtime.connectNative()与本地 Native Messaging Host 通信。content.js(内容脚本):注入每个受支持的 AI 页面,创建侧边栏 UI(基于 Shadow DOM 隔离样式),监听页面 DOM 变化以检测 AI 输出的工具调用格式,并将结果注入回页面。native-host.js(Native Messaging Host):🆕 Node.js 程序,作为 Chrome 与本地 MCP 服务器进程之间的桥梁。接收来自扩展的指令,启动/管理 MCP 服务器子进程,双向转发 JSON-RPC 消息。dragDropListener.js:针对 Google Gemini 框架的特殊处理,运行在页面主世界(非扩展沙盒),通过postMessage通道接收文件,并以精准构造的拖放事件模拟文件上传。
安装指南
由于本项目无需任何构建步骤,可直接将源码加载为"未打包扩展"。
支持的浏览器
- Google Chrome(推荐,版本 ≥ 109)
- Microsoft Edge(版本 ≥ 109,基于 Chromium)
- 其他基于 Chromium 的浏览器(Brave、Arc 等)
安装步骤
-
获取代码
git clone https://github.com/你的用户名/mcp-multi-bridge.git或直接下载 ZIP 压缩包并解压到本地文件夹。
-
打开扩展管理页面
在浏览器地址栏输入并回车:
chrome://extensions/ -
开启开发者模式
点击页面右上角的 “开发者模式(Developer mode)” 开关,将其打开。
-
加载扩展
点击左上角的 “加载已解压的扩展程序(Load unpacked)”,在弹出的文件选择器中选择项目根目录(即包含
manifest.json的文件夹)。 -
固定到工具栏(推荐)
点击浏览器右上角的拼图图标(扩展管理),找到 MCP Multi Bridge,点击图钉图标将其固定到工具栏,方便快速访问。
安装完成后,扩展图标会出现在浏览器右上角。访问任意受支持的 AI 平台时,页面右侧会自动出现 MCP 悬浮切换按钮。
Stdio 传输安装(Native Messaging)
如果你希望使用 Stdio (Local) 传输方式直接连接本地 MCP 服务器(如 Filesystem MCP Server),还需要完成以下一次性安装:
前置要求:已安装 Node.js(版本 ≥ 16)
-
获取扩展 ID
打开
chrome://extensions/,确保开发者模式已开启,找到 MCP Multi Bridge 扩展,复制其 ID(一串字母数字)。 -
运行安装脚本
在项目根目录下,双击运行
install-host.bat,或在终端中执行:install-host.bat YOUR_EXTENSION_ID将
YOUR_EXTENSION_ID替换为上一步复制的扩展 ID。 -
重启浏览器
脚本会自动完成以下操作:
- 生成 Native Messaging Host 清单文件(
com.mcp.bridge.json) - 创建 Node.js 启动包装脚本(
native-host-wrapper.bat) - 注册到 Chrome 和 Edge 的注册表中
重启浏览器后,Stdio 传输即可使用。
- 生成 Native Messaging Host 清单文件(
⚠️ 安装脚本仅需运行一次。之后每次使用 Stdio 传输时,扩展会自动通过 Native Messaging 启动和管理本地 MCP 进程。
快速开始
方式一:SSE / Streamable HTTP 传输
以下是使用 HTTP 传输方式连接 MCP 服务器的流程(以本地文件系统 MCP 服务器 + DeepSeek 为例):
第一步:启动本地 MCP 服务器
本扩展需要一个在本地运行、支持 SSE 或 Streamable HTTP 传输的 MCP Server。你可以使用任意支持 MCP 协议的服务器,例如:
# 示例:使用 supergateway 将 stdio 服务器桥接为 SSE
npx -y supergateway --stdio "npx -y @modelcontextprotocol/server-filesystem /你的/工作目录" --port 3006
# 服务器默认在 http://localhost:3006/sse 上监听
第二步:在扩展弹窗中添加服务器
- 点击浏览器工具栏中的 MCP Multi Bridge 图标,打开弹窗。
- 填写服务器信息:
- Name(名称):
My Filesystem(任意名称) - URL:
http://localhost:3006/sse - Transport(传输协议):
SSE(或Streamable HTTP,取决于服务器)
- Name(名称):
- 点击 Add Server,扩展会自动尝试连接。
- 连接成功后,服务器卡片左侧的状态点会变为绿色,并显示该服务器提供的工具数量。
方式二:Stdio 直连本地服务器(推荐)
🆕 无需手动启动代理,扩展通过 Native Messaging 自动管理本地 MCP 进程。
前提:已完成 Stdio 传输安装。
第一步:在扩展弹窗中添加 Stdio 服务器
- 点击浏览器工具栏中的 MCP Multi Bridge 图标,打开弹窗。
- 填写服务器信息:
- Name(名称):
Filesystem(任意名称) - Transport(传输协议):选择
Stdio (Local) - Command(命令):
npx - Args(参数):
-y @modelcontextprotocol/server-filesystem C:\Users\你的用户名\Desktop
- Name(名称):
- 点击 Add Server,扩展会自动启动本地进程并连接。
- 连接成功后,状态点变为绿色,工具列表会自动加载。
⚠️ Args 字段不需要包含命令本身。例如 Command 填
npx,则 Args 应填-y @modelcontextprotocol/server-filesystem C:\path,而不是npx -y ...。
快速切换目录
添加 Stdio 服务器后,可以直接在服务器卡片中编辑 Args 字段来修改目标目录路径,修改后点击 Save 按钮,扩展会自动断开当前连接并以新参数重新启动服务器。
继续使用
无论使用哪种传输方式,后续步骤相同:
- 打开
https://chat.deepseek.com(或其他受支持的 AI 平台)。 - 点击页面右侧的 MCP 悬浮按钮,展开侧边栏。
- 在 工具 标签页中,点击 附加 .md 按钮,将包含所有可用工具定义的系统提示词以
.md文件形式附加到输入框。 - 发送该文件给 AI,AI 会读取工具列表并了解如何调用它们。
- 现在你可以直接向 AI 提问,AI 会按照特定格式输出工具调用指令,扩展会自动检测并执行。
详细使用说明
管理 MCP 服务器
点击浏览器工具栏的扩展图标,弹窗提供完整的服务器管理功能:
| 操作 | 说明 |
|---|---|
| 添加服务器 | 填写名称、URL / Command+Args、传输协议后点击 Add Server |
| 在线编辑 | 🆕 直接在服务器卡片中修改 URL(SSE/HTTP)或 Command/Args(Stdio),修改后点击 Save 保存并自动重连 |
| 启用/禁用 | 通过每个服务器卡片上的 Enabled 开关切换 |
| 手动连接 | 点击 Connect 按钮手动重新连接已断开的服务器 |
| 断开连接 | 点击 Disconnect 按钮断开已连接的服务器 |
| 删除服务器 | 点击 Remove 按钮,确认后永久删除 |
| 刷新状态 | 点击页面顶部的 Refresh 按钮更新所有服务器的连接状态 |
扩展启动时会自动连接所有已启用的服务器,连接状态实时同步到所有已打开的 AI 页面侧边栏。
侧边栏功能详解
点击 AI 页面右侧的 MCP 按钮展开侧边栏,侧边栏分为三个标签页:
工具标签页
- 工具列表:展示所有已连接服务器提供的工具,按服务器分组,显示工具名称和简要描述。
- 附加 .md:将包含所有工具定义和调用规范的系统提示词以 Markdown 文件形式附加到当前 AI 对话框,这是初始化 MCP 连接的关键步骤。
- 下载 .md:将提示词文件下载到本地,适用于自动附加失败时手动上传。
- 复制:将提示词文本复制到剪贴板,可手动粘贴到对话框。
- 刷新工具列表:重新从所有服务器获取最新工具列表。
调用标签页
每当检测到 AI 输出工具调用指令时,此处会自动创建调用卡片,显示:
- 工具名称与调用 ID
- 工具描述
- 调用参数(键值对)
- 执行状态(等待中 / 执行中 / 已完成 / 失败)
- 执行结果预览(截取前 500 字符)
- 执行按钮:手动触发工具调用
- 复制结果按钮:将执行结果复制为标准 MCP 格式
同时,AI 输出中工具调用代码块的正下方会注入一个 内联执行按钮,点击即可就地执行对应工具。
设置标签页
| 设置项 | 说明 | 默认值 |
|---|---|---|
| 自动执行工具调用 | 检测到工具调用后无需手动点击,自动触发执行 | 关闭 |
| 注入结果后自动发送 | 将结果注入输入框后自动点击发送按钮 | 关闭 |
| 粘贴拦截 | 粘贴 MCP 格式结果时自动转换为文件附件 | 开启 |
| 等待注入延迟 | 最后一个工具调用完成后,等待多少秒再统一注入(用于等待可能的后续调用) | 4 秒 |
| 发送前延迟 | 文件注入后等待多少秒再发送(给平台解析文件留出时间) | 8 秒 |
所有设置通过 chrome.storage.local 持久化,刷新页面后自动恢复。
工具调用流程
MCP Multi Bridge 通过检测 AI 输出中的特定 jsonl 格式代码块来识别工具调用意图:
{"type": "function_call_start", "name": "read_file", "call_id": 1}
{"type": "description", "text": "读取指定路径的文件内容"}
{"type": "parameter", "key": "path", "value": "/home/user/project/main.py"}
{"type": "function_call_end", "call_id": 1}
检测到该格式后,扩展的完整处理流程如下:
AI 输出工具调用代码块
↓
MutationObserver 检测到 DOM 变化
↓
parseToolCalls() 解析 jsonl 内容
↓
创建调用卡片 + 注入内联执行按钮
↓
(自动执行模式)executeToolCall()
↓
background.js → MCPConnection.callTool()
↓
通过 SSE / HTTP / Stdio 发送到 MCP 服务器
↓
接收执行结果
↓
(批量聚合)injectBatchResults()
↓
结果以 .md 文件形式注入对话框
↓
(自动发送模式)点击发送按钮
提示词系统
扩展会根据当前连接的所有服务器和工具,动态生成一份完整的系统提示词(mcp-tools.md),内容包括:
- 工具调用格式规范:精确的
jsonl代码块格式要求 - 多调用并行格式:如何在一次响应中发起多个独立工具调用
- 调用规则说明:10 条强制执行规则(不伪造结果、调用后立即停止等)
- 结果回传格式:AI 接收工具结果的标准格式
- Agent 模式指令:完整的自主 Agent 行为规范
- 工具列表:所有可用工具的名称、描述和参数定义(含必选/可选标注)
Agent 模式
Agent 模式是本扩展的核心高级功能,可让 AI 在无需用户干预的情况下自主、连续、迭代地使用工具完成复杂任务。
激活方式
在对话中向 AI 发送以下任意指令均可激活 Agent 模式:
enter agent mode
agent mode
进入 agent 模式
自主模式
agentic mode
Agent 模式行为规范
激活后,AI 会遵循以下循环工作流:
- 分析:拆解用户目标,制定执行计划(在首次响应中列出计划步骤)
- 调用:输出工具调用代码块,然后立即停止,等待结果
- 评估:收到结果后判断任务是否完成,以及下一步应做什么
- 迭代:若未完成,直接发起下一个工具调用,无需请求用户许可
- 总结:任务完成后输出完整的执行摘要
Agent 模式核心规则
| 规则 | 说明 |
|---|---|
| 主动性 | 不等待用户指示下一步,根据已有结果自主决策 |
| 持续性 | 单次工具调用失败时,尝试不同参数或备用工具,不轻易放弃 |
| 迭代性 | 持续调用工具直至任务完全完成 |
| 交叉验证 | 搜索类任务必须用不同关键词进行多轮搜索,交叉验证信息 |
| 质量优先 | 宁可多调用几次也不基于不充分的数据给出浅层答案 |
| 格式一致 | Agent 模式下仍然严格遵守 jsonl 代码块格式规范 |
退出 Agent 模式
发送以下指令可退出 Agent 模式:
exit agent mode
退出 agent 模式
stop agent mode
Agent 模式示例
用户:进入 agent 模式,帮我分析一下我本地 /project/src 目录下的所有 Python 文件,找出其中可能存在内存泄漏的代码。
AI(Agent 响应 1):我已进入 Agent 模式。我的计划:1) 列出 /project/src 目录结构,2) 逐个读取 .py 文件,3) 分析每个文件的内存使用模式,4) 汇总报告。
{"type": "function_call_start", "name": "list_directory", "call_id": 1}
{"type": "description", "text": "列出项目源码目录结构"}
{"type": "parameter", "key": "path", "value": "/project/src"}
{"type": "function_call_end", "call_id": 1}
(扩展自动执行,返回目录列表 → AI 读取每个文件 → 完成分析)
高级功能
自动执行与自动发送
开启 自动执行工具调用 后,扩展会在检测到 AI 输出的工具调用时立即执行,无需手动点击。
开启 注入结果后自动发送 后,结果注入输入框后会自动触发发送操作,实现完全自动的 MCP 循环。
批量收集机制:当 AI 在同一次响应中发出多个工具调用(并行调用)时,扩展会:
- 并发执行所有工具调用
- 等待所有调用完成
- 在最后一个调用完成后,等待「等待注入延迟」秒(默认 4 秒),以确认没有更多新的调用产生
- 将所有结果合并为一个
.md文件统一注入 - 等待「发送前延迟」秒(默认 8 秒)后自动发送
这套机制确保了即使 AI 发出大量并行调用,也不会出现重复发送或结果丢失的问题。
会话切换保护:当用户在 SPA 应用(如 ChatGPT)中切换到不同对话时,扩展会检测 URL 变化,并在 3 秒内抑制自动执行,防止将旧会话的历史工具调用在新会话中重复执行。
多服务器并发
扩展支持同时连接任意数量的 MCP 服务器(包括混合使用不同传输协议),所有服务器的工具会被聚合到统一的工具列表中,并带有所属服务器的标注。
当 AI 发出工具调用时,扩展会根据工具名称自动找到提供该工具的服务器并路由请求,整个过程对 AI 完全透明。
示例场景:同时连接 Stdio 方式的"本地文件系统服务器"和 SSE 方式的"GitHub API 服务器",让 AI 能够读取本地代码文件并对比 GitHub 上的版本。
粘贴拦截
当 粘贴拦截 功能开启时,如果你在 AI 对话框中粘贴包含 MCP 工具结果格式(jsonl 代码块 + function_result_start)的文本,扩展会自动:
- 拦截粘贴事件
- 将文本内容转换为
.md文件 - 通过文件上传机制附加到对话框
这避免了大量结果文本直接出现在输入框中导致 token 浪费或格式问题。
深色模式
点击侧边栏右上角的 深色 按钮可切换深色/浅色主题,偏好自动持久化保存。
服务器配置在线编辑
🆕 在服务器列表中,每个服务器卡片的配置字段均支持直接编辑:
| 传输类型 | 可编辑字段 | 典型用途 |
|---|---|---|
| SSE / Streamable HTTP | URL | 切换服务器地址或端口 |
| Stdio (Local) | Command、Args | 快速切换目标目录或修改启动参数 |
修改后会出现 Save 按钮,点击即可保存配置并自动断开重连,使更改立即生效。
MCP 协议传输方式
扩展原生实现了三种 MCP 传输协议:
SSE(Server-Sent Events)传输
适用场景:通过 HTTP 代理(如 supergateway)暴露的 MCP 服务器
工作原理:
- 扩展向 SSE 端点(如
http://localhost:3006/sse)发起长连接 - 服务器通过
endpoint事件返回消息端点 URL - 后续请求通过 HTTP POST 发送到该消息端点
- 响应通过 SSE 流异步推回
配置示例:
URL: http://localhost:3006/sse
Transport: SSE
Streamable HTTP 传输
适用场景:使用新版 MCP SDK(支持 Streamable HTTP)的服务器
工作原理:
- 所有请求直接 POST 到配置的 URL
- 支持会话 ID(
Mcp-Session-IdHeader)保持状态 - 响应可以是普通 JSON 或 SSE 流(根据服务器返回的
Content-Type自动判断)
配置示例:
URL: http://localhost:3006/mcp
Transport: Streamable HTTP
Stdio 传输(Native Messaging)
🆕 适用场景:所有基于 stdio 的 MCP 服务器(如 @modelcontextprotocol/server-filesystem、@modelcontextprotocol/server-github 等),无需额外代理
工作原理:
- 扩展通过
chrome.runtime.connectNative()连接本地 Native Messaging Host - Native Host 根据配置的 Command 和 Args 启动 MCP 服务器子进程
- JSON-RPC 消息通过
stdin/stdout在扩展与 MCP 服务器之间双向转发 - 扩展自动管理进程的生命周期(连接时启动,断开时终止)
配置示例:
Transport: Stdio (Local)
Command: npx
Args: -y @modelcontextprotocol/server-filesystem C:\Users\username\Desktop
架构对比:
SSE 方式:
扩展 ──fetch()──→ supergateway ──stdio──→ MCP 服务器
Stdio 方式(推荐):
扩展 ──connectNative()──→ native-host.js ──stdio──→ MCP 服务器
Stdio 方式省去了手动启动代理的步骤,由扩展自动管理进程生命周期,使用更简洁。
失败重试机制
工具调用失败时,扩展会自动重试最多 5 次,采用线性退避策略(第 n 次重试等待 n 秒),超时限制为 30 秒。重试过程中,UI 会实时更新状态提示。
技术架构
权限说明
| 权限 | 用途 |
|---|---|
storage |
持久化服务器配置和用户设置 |
nativeMessaging |
🆕 通过 Native Messaging 协议与本地 Host 程序通信,实现 stdio 传输 |
host_permissions: |
向本地 MCP 服务器发送 fetch 请求(跨域) |
扩展不需要也不申请读取浏览器历史、Cookie、书签等敏感权限。
Shadow DOM 隔离
侧边栏 UI 完全运行在 Shadow DOM 内部,与宿主页面的样式完全隔离,确保不会与各 AI 平台的页面样式发生冲突。
服务工作线程保活
内容脚本通过 chrome.runtime.connect() 建立持久化端口连接,防止 Chrome 在空闲时挂起 Service Worker,维持 MCP 服务器的长连接稳定性。
Native Messaging 架构
🆕 Stdio 传输通过 Chrome 的 Native Messaging 机制实现:
┌──────────────────┐ Chrome Native ┌──────────────────┐ stdin/stdout ┌──────────────────┐
│ background.js │ ←── Messaging协议 ───→ │ native-host.js │ ←── JSON-RPC ──────→ │ MCP Server进程 │
│ (Service Worker)│ (4字节长度+JSON) │ (Node.js) │ (行分隔JSON) │ (子进程) │
└──────────────────┘ └──────────────────┘ └──────────────────┘
每个 Stdio 类型的 MCP 连接都会创建一个独立的 Native Host 实例,实例内管理一个子进程。断开连接时,子进程自动终止。
使用场景示例
场景一:本地代码审查
利用文件系统 MCP 服务器暴露本地项目目录,在任意 AI 平台中:
“请帮我读取
src/utils/memory.js文件并分析其中潜在的内存泄漏问题,然后给出修复建议。”
AI 会自动调用 read_file 工具获取代码,分析后给出具体的修复方案,省去了手动复制粘贴多个文件的繁琐操作。
场景二:本地数据库自然语言查询
将本地 MySQL 或 PostgreSQL 数据库包装为 MCP 工具后:
“帮我查询昨天新注册且今天有登录记录的活跃用户数量,并生成一份 Markdown 格式的日报。”
AI 会自动调用数据库查询工具,生成结构化报告,整个过程无需编写任何 SQL。
场景三:多步骤研究任务(Agent 模式)
结合网络搜索 MCP 服务器,使用 Agent 模式:
“进入 agent 模式。研究一下 Claude 4 和 GPT-5 在代码生成基准测试上的最新得分,用表格对比,并给出你对两者优劣的分析。”
AI 会自主进行多轮搜索、交叉验证、汇总分析,直到获得可靠数据后输出完整报告。
场景四:多服务器跨域自动化
同时连接"本地文件系统服务器"和"GitHub 搜索服务器":
“我本地的
utils/parser.js实现了一个 JSON 解析器,帮我在 GitHub 上找几个类似的开源实现,对比一下性能和设计思路。”
AI 会先读取本地文件,再搜索 GitHub,最后给出对比分析,两个服务器的工具被无缝调度。
场景五:Stdio 快速目录切换
🆕 使用 Stdio 传输连接 Filesystem MCP Server,随时在插件弹窗中修改 Args 参数切换目标目录:
先分析
D:\project-a的代码结构 → 修改 Args 为-y @modelcontextprotocol/server-filesystem D:\project-b→ 点击 Save → 无缝切换到另一个项目。
无需重新启动任何服务,扩展自动处理进程的重启和重连。
常见问题
Q:服务器状态显示红色(连接失败)怎么办?
A:请确认:
- 本地 MCP 服务器已启动并正在监听(SSE/HTTP 模式)
- URL 和传输协议类型填写正确(SSE 服务器的 URL 通常以
/sse结尾) - 没有防火墙或安全软件阻断
localhost连接
Q:Stdio 模式显示"连接失败"或"Native host disconnected"?
🆕 A:请检查:
- 已运行
install-host.bat并传入了正确的扩展 ID - 已安装 Node.js 且
node命令在系统 PATH 中可用 - 安装后已重启浏览器
- Args 字段格式正确(不要在 Args 中重复填写 Command 的内容)
Q:Stdio 模式连接成功但工具数量为 0?
🆕 A:请检查:
- Args 字段是否包含了必需的目录路径参数(如
-y @modelcontextprotocol/server-filesystem C:\your\path) - Args 字段是否意外地以命令名开头(如
npx -y ...),这会导致命令重复
Q:工具列表显示为空?
A:点击侧边栏中的 刷新工具列表 按钮。如果服务器刚刚连接,可能需要等待几秒钟。
Q:AI 没有按照 jsonl 格式输出工具调用?
A:请确保已将提示词文件附加给 AI(点击侧边栏工具标签页中的 附加 .md 按钮),AI 必须先读取提示词才能了解工具调用格式。
Q:结果注入后文件没有出现在对话框?
A:不同平台的文件上传机制存在差异。扩展会依次尝试文件输入框注入、拖放注入、粘贴事件注入三种策略。如果全部失败,会回退为直接文本粘贴。Gemini 使用了特殊的拖放处理机制(dragDropListener.js)。
Q:自动发送是否安全?
A:自动发送前有多重安全检查,包括等待所有工具调用完成、等待平台解析文件等。如果需要对每次发送进行人工审核,请关闭 注入结果后自动发送 开关。
灵感来源与版权说明
本项目在产品概念和 UI 交互思路上受到优秀开源项目 MCP-SuperAssistant 的启发。
致谢
本项目由 OPENCODE + Claude Opus 4.6 协助完成开发。
许可证
本项目采用 MIT License 开源许可。你可以自由使用、修改和分发,但请保留原始版权声明。
安装
npx -y supergateway --stdio "npx -y @modelcontextprotocol/server-filesystem /你的/工作目录" --port 3006