AdCP MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • 这是一个基于 MCP 的后端服务器实现,旨在向大型语言模型或代理提供上下文、资源、工具和提示模板等能力,便于在广告自动化场景中进行跨平台的协作与执行。
  • 主要功能点

    • 资源(Resources)托管与数据访问:通过统一接口管理可供 LLM 调用的数据资源。
    • 工具(Tools)注册与执行:LLM 可以通过 JSON-RPC 调用外部功能,执行诸如数据获取、操作执行等任务。
    • 提示模板(Prompts)定义与渲染:支持可定制的提示模板,帮助引导 LLM 的对话与操作。
    • MCP 协议支持:以 JSON-RPC 形式处理请求与响应,方便与客户端集成。
    • 会话与能力声明:服务器端维护会话状态、能力清单,并可跨多种传输协议交互。
    • 多传输支持:包括 STDIO、SSE、WebSocket 等,用以满足不同部署场景的需求。
  • 安装步骤

    • 准备环境:Node.js 18+、PostgreSQL(仓库提供的本地开发环境支持)。
    • 获取代码:git clone https://github.com/adcontextprotocol/adcp
    • 安装依赖:
      • npm install
    • 环境配置(参考仓库中的模板文件,至少包含数据库连接、WorkOS 认证等必要配置):
      • 数据库连接字符串(DATABASE_URL)
      • WorkOS API Key、Client ID、会话密钥等
      • 可选:Stripe 相关密钥用于计费相关功能
    • 启动方式(两种模式任选其一):
      • 在 MCP 模式启动(推荐用于后端托管给 LLM 客户端使用)
        • npm run start:mcp
      • 同时启动其他服务时,可按仓库提供的本地开发脚本自行分离启动
  • 服务器配置(给 MCP 客户端的启动配置示例,格式为 JSON;实际客户端需提供 serverName、command、args 等信息以启动服务) { "server_name": "adcp-mcp-server", "command": "npm", "args": ["run", "start:mcp"], "description": "AdCP MCP 服务器的启动命令,使用 MCP 模式运行。" } 说明:以上配置用于 MCP 客户端在启动时对接 MCP 服务器所需的执行信息,实际字段名称和格式可根据集成框架的要求调整。仓库提供的启动方式为 npm 脚本,因此 command 可以设为 npm,args 为启动 MCP 模式的命令参数。

  • 基本使用方法

    • 启动后,客户端通过 JSON-RPC 向 /mcp 端点发送请求,包含方法名如 tools/list、tools/call、resources/get 等,服务器返回相应的 JSON-RPC 响应。
    • 支持的传输模式可根据部署环境选择(STDIO、SSE、WebSocket),以实现对 LLM 客户端的上下文服务能力。
    • 使用场景示例(简述):
      • LLM 请求某数据资源,服务器返回可访问的资源信息与数据。
      • LLM 调用已注册工具,服务器执行外部操作并返回结果。
      • LLM 获取 Prompt 模板,服务器提供渲染后的对话引导。
  • 运行与调试要点

    • 确保数据库就绪并正确配置 DATABASE_URL。
    • 配置 WorkOS 相关 API 密钥与回调地址,以支持注册/鉴权等功能。
    • 若启用计费相关功能,请正确配置 Stripe 的密钥与回调地址。
    • MCP 相关接口与路由在仓库的 server 目录下,通过 /mcp 提供 JSON-RPC 服务入口,便于集成到 LLM 客户端。
  • 备注

    • 仓库包含完整的服务端实现、MCP 路由、资源、工具与注册表、以及用于 MCP 协议交互的测试用例,属于可运行的 MCP 服务器实现。

服务器信息