AgentCard MCP 服务器

  • 项目简介
    • 该仓库实现了一个完整的 MCP 服务器端,用于向 AI Agent 提供资源、工具、以及提示模板等能力,通过 HTTP 流式传输或标准输入输出等传输方式与 MCP 客户端进行 JSON-RPC 通信。
    • 服务器包含身份认证、访问令牌处理、工具执行、会话管理、以及对外部服务(如卡片支付、聊天工单等)的对接接口。
  • 主要功能点
    • MCP 核心:实现对 MCP 请求/响应的处理,注册工具、列出工具、执行工具等能力。
    • 传输模式:支持 HTTP(Streamable HTTP Server Transport)与 stdio(Stdio Server Transport),可根据部署场景选择。
    • 授权与鉴权:内置 OAuth 2.1 兼容流程,支持令牌校验、后端私有 API 调用,支持 Legacy JWT 形式的令牌。
    • 资源与工具管理:实现多种卡片相关工具(列出卡、创建卡、查询余额、获取卡细节、资金状态、关闭卡等),以及与客服聊天相关的工具。
    • 自动化元数据:暴露 MCP 服务器 Card.json(server-card.json)与健康端点,支持自动发现与健康检查。
    • 安全审计:对发起的工具调用和请求进行日志输出,且在输出中对敏感字段进行遮蔽。
  • 安装步骤
    • 安装依赖并构建代码(项目使用 Node.js 环境及一个常用的包管理器)。
    • 配置运行方式:可选择 STDIO 方式运行节点进程,或通过 HTTP 方式暴露端点。
    • 启动与运行
      • stdio 模式:直接以 Node 启动打包后的可执行入口,并在环境变量中提供 JWT 与 API URL。
      • HTTP 模式:启动 Express 服务器,提供 OAuth 授权端点、/oauth-protected-resource、健康检查及 MCP 接入入口。
  • 服务器配置(MCP 客户端连接信息示例) 说明:MCP 客户端在连接服务器时需要指定服务器名称、启动命令及参数等信息。以下示例仅供参考,请根据实际部署修改路径与参数。 { "serverName": "AgentCard", "command": "node", "args": ["dist/src/index.js"], "env": { "AGENT_CARDS_JWT": "<your-jwt>", "AGENT_CARDS_API_URL": "https://your-backend.example.com" } // 注:此配置用于 STDIO 模式下连接 MCP 服务器,客户端需要提供 JWT 与后端 URL。 }
  • 基本使用方法
    • 准备工作:获取 JWT(通过 CLI 登录或服务端配置),确保后端 API 可访问。
    • 启动 MCP 服务器:选择 STDIO 或 HTTP 方式进行启动(参考安装步骤中的对应模式)。
    • 使用 MCP 客户端连接:以上面的配置为依据,启动客户端并指向该 MCP 服务器。
    • 常用操作流程:
      • 读取工具列表,找到可用工具(如 list_cards、create_card、check_balance 等)。
      • 调用工具完成具体任务(创建卡、查询余额、获取卡细节、开通对话等)。
      • 使用 get_funding_status 与 approve_request 等工具处理需要人工审核的场景。
    • 监控与运维:关注健康端点 /health、服务器元数据端点等,必要时通过日志排查调用与鉴权问题。

服务器信息