iris-eval/mcp-server
GitHub: iris-eval/mcp-server
一个 MCP 专用的 Agent 评估标准服务器,解决输出质量、安全与成本的可观测性问题。
Stars: 6 | Forks: 3
# Iris — MCP 的 Agent 评估标准
[](https://glama.ai/mcp/servers/iris-eval/mcp-server)
[](cursor://anysphere.cursor-deeplink/mcp/install?name=server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBpcmlzLWV2YWwvbWNwLXNlcnZlciJdLCJlbnYiOnsiSVJJU19MT0dfTEVWRUwiOiJpbmZvIn19)
[](https://npmjs.com/package/@iris-eval/mcp-server)
[](https://npmjs.com/package/@iris-eval/mcp-server)
[](https://github.com/iris-eval/mcp-server)
[](https://github.com/iris-eval/mcp-server/actions/workflows/ci.yml)
[](LICENSE)
[](https://github.com/iris-eval/mcp-server/pkgs/container/mcp-server)
[](https://www.pulsemcp.com/servers/iris-eval)
[](https://mcp.so/server/iris/iris-eval)
**了解你的 AI 代理是否足够好以至于可以发布。** Iris 是一个开源的 MCP 服务器,用于评估输出质量、捕获安全故障并强制执行所有代理的成本预算。任何 MCP 兼容的代理都会自动发现并使用它 —— 无需 SDK,也无需代码更改。

## 问题
你的代理正在生产环境中运行。基础设施监控看到 `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
```
### 其他安装方法
```
# 全局安装(推荐用于持久化数据和快速启动)
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
```
按工具设置
#### 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 设置中。
<>故障排除
### 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) —— 这有助于他人找到它。
[](https://github.com/iris-eval/mcp-server)
MIT 许可。标签:Agent评估标准, AI代理评估, Cursor插件, Docker, GNU通用公共许可证, Iris, mcp.so, MCP服务器, MITM代理, Node.js, npm包, PulseMCP, SEO, 二进制发布, 代理安全性, 基础设施监控, 安全失败检测, 安全漏洞捕获, 安全防御评估, 开源工具, 成本控制, 成本预算, 生产环境监控, 自动化攻击, 自动化评估, 评分系统, 请求拦截, 质量评分, 输出质量, 预算约束