JSON接收与MCP服务

一个Node.js应用,包含HTTPS服务器和MCP服务器,用于接收JSON数据并通过STDIO向MCP客户端提供消息。

  • by bensons
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 bensons/mcp-json-receiver

使用说明

JSON接收器MCP服务器

一个具有两个独立服务器的Node.js应用程序:一个通过PUT或POST请求接收JSON的HTTPS服务器和一个通过STDIO向MCP客户端提供这些消息的MCP服务器。

特性

  • 基于令牌身份验证的HTTPS服务器
  • 持久JSON消息记录
  • 带STDIO传输的MCP服务器
  • 具有锁定机制的基于文件的消息存储
  • 消息的MCP资源订阅
  • MCP工具用于检索消息

设置

  1. 安装依赖项:
npm install
  1. 生成自签名证书:
./generate-certs.sh

或者,您可以提供自己的证书并更新中的路径 config.json.

  1. 通过编辑配置服务器 config.json:
    • https.port:HTTPS服务器端口(默认值:8443)
    • https.authToken:PUT/POST请求的身份验证令牌
    • logging.logFilePath:日志文件的路径

用法

启动HTTPS服务器

npm start
# or
npm run start:https

配置您的MCP客户端以连接到MCP服务器

npm run start:mcp
# or
node mcp-server.js
# or
/full/path/to/mcp-server.js

通过HTTPS PUT或POST发送JSON

# Using PUT
curl -k -X PUT https://localhost:8443/json \
  -H "Authorization: Bearer your-secret-auth-token-here" \
  -H "Content-Type: application/json" \
  -d '{"test": "data"}'

# Using POST
curl -k -X POST https://localhost:8443/json \
  -H "Authorization: Bearer your-secret-auth-token-here" \
  -H "Content-Type: application/json" \
  -d '{"test": "data"}'

MCP客户端集成

服务器公开:

  • 资源: json://messages -订阅以查看所有消息
  • 工具:
    • retrieve_message -按ID获取和删除特定邮件
    • retrieve_all_messages -获取并删除所有邮件

建筑

  • 单独的可执行文件:HTTPS和MCP服务器作为独立进程运行
  • 共享存储:消息存储在 messages.json 使用基于文件的锁定
  • STDERR输出:所有控制台输出都进入STDERR,以避免干扰MCP STDIO协议
  • 永久存储:消息在服务器重新启动时持续存在
  • 日志文件:所有接收到的消息都会记录到配置的日志文件中
  • 消息检索:消息将保留在存储中,直到通过MCP工具明确检索为止

发展

在监视模式下运行HTTPS服务器

npm run dev:https

在监视模式下运行MCP服务器

npm run dev:mcp