Agentlytics Relay MCP Server
使用说明
项目简介
Agentlytics Relay MCP 服务器是 Agentlytics Relay 架构的一部分,负责对外提供统一的“资源-工具-提示模板”服务,使大语言模型(LLM)客户端能够以标准化的 JSON-RPC 方式读取会话上下文、执行工具调用并获取提示/模板信息。它通过一个本地 SQLite 数据库缓存(relay 数据库)来汇总多用户的会话数据,并暴露一组 MCP 工具以供客户端查询。
主要定位与作用:
- 为多用户协作环境提供跨用户的会话上下文查询能力
- 提供 list_users、search_sessions、get_user_activity、get_session_detail 等工具以便 LLM 客户端查询与调用
- 与本地 Relay 数据库对接,确保数据落地在本机,便于本地分析与隐私保护
主要功能点
- MCP 服务端:注册工具、处理工具查询与会话细览等请求
- 数据源接入:使用 relay 数据库(SQLite)作为数据源
- 传输协议:支持 SSE 与 Streamable HTTP 两种传输方式,用于 MCP 客户端与服务器之间的通信
- 安全控制:支持 RELAY_PASSWORD 密码保护,结合 token 机制进行鉴权
- 与前端/UI 的无缝对接:后端 API 与 MCP 服务协作,提供跨应用的数据与工具能力
安装步骤
- 确保 Node.js 版本 20 及以上
- 将仓库克隆到本地
- 安装依赖(在仓库根目录执行):npm install
- 运行 RELAY 服务(MCP 服务端需要在 Relay 模式下启动):
- 通过命令 npx agentlytics --relay 或 node index.js --relay 启动
- 运行后将输出 MCP 服务器端点,形如 http://<host>:<port>/mcp
- 选配:若设置 RELAY_PASSWORD,则启用密码保护,需要在 MCP 客户端提供 token 进行认证
服务器配置(MCP 客户端配置示例,描述性文本,不包含可执行代码)
为 MCP 客户端配置连接参数时,请以以下 JSON 结构作为参考(仅用于文档说明,实际使用请按客户端要求提供): { "server_name": "agentlytics-relay", "command": "node", "args": ["index.js", "--relay"], "notes": "服务器名称应与实际运行的 Relay MCP 服务对应,command/args 指向启动 MCP 服务端的命令及参数。若 Relay 配置了密码保护,请在客户端使用对应的 Bearer Token 进行认证。" } 说明:以上配置用于描述如何连接到 MCP 服务器,实际客户端实现可能需要将端点 URL、认证方式等具体参数按客户端能力设置。
基本使用方法
- 连接 MCP 端点:向 MCP 客户端提供的端点 http(s)://<relay-host>:<port>/mcp 建立会话
- 调用工具:使用 MCP 的工具名称,例如 list_users、search_sessions、get_user_activity、get_session_detail,传递相应参数
- 数据源与权限:查询使用 Relay 数据库中的数据,若需要鉴权,请根据 RELAY_PASSWORD 设置 Bearer Token
- 传输方式:可以在长连接的场景中选择 SSE 或 Streamable HTTP 传输,以实现实时推送或按需请求
注意事项
- MCP 服务端与 Relay 数据库同在本地运行,确保数据库文件可读写
- 如需多用户协作,确保 Relay 服务端的访问控制与网络可达性
- 客户端在首次连接时可能需进行认证、授权,以及根据需要开启对话历史的查询范围