CData MCP代理
一个轻量级的HTTP流代理,将CData基于stdio的MCP服务器与基于HTTP的MCP客户端(如MCP Inspector)连接起来。
概述
此代理服务器使HTTP客户端能够与使用stdio传输的CData MCP服务器(如Salesforce、SQL server等)通信。它处理:
- HTTP流媒体和stdio之间的协议转换
- 多个并发客户端的会话管理
- 拦截不受支持的MCP方法
特性
- HTTP到stdio网桥:将HTTP流请求转换为stdio通信
- 会话管理:为所有请求维护默认共享会话
- 方法拦截:处理CData服务器未实现的方法(resources/list、logging/setLevel)
- 基于环境的配置:使用.env文件进行配置
- 全面的工具支持:CData服务器正确返回所有带有连接名称前缀的工具
安装
npm install配置
创建一个 .env 文件:
# Server Configuration
PORT=3000
LOG_LEVEL=info
# MCP Server Configuration
# For CData MCP Servers (Salesforce as an example)
# Windows
MCP_COMMAND=C:/Program Files/CData/CData MCP Server for Salesforce 2024/jre/bin/java.exe
MCP_ARGS=-jar,C:/Program Files/CData/CData MCP Server for Salesforce 2024/lib/cdata.mcp.salesforce.jar,salesforce_dev
# MacOS
MCP_COMMAND=/Applications/CData MCP Servers for Salesforce 2025.app/Contents/Payload/jre/Contents/Home/bin/java
MCP_ARGS=-Dfile.encoding=UTF-8,-jar,/Applications/CData MCP Servers for Salesforce 2025.app/Contents/Payload/lib/cdata.mcp.salesforce.jar,salesforce_dev最后一个论点 MCP_ARGS 用作工具前缀的连接名称。
用法
发展
npm run dev生产
npm run build
npm start与MCP检查员一起
# Start the server
npm run dev
# In another terminal, start the MCP Inspector
npx @modelcontextprotocol/inspector http://localhost:3000/mcp可用工具
当使用连接名称连接到CData Salesforce服务器时 salesforce_dev:
salesforce_dev_get_tables-列出所有可用表格salesforce_dev_get_columns-获取表的列信息salesforce_dev_run_query-执行SQL SELECT查询salesforce_dev_run_nonquery-执行INSERT/UPDATE/DELETE语句salesforce_dev_add_row-向表中添加新记录
建筑
MCP (HTTP) Client
↓
HTTP/SSE Transport
↓
MCP Proxy (this project)
↓
stdio Transport
↓
CData MCP Server (Java process)
↓
Salesforce/SQL/etc API文件结构
src/
├── gateway.ts # Main gateway implementation
├── index.ts # Express server setup
└── logger.ts # Logging configuration许可证
麻省理工学院
