@claude-code-best/mcp-chrome-bridge

中文文档
3.0.2发布于 2026/05/02MITCommonJS近 30 天下载 1.9万

Chrome 本地- Message 主机(节点)- MCP + 消息桥

中文使用文档
文档目录10 节
  1. 功能特性
  2. 开发环境设置
  3. 前置条件
  4. 安装
  5. 开发
  6. 构建
  7. 注册Native Messaging主机
  8. 与Chrome扩展集成
  9. 测试
  10. 许可证

Fastify Chrome Native Messaging服务

这是一个基于Fastify的TypeScript项目,用于与Chrome扩展进行原生通信。

功能特性

  • 通过Chrome Native Messaging协议与Chrome扩展进行双向通信
  • 支持多浏览器: Chrome 和 Chromium (包括 Linux、macOS 和 Windows)
  • 提供RESTful API服务
  • 完全使用TypeScript开发
  • 包含完整的测试套件
  • 遵循代码质量最佳实践

开发环境设置

前置条件

  • Node.js 20+
  • npm 8+ 或 pnpm 8+

安装

git clone https://github.com/your-username/fastify-chrome-native.git
cd fastify-chrome-native
npm install

开发

  1. 本地构建注册native server
cd app/native-server
npm run dev
  1. 启动chrome extension
cd app/chrome-extension
npm run dev

构建

npm run build

注册Native Messaging主机

自动检测并注册所有已安装的浏览器

mcp-chrome-bridge register --detect

注册特定浏览器

# 仅注册 Chrome
mcp-chrome-bridge register --browser chrome

# 仅注册 Chromium
mcp-chrome-bridge register --browser chromium

# 注册所有支持的浏览器
mcp-chrome-bridge register --browser all

全局安装(会自动注册检测到的浏览器)

npm i -g @claude-code-best/mcp-chrome-bridge

浏览器支持

浏览器LinuxmacOSWindows
Google Chrome✓✓✓
Chromium✓✓✓

注册位置:

  • Linux: ~/.config/[browser-name]/NativeMessagingHosts/
  • macOS: ~/Library/Application Support/[Browser]/NativeMessagingHosts/
  • Windows: %APPDATA%\[Browser]\NativeMessagingHosts\

与Chrome扩展集成

以下是Chrome扩展中如何使用此服务的简单示例:

// background.js
let nativePort = null;
let serverRunning = false;

// 启动Native Messaging服务
function startServer() {
  if (nativePort) {
    console.log('已连接到Native Messaging主机');
    return;
  }

  try {
    nativePort = chrome.runtime.connectNative('com.yourcompany.fastify_native_host');

    nativePort.onMessage.addListener((message) => {
      console.log('收到Native消息:', message);

      if (message.type === 'started') {
        serverRunning = true;
        console.log(`服务已启动,端口: ${message.payload.port}`);
      } else if (message.type === 'stopped') {
        serverRunning = false;
        console.log('服务已停止');
      } else if (message.type === 'error') {
        console.error('Native错误:', message.payload.message);
      }
    });

    nativePort.onDisconnect.addListener(() => {
      console.log('Native连接断开:', chrome.runtime.lastError);
      nativePort = null;
      serverRunning = false;
    });

    // 启动服务器
    nativePort.postMessage({ type: 'start', payload: { port: 3000 } });
  } catch (error) {
    console.error('启动Native Messaging时出错:', error);
  }
}

// 停止服务器
function stopServer() {
  if (nativePort && serverRunning) {
    nativePort.postMessage({ type: 'stop' });
  }
}

// 测试与服务器的通信
async function testPing() {
  try {
    const response = await fetch('http://localhost:3000/ping');
    const data = await response.json();
    console.log('Ping响应:', data);
    return data;
  } catch (error) {
    console.error('Ping失败:', error);
    return null;
  }
}

// 在扩展启动时连接Native主机
chrome.runtime.onStartup.addListener(startServer);

// 导出供popup或内容脚本使用的API
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
  if (message.action === 'startServer') {
    startServer();
    sendResponse({ success: true });
  } else if (message.action === 'stopServer') {
    stopServer();
    sendResponse({ success: true });
  } else if (message.action === 'testPing') {
    testPing().then(sendResponse);
    return true; // 指示我们将异步发送响应
  }
});

测试

npm run test

许可证

MIT

版本与发布记录

@claude-code-best/mcp-chrome-bridge 共发布 11 个版本,首次发布于 2026/04/13;过去 12 个月发布了 11 个版本。

版本发布日期距今
3.0.2latest2026/05/026 个月前
3.0.12026/04/216 个月前
3.0.02026/04/216 个月前
2.0.92026/04/216 个月前
2.0.82026/04/176 个月前
2.0.72026/04/136 个月前

关于 @claude-code-best/mcp-chrome-bridge 的常见问题

@claude-code-best/mcp-chrome-bridge 是什么?

Chrome 本地- Message 主机(节点)- MCP + 消息桥

如何安装 @claude-code-best/mcp-chrome-bridge?

在项目目录运行 npm install @claude-code-best/mcp-chrome-bridge,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mcp-chrome-bridge、mcp-chrome-stdio,可以用 npx mcp-chrome-bridge 直接运行。

@claude-code-best/mcp-chrome-bridge 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/claude-code-best__mcp-chrome-bridge 是否存在。

@claude-code-best/mcp-chrome-bridge 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@claude-code-best/mcp-chrome-bridge 可以商用吗?

@claude-code-best/mcp-chrome-bridge 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@claude-code-best/mcp-chrome-bridge 的下载量有多少?

根据 npm 官方下载统计,@claude-code-best/mcp-chrome-bridge 在 2026/10/10 – 2026/11/08 这 30 天内被下载 18,669 次,日均约 622 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@claude-code-best/mcp-chrome-bridge 还在维护吗?

最新版本 3.0.2 发布于 2026/05/02(6 个月前);至今共发布 11 个版本,其中过去 12 个月发布了 11 个;首次发布于 2026/04/13。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。