SuperAPI AI 工具集

mcp-server

Iris 是一个面向 AI 智能体的评估与可观测性工具,以 MCP 服务器的形式提供。它的核心目标是让智能体的每次运行都有可审计的量化评分,而不是靠“感觉”判断质量。运行记录存放在本机 SQLite 数据库中,内置 26 条确定性规则对输出进行评分,覆盖 PII(个人身份信息)泄露、提示注入、幻觉标记、成本阈值以及智能体自身的工具调用等维度,评分过程无需调用大模型、完全免费,规则可查看可编辑。对于规则难以判断的语义问题,可选择启用 LLM 评审,并设置每次评估的硬性成本上限。Iris 采用 MIT 许可,无遥测,除非用户主动开启 OpenTelemetry 端点、LLM 评审或 Webhook,否则数据不会离开本机。它需要 Node.js 22.13 或更高版本,提供实时仪表盘、失败记录汇总、数据集对比、CI 门禁、HTTP 摄取端点、LangChain/LangGraph 集成以及 OpenAI 与 Anthropic 调用录制等能力,适配 Claude Code、Claude Desktop、Cursor、Windsurf、Continue、VS Code、Cline、Zed、Codex、Gemini 等客户端。

访问官网

工具介绍

用途

Iris 用于解决 AI 智能体(Agent)上线前缺乏可靠质量评估的问题。传统的做法是运行几个记得住的提示词并目测输出,Iris 用可审计的数字替代这种主观判断:每次智能体运行都会被评分,评分结果存放在用户本机的 SQLite 数据库中。它适合需要持续监控智能体输出质量、安全性与成本的开发者与团队。

主要能力

  • 确定性评分规则:内置 26 条规则,逐条对每次运行进行评分,覆盖 PII 检测、提示注入、幻觉标记、成本阈值以及智能体自身的工具调用等。这些规则免费、不调用 LLM,每条规则都可查看、可编辑。
  • 可选的 LLM 评审:针对语义层面的问题,可选用 LLM 评审,并设置每次评估的硬性成本上限;需要用户自己的 API Key。
  • 实时仪表盘:默认在 http://localhost:6920 提供服务,首次运行会自动打开浏览器。仪表盘首页展示失败项(按最差和最新排序),每张卡片标明触发的规则及其证据。
  • 数据集对比:可将同一组问题上的多次运行进行区间对比。
  • 自定义规则:通过 config.json 中的 eval.plugins 加载用户以 ES 模块编写的规则,规则以文件 sha256 固定,文件变动后启动会被拒绝,加载的插件与内置规则一样触发并在 list_rules 中显示。
  • 多入口数据采集:支持 HTTP 摄取端点(POST /api/v1/traces)、OTLP 端点、OpenTelemetry 采集、Claude Code 回合捕获插件、OpenAI/Anthropic 调用录制、LangChain/LangGraph 集成等。
  • CI 门禁:无需服务器即可在 CI 中对非通过的判定失败,或通过 GitHub Action 将回执写入作业摘要并发表/更新 PR 评论。
  • 可独立导入的评估引擎:评估引擎可在用户自己的进程中导入使用,无需服务器、数据库或模型。
  • HTTP 类型化客户端:提供 HTTP 路由的类型化客户端。

使用方式

需要 Node.js 22.13 或更高版本,可用 node --version 检查。

  • 快速演示:一条命令即可播种演示数据库(五个小智能体、两周运行记录),并在 http://localhost:6920 提供仪表盘。演示数据存放在独立的 demo.db 中,位于 Iris 主目录(macOS/Linux 为 ~/.iris,Windows 为 %USERPROFILE%.iris),不会与真实数据混合。
  • 接入自己的智能体:先运行自检确认本机安装可用(离线运行,不接触用户数据),然后一条命令将 Iris 写入 MCP 客户端自己的配置文件,保留其中其他服务器,并固定所运行的版本。支持的客户端包括 claude-code、claude-desktop、cursor、windsurf、continue、vscode、cline、zed、codex、gemini。install --list 可列出本机找到的客户端;install <client> --uninstall 可移除;install --upgrade 可同时升级所有客户端。所有客户端共享同一个数据库。
  • Claude Desktop 一键安装:0.20.0 起每个版本附带 iris-eval.mcpb(MCP Bundle),下载并打开即可弹出安装对话框,无需额外安装依赖。
  • 手动配置:也可手工在我们客户端的 MCP 配置文件中加入一个 JSON 配置块,仪表盘一并启用。客户端连接后会列出 Iris 的十二个工具。
  • 无头模式:在参数中去掉 --dashboard 即可无头运行 MCP 服务器,之后可用 npx @iris-eval/mcp-server --dashboard 随时打开仪表盘。
  • HTTP 采集:摄取端点位于仪表盘端口(默认 6920,非 MCP 传输端口),仅在仪表盘运行时存在。需要传入 --dashboard 或设置 IRIS_DASHBOARD=true;单独使用 --transport http 不会启动它,对传输端口的请求会返回 404。
  • Claude Code 回合捕获:一个单独安装的插件,其钩子记录每一回合的提示、工具调用(含失败调用及其收到的错误)和最终回答,并按提示词归类,可捕获被打断的回合和后台子智能体的调用。该插件从不打印、从不阻塞、不向任何地方发送数据。
  • CI 门禁:任何非 pass 的判定都会使作业失败;也可指定单一依据(如 --fail-on detector_veto)仅在该依据上失败。

适用场景

  • 智能体上线前的质量与安全把关。
  • 生产环境中智能体运行的持续可观测性与成本追踪。
  • 在 CI 中对智能体输出进行自动化质量门禁。
  • 需要在本机、无账号、无 SDK 条件下评估智能体输出的团队。
  • 使用 Claude Code、LangChain、LangGraph、OpenAI、Anthropic 等技术栈的开发者。

局限与限制

  • 需要 Node.js 22.13 或更高版本。
  • MCP 工具由模型决定何时调用,Iris 不拦截智能体,因此轨迹为被动记录;若需不依赖模型选择的捕获,可使用 HTTP 摄取端点(POST /api/v1/traces),由代码直接以普通 HTTP 发送轨迹。
  • HTTP 摄取端点在未通过 --api-key(或 IRIS_API_KEY)启动时接受未认证写入,默认靠回环绑定限制在本机;若要绑定到回环之外,应先设置密钥。存储内容为原样保存,包括 no_pii 规则随后标记的文本。
  • 数据默认不离开本机,除非启用以下之一:OpenTelemetry 端点(IRIS_OTEL_ENDPOINT,将轨迹导出到指定的采集器);带自有 Key 的 LLM 评审(将待评文本发送给该提供商,其引用检查会抓取输出所引用的页面);Webhook(发布 id、判定和规则名,绝不发送文本)。
  • 各客户端支持情况不一致:仅在每次 CI 运行中验证 Claude Code、Gemini CLI;Claude Desktop、Cursor、Devin Desktop(Windsurf)、Continue、VS Code、Cline、Zed、OpenAI Codex CLI 仅依据各客户端自身 MCP 文档声明,未由 Iris 侧实际观察连接。
  • OpenAI 与 Anthropic 录制(wrap_openai/wrap_anthropic、wrapOpenAI/wrapAnthropic/irisMiddleware)尚未发布;@iris-eval/sdk 在首次 npm 发布前需从源码构建。
  • 关于收费、价格:资料未提供,暂未提供。