Andru Intelligence MCP Server
使用说明
项目简介
本仓库实现了一个完整的 MCP 服务器,用于向目标的 LLM 客户端(如 Claude Desktop/Claude Code 等)提供标准化的上下文信息与功能。核心能力包括:
- 资源与工具的暴露(静态目录,代理后端执行工具)
- 通过 JSON-RPC 处理 MCP 请求,返回标准化响应
- 具备本地缓存(SQLite)以实现离线/断网场景下的鲁棒性
- 支持多传输协议:标准输入输出(stdio)以及基于 Streamable HTTP 的传输(HTTP/ SSE 兼容),以便不同客户端接入
- 会话管理与后端 API 的对接,工具执行通过 Andru 后端 API 进行,资源读取也通过后端代理
主要功能点
- MCP 服务器实现:
- ListTools:返回静态工具目录(不需要网络即可列出)
- CallTool:将工具调用请求代理到后端 API,返回工具执行结果
- ListResources:返回静态资源目录
- ReadResource:通过后端 API 读取资源内容
- 客户端适配与缓存:
- 使用 SQLite 缓存工具执行结果、资源内容、ICP 等数据
- 离线场景下从缓存提供数据,必要时标记为“旧数据”
- 传输协议:
- Stdio(标准输入输出)传输,适用于 Claude Desktop/CLI 等场景
- Streamable HTTP(及 SSE)传输,便于云端/浏览器等客户端接入
- 安全与配置:
- 使用 API Key 认证后端请求
- 支持按会话分离的传输,便于多并发客户端
安装与运行步骤
- 全局安装并直接启动:
- npm install -g mcp-server-andru-intelligence
- ANDRU_API_KEY=你的_api_key npx mcp-server-andru-intelligence
- 直接从源码启动(开发/测试场景):
- node src/index.js
- 如果希望使用 HTTP/Streamable HTTP 传输:
- 通过 node src/httpServer.js 启动(需要配置环境变量,如 ANDRU_API_URL、PORT、HOST 等)
- 依赖与后端对接:
- 服务器通过 Andru 后端 API 进行工具执行与资源读取,需提供 ANDRU_API_KEY 与可选的 ANDRU_API_URL 来指向后端地址
- 服务器端提供了本地缓存能力,开启与否通过环境变量 ANDRU_CACHE 控制
服务器配置(MCP 客户端需要的连接信息)
请将以下配置信息提供给 MCP 客户端(此处仅描述 JSON 配置字段,勿直接运行代码;实际使用请粘贴到客户端配置界面或文档中):
{ "serverName": "andru-intelligence", "command": "npx", "args": ["mcp-server-andru-intelligence"], "env": { "ANDRU_API_KEY": "你的_API_Key_占位符" }, "notes": "该配置用于 Claude Desktop/Claude Code 等 MCP 客户端接入。若需要指定后端地址,请通过 ANDRU_API_URL 指定公开 API 的基地址;若要关闭本地缓存,请将 ANDRU_CACHE 设置为 false。" }
说明:
- serverName 对应服务器的名称,在客户端的工具清单中可见
- command 与 args 用于在客户端执行启动服务器的命令(如 npx mcp-server-andru-intelligence)
- env 中的 ANDRU_API_KEY 为与后端对接所需的 API key(请务必使用实际可用的密钥,切勿公开暴露)
- 如需自定义后端地址,请在客户端环境变量中添加/修改 ANDRU_API_URL(默认会使用 https://hs-andru-test.onrender.com)
基本使用方法
- 客户端向服务器发送初始化请求后,服务器将提供工具和资源的能力描述以及可执行的代理入口
- 使用工具:客户端通过 CallTool 请求并传入 tool 名称与参数,服务器将其代理到 Andru 后端并返回结果
- 读取资源:客户端通过 ReadResource 指定资源 URI,服务器通过后端 API 读取并返回内容
- 离线/缓存:若网络异常,客户端的缓存层将尽力提供最近可用的数据,提升鲁棒性
- HTTP 传输与会话:对于基于 Web 的客户端,可以通过 /mcp 的 Streamable HTTP 传输建立会话并接收服务器通知
进阶使用提示
- 服务器也提供一个 Sandbox Server(createSandboxServer),方便在没有凭证的场景下进行工具/资源的注册与测试
- 服务器实现包含缓存、健康检查、会话管理等,适用于生产环境的扩展
关键词
上下文服务, 工具代理, 资源管理, 离线缓存, 流式 HTTP
分类ID
6