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 之类的工具进行可视化测试和调试

服务器信息