iris-eval/mcp-server

GitHub: iris-eval/mcp-server

一个 MCP 专用的 Agent 评估标准服务器,解决输出质量、安全与成本的可观测性问题。

Stars: 6 | Forks: 3

# Iris — MCP 的 Agent 评估标准 [![Glama Score](https://glama.ai/mcp/servers/iris-eval/mcp-server/badges/score.svg)](https://glama.ai/mcp/servers/iris-eval/mcp-server) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](cursor://anysphere.cursor-deeplink/mcp/install?name=server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBpcmlzLWV2YWwvbWNwLXNlcnZlciJdLCJlbnYiOnsiSVJJU19MT0dfTEVWRUwiOiJpbmZvIn19) [![npm version](https://img.shields.io/npm/v/@iris-eval/mcp-server)](https://npmjs.com/package/@iris-eval/mcp-server) [![npm downloads](https://img.shields.io/npm/dt/@iris-eval/mcp-server)](https://npmjs.com/package/@iris-eval/mcp-server) [![GitHub stars](https://img.shields.io/github/stars/iris-eval/mcp-server?style=social)](https://github.com/iris-eval/mcp-server) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/77084188ce103420.svg)](https://github.com/iris-eval/mcp-server/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-blue?logo=docker)](https://github.com/iris-eval/mcp-server/pkgs/container/mcp-server) [![PulseMCP](https://img.shields.io/badge/PulseMCP-Listed-blue?style=flat-square)](https://www.pulsemcp.com/servers/iris-eval) [![mcp.so](https://img.shields.io/badge/mcp.so-Listed-blue?style=flat-square)](https://mcp.so/server/iris/iris-eval) **了解你的 AI 代理是否足够好以至于可以发布。** Iris 是一个开源的 MCP 服务器,用于评估输出质量、捕获安全故障并强制执行所有代理的成本预算。任何 MCP 兼容的代理都会自动发现并使用它 —— 无需 SDK,也无需代码更改。 ![Iris Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/6c5e43d298103422.png) ## 问题 你的代理正在生产环境中运行。基础设施监控看到 `200 OK` 就继续前进。它完全不知道代理是否: - 在响应中泄露了社会保障号码 - 凭空捏造了毫无事实依据的答案 - 单次查询烧掉了 $0.47 —— 超出你的预算阈值 4.7 倍 - 执行了 6 次工具调用,而实际上 2 次就足够了 Iris 会评估所有这些。 ## 你得到什么 | | | |---|---| | **追踪日志** | 带有每次工具调用延迟、令牌用量和成本的层次化跨度树,存储在 SQLite 中,可即时查询。 | | **输出评估** | 4 大类 12 条内置规则:完整性、相关性、安全性、成本。包含 PII 检测、提示注入模式、幻觉标记。可通过 Zod 架构添加自定义规则。 | | **成本可见性** | 任意时间窗口内所有代理的聚合成本。设置预算阈值。当代理超支时会被标记。 | | **网络仪表板** | 实时深色模式 UI,包含追踪可视化、评估结果和成本分解。 | **需要 Node.js 20 或更高版本。** 请使用 `node --version` 检查。 ## 快速开始 将 Iris 添加到你的 MCP 配置中。适用于 Claude Desktop、Cursor、Windsurf 以及任何 MCP 兼容代理。 ``` { "mcpServers": { "iris-eval": { "command": "npx", "args": ["@iris-eval/mcp-server"] } } } ``` 仅此而已。你的代理会自动发现 Iris 并开始记录追踪。 ### 开启仪表板 Iris 附带了实时网络仪表板,可显示追踪、评估结果、成本分解和规则通过率。默认关闭以保持 MCP 服务器轻量 —— 通过标志即可开启。 ``` { "mcpServers": { "iris-eval": { "command": "npx", "args": ["@iris-eval/mcp-server", "--dashboard"] } } } ``` 然后在代理运行追踪后打开 **http://localhost:6920**。相同的仪表板也通过 CLI 提供: ``` npx @iris-eval/mcp-server --dashboard ```
按工具设置 #### Claude Desktop 编辑你的 MCP 配置文件: - **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json` - **Windows:** `%APPDATA%\Claude\claude_desktop_config.json` 添加上述 JSON 配置,然后重启 Claude Desktop。 #### Claude Code ``` claude mcp add --transport stdio iris-eval -- npx @iris-eval/mcp-server ``` 然后重启会话(`/clear` 或重新启动)以加载工具。 #### Cursor / Windsurf 将上述配置添加到你的工作区 `.cursor/mcp.json` 或全局 MCP 设置中。
### 其他安装方法 ``` # 全局安装(推荐用于持久化数据和快速启动) npm install -g @iris-eval/mcp-server iris-mcp --dashboard # Docker docker run -p 3000:3000 -v iris-data:/data ghcr.io/iris-eval/mcp-server ``` ## MCP 工具 Iris 注册了三个工具,任何 MCP 兼容代理都可以调用: - **`log_trace`** — 记录代理执行,包含跨度、工具调用、令牌用量和成本 - **`evaluate_output`** — 针对完整性、相关性、安全性和成本规则对输出进行评分 - **`get_traces`** — 带过滤、分页和时间范围支持的查询已存储追踪 完整工具架构和配置:[iris-eval.com](https://iris-eval.com) ## 云端版本(即将推出) 自托管的 Iris 在你的机器上使用 SQLite 运行。随着团队评估需求的增长,云端版本将提供 PostgreSQL、团队仪表板、质量退化告警和托管基础设施。 [加入等待名单](https://iris-eval.com#waitlist) 以获取早期访问权限。 ## 示例 - [Claude Desktop 设置](examples/claude-desktop/) — stdio 和 HTTP 模式的 MCP 配置 - [TypeScript — MCP SDK 客户端](examples/typescript/basic-usage.ts) — 连接并调用工具 - [HTTP 传输 (TS + Python)](examples/http-transport/) — 用于 REST 风格集成的完整客户端代码 - [LangChain 仪器化 (Python, 概念性)](examples/langchain/observe-agent.py) — 示意性框架;需要你的代理代码可运行 - [CrewAI 仪器化 (Python, 概念性)](examples/crewai/observe-crew.py) — 示意性框架;同样需要注意 ### CLI 参数 | 标志 | 默认值 | 描述 | |------|---------|-------------| | `--transport` | `stdio` | 传输类型:`stdio` 或 `http` | | `--port` | `3000` | HTTP 传输端口 | | `--db-path` | `~/.iris/iris.db` | SQLite 数据库路径 | | `--config` | `~/.iris/config.json` | 配置文件路径 | | `--api-key` | — | HTTP 身份验证的 API 密钥 | | `--dashboard` | `false` | 启用网络仪表板 | | `--dashboard-port` | `6920` | 仪表板端口 | ### 环境变量 | 变量 | 描述 | |----------|-------------| | `IRIS_TRANSPORT` | 传输类型(`stdio` 或 `http`) | | `IRIS_PORT` | HTTP 传输端口 | | `IRIS_HOST` | HTTP 传输主机(默认 `127.0.0.1`) | | `IRIS_DB_PATH` | SQLite 数据库路径 | | `IRIS_LOG_LEVEL` | 日志级别:`debug`、`info`、`warn`、`error` | | `IRIS_DASHBOARD` | 启用网络仪表板(`true`/`false`) | | `IRIS_DASHBOARD_PORT` | 仪表板端口(默认 `6920`) | | `IRIS_API_KEY` | HTTP 身份验证的 API 密钥 | | `IRIS_ALLOWED_ORIGINS` | 允许的 CORS 来源(逗号分隔) | CLI 标志优先于环境变量(两者同时设置时)。 ### 安全性 使用 HTTP 传输时,Iris 包含: - 使用时序安全比较的 API 密钥身份验证 - 默认限制为 localhost 的 CORS - 速率限制(API 每分钟 100 次请求,MCP 每分钟 20 次) - Helmet 安全标头 - 所有路由的 Zod 输入验证 - 自定义评估规则使用的防 ReDoS 正则表达式 - 1MB 请求体限制 ``` # 生产部署 iris-mcp --transport http --port 3000 --api-key "$(openssl rand -hex 32)" --dashboard ```
<>故障排除 ### Iris 无法启动 / `ERR_MODULE_NOT_FOUND` 你可能拥有缓存的旧版本。请清除 npx 缓存并重试: ``` npx --yes @iris-eval/mcp-server@latest ``` 或者全局安装以完全避免缓存问题: ``` npm install -g @iris-eval/mcp-server@latest ``` ### 工具未在 Claude Code 中显示 MCP 工具仅在会话启动时加载。添加 iris-eval 后,请重启会话(使用 `/clear` 或重新启动终端)。 ### 版本检查 验证当前运行的版本: ``` npx @iris-eval/mcp-server --help # 显示 "Iris — MCP-Native Agent Eval Server vX.Y.Z" ``` ### 更新 ``` # 如果使用 npx(清除缓存并获取最新版本) npx --yes @iris-eval/mcp-server@latest # 如果全局安装 npm update -g @iris-eval/mcp-server ``` ### Node.js 版本 Iris 需要 Node.js 20 或更高版本。Node 18 于 2025 年 4 月停止支持,不再受支持。 ``` node --version # Must be v20.x or v22.x+ ``` ### Windows:无需 `cmd /c` Claude Code 的 `/doctor` 可能会建议用 `cmd /c` 包裹 npx。这没有必要且会导致路径解析问题。请直接使用 `npx`: ``` # 正确 claude mcp add --transport stdio iris-eval -- npx @iris-eval/mcp-server # 错误(导致 /c 被解析为路径) claude mcp add --transport stdio iris-eval -- cmd /c "npx @iris-eval/mcp-server" ```
如果 Iris 对你有用,[考虑给仓库加星](https://github.com/iris-eval/mcp-server) —— 这有助于他人找到它。 [![Star on GitHub](https://img.shields.io/github/stars/iris-eval/mcp-server?style=social)](https://github.com/iris-eval/mcp-server) MIT 许可。
标签:Agent评估标准, AI代理评估, Cursor插件, Docker, GNU通用公共许可证, Iris, mcp.so, MCP服务器, MITM代理, Node.js, npm包, PulseMCP, SEO, 二进制发布, 代理安全性, 基础设施监控, 安全失败检测, 安全漏洞捕获, 安全防御评估, 开源工具, 成本控制, 成本预算, 生产环境监控, 自动化攻击, 自动化评估, 评分系统, 请求拦截, 质量评分, 输出质量, 预算约束