AdCP销售代理 - MCP上下文协议服务器实现
项目简介
本仓库实现一个面向LLM客户端的MCP(模型上下文协议)后端服务器,聚焦资源管理、工具执行与提示模板渲染,目标是为AI驱动的广告投放/管理场景提供标准化的上下文服务。
主要功能点
- 资源管理与数据访问:集中托管与查询资源,支持多租户隔离。
- 工具注册与执行:注册并暴露工具接口,LLM 可以通过统一接口调用外部功能。
- 提示模板与渲染:定义和渲染可定制的Prompt模版,支持多种LLM交互模式。
- MCP协议实现与JSON-RPC 通信:服务器端接收JSON-RPC 请求,返回标准化的JSON-RPC响应。
- 会话与能力声明:提供会话管理、能力声明与授权机制。
- 多传输协议支持:理论上支持Stdio、SSE、WebSocket等传输方式以满足不同客户端需求。
- Admin 管理与扩展性:管理员界面与多租户架构,便于 inventory、template、用户与权限管理。
安装与运行
- 参考本仓库的快速部署方案,常见做法包括使用 Docker Compose 一键部署,自动化完成数据库与服务启动。
- 开发环境本地运行也有简化流程,支持热重载、单元测试、集成测试等。
服务器配置(MCP客户端使用)
- MCP服务器的客户端连接需要一个基础的JSON配置,包含服务器名称、启动命令及参数等信息,用于统一接入与管理。建议配置如下要点:
- server_name: adcp-sales-agent
- command: uvx
- args: ["mcp", "http://<服务器地址>:8000/mcp/", "--header", "x-adcp-auth: YOUR_TOKEN"]
- 客户端无需关心内部实现细节,主要通过上述启动信息建立与MCP服务器的通信。
- 运行端口与路径通常为 http(s)://<host>:8000/mcp/,并通过Bearer Token等方式完成鉴权(如在示例中通过 x-adcp-auth 头传递 token)。
基本使用方法
- 部署后通过 MCP 客户端向 /mcp/ 端点发送JSON-RPC 请求,获取资源、调用工具、获取 Prompts 等。
- 使用 Admin UI 进行租户与资源的配置、与外部广告服务器的对接、以及权限管理。
- 若需要与 Claude Desktop 等工具对接,可以在客户端配置中指向 MCP 服务器地址并提供鉴权令牌。