Things Cloud MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- Things Cloud MCP 是一个基于 MCP 的服务器端实现,连接 Things Cloud API,向 LLM 客户端提供标准化的上下文服务。核心能力包括托管和管理资源(如任务、区域、标签、项目等)、注册并执行工具(Tools)、以及渲染/返回 Prompt 模板,所有通信通过 JSON-RPC 进行。服务器支持多用户、OAuth 2.1 验证以及流式传输,目标是在 AI 助手与 Things Cloud 之间建立稳定、安全、可扩展的上下文服务。
-
主要功能点
- MCP 核心能力:资源(Tasks/Projects/Areas/Tags 等)、工具(Tools)与 Prompts 的管理、执行与渲染
- 多用户支持:基于内置 OAuth 2.1 + Basic 认证的多账户场景
- 流式传输与扩展传输:提供流式 HTTP 传输能力,支持后续扩展为 SSE/WebSocket 等
- JSON-RPC 通信:服务器以 MCP 的 JSON-RPC 协议与客户端交互
- Things Cloud 集成:通过 Things Cloud SDK 与官方/逆向 API 实现对 Things Cloud 的读取和写入
- 授权与安全:内置 OAuth2.1 服务器,JWT 风格的访问令牌机制,以及诊断/审计能力
- 自带文档与演示页面: landing、文档、How-it-Works 等页面,方便使用与集成
- 测试与示例覆盖:包含多项单元测试与模拟服务器,便于验证行为
-
安装步骤
- 确认环境
- 需要安装 Go 语言环境
- 构建服务器
- 在仓库根目录执行构建命令将生成可执行文件(things-mcp)
- 启动服务器(默认端口 8080,可通过 PORT 指定)
- 运行示例(环境变量可选)
- PORT=8080 JWT_SECRET=你的32字节密钥 ./things-mcp
- 运行示例(环境变量可选)
- 运行后端服务
- 服务器会监听网络请求,提供 MCP JSON-RPC 接口以及 OAuth 流程所需的鉴权端点
- 客户端依赖
- MCP 客户端(LLM)通过向 /mcp 端点发送 JSON-RPC 请求来调用服务端暴露的工具与资源
- 客户端需要提前完成 OAuth 流程并获得访问令牌,或使用 Basic 认证头部进行请求
- 确认环境
-
服务器配置(MCP 客户端所需信息,JSON 描述,不属于客户端代码)
- serverName: "Things Cloud MCP"
- command: "./things-mcp"
- args: ["-port","8080"] // 端口参数(如需)
- env:
- JWT_SECRET: "your-32-byte-secret" // 用于签发/验证 JWT 的密钥
- DATA_DIR: "data" // OAuth 数据与诊断报告等的本地持久化目录
- 说明:该配置仅用于客户端参考如何启动与连接服务器,实际客户端不需要此文件去运行,仅需知道服务器地址与鉴权方式
-
基本使用方法
- 连接与鉴权
- 客户端通过 JSON-RPC 调用时应携带合适的鉴权信息(Bearer Token 或 Basic 认证头),以访问对应的用户数据和操作权限
- 调用方式
- 通过 MCP 的 JSON-RPC 接口请求服务器暴露的工具(Tools)来查询、创建、修改 Things Cloud 上的项目信息、任务、区域、标签等
- 安全性与会话
- 服务器维护会话和能力声明,支持多用户场景,适配不同客户端(Claude.ai、ChatGPT、Cursor 等)的使用模式
- 诊断与监控
- 服务器内置诊断工具,提供详细的步骤、日志与摘要,便于排错和性能评估
- 连接与鉴权