项目简介

该GitHub仓库提供了一个基于Node.js和TypeScript构建的云原生后端服务,集成了Model Context Protocol (MCP) 和 Agent-to-Agent (A2A) 协议。它旨在作为LLM(大型语言模型)应用的后端,以标准化的方式提供上下文信息和功能。项目包含了在AWS等云平台部署的脚本,并支持本地开发环境。

主要功能点

  • 上下文与资源管理: 能够托管和管理各种资源,例如用户位置信息和商业实体数据。通过Redis缓存层提供高效的数据访问能力。
  • 工具调用服务: 注册并执行多种工具,允许LLM客户端通过标准化的JSON-RPC请求调用外部功能。例如,可以调用工具来更新或查询用户位置,以及添加或查找业务信息。
  • JSON-RPC通信: 服务端通过JSON-RPC协议与LLM客户端进行高效通信,接收客户端请求并返回相应的JSON-RPC响应。
  • 会话与身份认证: 支持基于去中心化身份(DID)、JWT和标准HTTPS头的通用身份认证(Universal Authentication),确保LLM应用的安全和会话管理。
  • 云原生部署: 提供一套完整的AWS CloudFormation脚本和模板,方便用户在AWS上快速部署可扩展的后端服务和前端网站。
  • A2A 代理服务: 除了MCP服务外,还包含了A2A协议的代理实现,例如用于风险投资、招聘和创业公司匹配的智能代理。

安装步骤

在本地运行此MCP服务器非常简单:

  1. 安装Git、Node.js和Redis:

    • 确保您的系统已安装 Git。
    • 安装 Node.js 22 或更高版本。
    • 安装并启动 Redis 服务器。例如,在macOS上可以使用 'brew install redis && redis-server'。
  2. 克隆仓库:

    git clone [email protected]:agentic-profile/cloud-a2a-mcp-quickstart.git
    cd cloud-a2a-mcp-quickstart
  3. 启动MCP服务器:

    cd service
    npm install
    npm run dev

    服务器将在 'http://localhost:3000' 启动。

  4. (可选) 启动前端网站: 如果需要访问配套的React前端界面进行可视化交互:

    cd ../website
    npm install
    npm run dev

    网站将在 'http://localhost:5173' 启动。

服务器配置(供MCP客户端参考)

MCP客户端可以通过以下参数连接并管理本地运行的MCP服务器:

  • 服务名称: "Agentic Profile 本地MCP服务"
  • 连接地址: 'http://localhost:3000'
  • 启动命令: 'npm'
  • 启动参数: 'run', 'dev' (这些参数会传递给'npm'命令)
  • 工作目录: 您的本地仓库路径中的 'service' 子目录(例如:'/Users/YourName/cloud-a2a-mcp-quickstart/service')
  • 环境变量: 如果需要指定端口,可以在启动时设置 'PORT=3000'。
  • 描述: “提供位置信息管理和业务匹配工具的Agentic Profile MCP服务。”

基本使用方法

当服务器在 'http://localhost:3000' 运行后,您可以使用 'curl' 命令或通过前端界面与其交互。

使用 'curl' 进行测试:

  1. 健康检查:

    curl -X GET http://localhost:3000/status

    这将返回服务的健康状态。

  2. MCP位置服务 - 列出工具:

    curl -X POST http://localhost:3000/mcp/location \
      -H 'Content-Type: application/json' \
      -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

    这将返回MCP位置服务支持的所有工具及其schema。

  3. MCP位置服务 - 更新位置:

    curl -X POST http://localhost:3000/mcp/location \
      -H 'Content-Type: application/json' \
      -d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"update","arguments":{"coords":{"latitude":35.6762,"longitude":139.6503}}}}'

    通过调用 'update' 工具,更新用户的位置坐标。

  4. MCP位置服务 - 查询位置:

    curl -X POST http://localhost:3000/mcp/location \
      -H 'Content-Type: application/json' \
      -d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"query"}}'

    通过调用 'query' 工具,获取当前用户的存储位置。

  5. A2A Venture 服务:

    curl -X POST http://localhost:3000/a2a/venture \
      -H 'Content-Type: application/json' \
      -d '{"id":"1","method":"venture/create","params":{"message":{"parts":[{"kind":"text","text":"告诉我关于初创公司融资的建议。"}]},"name":"Test Venture","type":"startup"}}'

    这是一个A2A代理的示例,它会根据提供的消息返回初创公司融资的相关信息。

通过前端网站(如果已启动 'http://localhost:5173')进行交互:

  1. 在浏览器中访问 'http://localhost:5173'。
  2. 点击“Settings”创建您的数字身份 (Digital Identity),以便代理可以进行认证。
  3. 点击导航栏中的“MCP”,然后尝试点击“Location”下的“Test”按钮或“Update Location”来与MCP位置服务交互。

信息

分类

AI与计算