MCP工具服务器

consync-mcp是一个用于Consync的CommonJS Node.js MCP风格工具服务器,支持本地开发和临时隧道暴露。

  • by divebynight
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 divebynight/consync-mcp

使用说明

客户,

consync-mcp 是一个用于Consync的小型CommonJS Node.js MCP风格的工具服务器。

存储库现在有一个单一的实现结构 src/.

当前状态

  • src/index.js 是包裹入口点。
  • src/server.js 包含HTTP服务器实现。
  • src/client.js 包含本地CLI命令。
  • src/test.js 包含当前的轻量级测试套件。

入门

npm install
npm start

这将通过顶级项目入口点启动当前的线束支持服务器。

共享白板工件记录在 docs/whiteboard-contract.md.

可用命令

npm start
npm run dev
npm test

在项目迁移过程中,直接线束命令仍然可用:

node src/server.js
node src/test.js
node src/client.js read
node src/client.js append "## New note"
node src/client.js decide "show it"
node src/client.js agent "add ## hello from agent"

配置

服务器支持一组用于本地开发和临时隧道暴露的环境变量:

CONSYNC_SERVER_HOST     Bind host for the HTTP server (default: 127.0.0.1)
CONSYNC_SERVER_PORT     Bind port for the HTTP server (default: 3000)
CONSYNC_AUTH_TOKEN      Optional bearer token for /tool requests
CONSYNC_WHITEBOARD_PATH Optional path override for the shared whiteboard file

仅本地模式

对于正常的本地开发,保持默认的环回绑定并禁用身份验证:

CONSYNC_SERVER_HOST=127.0.0.1
CONSYNC_SERVER_PORT=3000

隧道暴露模式

对于通过ngrok等隧道进行的临时暴露,请将服务器绑定到环回并设置承载令牌:

CONSYNC_SERVER_HOST=127.0.0.1
CONSYNC_SERVER_PORT=3000
CONSYNC_AUTH_TOKEN=replace-with-a-long-random-token

当 CONSYNC_AUTH_TOKEN 已设置,请求 /tool 必须包括:

Authorization: Bearer <token>

服务器为每个请求记录一个请求ID。该请求ID仅在服务器端日志中用于跟踪,不会返回给客户端。

项目布局

src/           Runtime, client, tests, services, schemas, and utilities
docs/          Project notes, audit notes, and refactor records
artifacts/     Whiteboard template and optional live whiteboard path

运行时流程

  1. src/index.js 启动服务器。
  2. src/server.js 暴露 POST /tool.
  3. src/services/executor.js 向该服务器发送工具请求。
  4. src/services/agent.js 和 src/services/fake-model.js 制定决策。
  5. src/state-loader.js 读取白板状态。

当前状态审计记录在 docs/current-state-audit.md.

看 docs/architecture.md 用于当前模块故障。

白板伪影

该项目使用共享的Markdown白板作为工具和代理之间的协调工件。

  • 默认运行时路径: artifacts/whiteboard.md
  • 可选显式覆盖:set CONSYNC_WHITEBOARD_PATH 指向另一个实时文件
  • 跟踪模板: artifacts/whiteboard.example.md

合同和处理规则记录在 docs/whiteboard-contract.md.