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 模式启动(推荐用于后端托管给 LLM 客户端使用)
-
服务器配置(给 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 服务器实现。