da-mcp
使用说明
项目简介
da-mcp 是一个完全实现 MCP 协议的服务器端实现,运行后可以作为 LLM 客户端的上下文服务提供者。它通过 /mcp 端点以 MCP 的 JSON-RPC 形式接收请求,提供工具集合、资源操作等能力,并通过 DA Admin API token 进行鉴权后转发请求到 DA Admin 服务,完成实际的资源与操作管理。
主要功能点
- MCP 核心协议支持
- 提供 /mcp 的 MCP JSON-RPC 接口,支持 initialize、tools/list、tools/call 等方法,以及错误处理和统一返回。
- 资源与工具管理
- 通过 da_list_sources、da_get_source、da_create_source、da_update_source、da_delete_source 等工具对 DA 仓库中的资源进行管理。
- da_copy_content、da_move_content、da_get_versions、da_lookup_media、da_lookup_fragment 等工具支持内容拷贝/移动、版本查询、媒体与片段引用查询等。
- 认证与安全
- 使用 Authorization 头中的 DA Admin API Token 进行鉴权,向 DA Admin 服务转发 Token。
- 可部署性与扩展性
- 目标架构支持 Cloudflare Workers(边缘部署)、流式 HTTP(Streamable HTTP)传输等。
- 健康与运维
- 提供 /health 健康检查接口,日志输出、错误处理、CORS、健康状态等。
安装步骤(简要)
- 克隆代码并安装依赖
- 需要 Node.js 18+ 和 npm
- 配置 Wrangler
- 根据项目需要调整 wrangler.toml
- 部署
- 生产环境部署:使用 Wrangler 将 Worker 部署到生产环境
- 开发/测试环境部署:可使用 wrangler 的 dev / env 配置
服务器配置(MCP 客户端需要的最少信息)
以下为示例 JSON 配置,用于 MCP 客户端在连接 da-mcp 时指明服务器信息(无需此配置也可,客户端通常通过应用层配置将服务器地址、鉴权方式传入):
{ "serverName": "da-live-admin", "command": "wrangler", "args": ["deploy", "--env", "production"] }
说明:
- serverName: da-live-admin。对应 MCP 服务器在 MCP 协议对话中对外标识的名称,与服务器实现中的名称保持一致。
- command: wrangler。部署和运行 Cloudflare Workers 的命令行工具。
- args: 部署参数,生产环境请使用 deploy --env production;开发/测试环境可使用 deploy --env development。
- 注:实际运行环境还依赖于 wrangler.toml 及 Cloudflare 账户配置,MCP 客户端不需要包含鉴权 token,本示例仅展示启动部署相关信息。
基本使用方法
- 启动/部署后,客户端通过 MCP JSON-RPC 调用 /mcp 端点,并携带 Authorization: Bearer <DA_Admin_API_Token> 进行鉴权。
- 客户端可以通过工具调用(tools/list、tools/call)获取工具清单并执行具体的资源操作,或通过 initialize 获取服务器能力声明。
- 对于本地测试,可以向 /health 发送请求来确认服务状态。
测试与调试提示
- 本地开发时,MCP 端点通常为 http(s)://localhost:8787/mcp
- 生产部署完成后,按照 Readme 提供的公开地址进行集成测试
- 使用 MCP Inspector 之类的工具进行可视化测试和调试