协议桥接工具

codex-mcp是一个Node.js包,提供模型上下文协议(MCP)的桥接和集成功能,实现不同平台与本地Codex MCP服务器之间的无缝通信。

  • by LexChien
  • 本地部署
  • 更新于
在 GitHub 查看 LexChien/codex-mcp

使用说明

codex mcp

@LexChien的MCP桥——为Codex、Slack、ChatGPT和Chrome集成提供支持。

概述

codex-mcp 是一个Node.js包,为模型上下文协议(MCP)提供桥接和集成。它实现了各种平台和本地Codex MCP服务器之间的无缝通信。

特性

  • JSON-RPC桥 (bridge.js):将JSON-RPC消息转发到Codex stdio服务器
  • ChatGPT HTTP网桥 (chatgptmcp.js):ChatGPT Chrome MCP调用本地Codex MCP服务器的HTTP端点
  • Slack机器人 (app.js):使用@lack/bolt进行可选的Slack机器人集成

安装

npm install codex-mcp

或全局安装:

npm install -g codex-mcp

用法

1.JSON-RPC桥

通过stdio将JSON-RPC消息转发到Codex MCP服务器的主要入口点。

# Using npm script
npm start

# Using the CLI directly
codex-mcp

# Or run directly
node bridge.js

环境变量:

  • CODEX_SERVER_PATH:Codex服务器可执行文件的路径(默认值: codex-server)
  • CODEX_SERVER_ARGS:Codex服务器的空格分隔参数(可选)

例子:

CODEX_SERVER_PATH=/path/to/codex-server codex-mcp

2.ChatGPT HTTP桥

启动一个HTTP服务器,接收JSON-RPC请求并将其转发到本地Codex MCP服务器。

# Using npm script
npm run chatgpt

# Or run directly
node chatgptmcp.js

环境变量:

  • PORT:HTTP服务器端口(默认值: 3000)
  • CODEX_SERVER_PATH:Codex服务器可执行文件的路径(默认值: codex-server)
  • CODEX_SERVER_ARGS:Codex服务器的空格分隔参数(可选)

例子:

PORT=8080 node chatgptmcp.js

服务器将在以下时间可用 http://localhost:3000 (或您配置的端口)并接受带有JSON-RPC格式消息的POST请求。

3.Slack机器人

可选的Slack机器人,用于监听消息并将其转发到Codex MCP服务器。

# Using npm script
npm run slack

# Or run directly
node app.js

所需的环境变量:

  • SLACK_BOT_TOKEN:您的Slack机器人令牌
  • SLACK_SIGNING_SECRET:您的Slack签名秘密
  • SLACK_APP_TOKEN:您的Slack应用程序级别令牌(用于Socket模式)
  • CODEX_SERVER_PATH:Codex服务器可执行文件的路径(可选,默认: codex-server)
  • CODEX_SERVER_ARGS:Codex服务器的空格分隔参数(可选)

例子:

SLACK_BOT_TOKEN=xoxb-your-token \
SLACK_SIGNING_SECRET=your-secret \
SLACK_APP_TOKEN=xapp-your-token \
node app.js

Slack Bot设置:

  1. 在以下位置创建Slack应用程序https://api.slack.com/apps
  2. 启用套接字模式并创建应用程序级令牌
  3. 添加以下机器人令牌范围:
    • app_mentions:read
    • chat:write
    • im:history
    • im:read
  4. 订阅机器人事件:
    • app_mention
    • message.im
  5. 将应用程序安装到您的工作区

API

桥接模块

const { startBridge } = require('codex-mcp/bridge');
startBridge();

ChatGPT MCP模块

const { start } = require('codex-mcp/chatgptmcp');
start();

Slack机器人模块

const { start } = require('codex-mcp/app');
start();

发展

# Clone the repository
git clone https://github.com/LexChien/codex-mcp.git
cd codex-mcp

# Install dependencies
npm install

# Run the JSON-RPC bridge
npm start

# Run the ChatGPT HTTP bridge
npm run chatgpt

# Run the Slack bot
npm run slack

建筑

┌─────────────┐
│   ChatGPT   │
│   Chrome    │
└──────┬──────┘
       │ HTTP
       ▼
┌──────────────────┐       ┌─────────────┐
│  chatgptmcp.js   │◄─────►│   Codex     │
│  (HTTP Bridge)   │ stdio │ MCP Server  │
└──────────────────┘       └─────────────┘
                                  ▲
┌──────────────────┐              │
│    bridge.js     │──────────────┘
│  (JSON-RPC)      │ stdio
└──────────────────┘
       ▲
       │ JSON-RPC
┌──────┴──────┐
│   Slack     │
│     Bot     │
│   (app.js)  │
└─────────────┘

许可证

麻省理工学院

作者

@LexChien