项目简介
该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服务器非常简单:
-
安装Git、Node.js和Redis:
- 确保您的系统已安装 Git。
- 安装 Node.js 22 或更高版本。
- 安装并启动 Redis 服务器。例如,在macOS上可以使用 'brew install redis && redis-server'。
-
克隆仓库:
git clone [email protected]:agentic-profile/cloud-a2a-mcp-quickstart.git cd cloud-a2a-mcp-quickstart -
启动MCP服务器:
cd service npm install npm run dev服务器将在 'http://localhost:3000' 启动。
-
(可选) 启动前端网站: 如果需要访问配套的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' 进行测试:
-
健康检查:
curl -X GET http://localhost:3000/status这将返回服务的健康状态。
-
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。
-
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' 工具,更新用户的位置坐标。
-
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' 工具,获取当前用户的存储位置。
-
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')进行交互:
- 在浏览器中访问 'http://localhost:5173'。
- 点击“Settings”创建您的数字身份 (Digital Identity),以便代理可以进行认证。
- 点击导航栏中的“MCP”,然后尝试点击“Location”下的“Test”按钮或“Update Location”来与MCP位置服务交互。
信息
分类
AI与计算