---
bezeichner: "io.github.iris-eval/mcp-server"
art: "mcp_server"
slug: "io-github-iris-eval-mcp-server"
paketkoordinate: "npm:@iris-eval/mcp-server"
status: "aktiv"
homepage: "https://iris-eval.com"
erhebungsstand: "2026-10-11T01:17:01.851Z"
namensraum: "io.github.iris-eval"
registerseite: "https://tracevero.com/mcp/io-github-iris-eval-mcp-server"
abgerufen_am: "2026-10-11"
zugangsdaten_erforderlich: false
ausfuehrungsort: "lokal"
dateisystem_pfadargument: false
quelloffen_einsehbar: true
roh_beschreibung: "Stop shipping agents on vibes. Score every agent output for quality, safety, and cost."
version: "0.20.0"
roh_umgebungsvariablen: "IRIS_API_KEY, IRIS_API_KEY_FILE, IRIS_ALLOW_UNAUTHENTICATED, IRIS_DB_PATH, IRIS_SQLITE_DRIVER, IRIS_SEARCH_BUDGET_MS, IRIS_SEARCH_INDEX, IRIS_LOG_LEVEL, IRIS_HOME, IRIS_ANTHROPIC_API_KEY, IRIS_OPENAI_API_KEY, IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL, IRIS_RELEVANCE_JUDGE_MODEL, IRIS_RELEVANCE_JUDGE_DAILY_BUDGET_USD, IRIS_RELEVANCE_JUDGE_MAX_CALLS_PER_REQUEST, IRIS_RELEVANCE_JUDGE_REDACT, IRIS_CITATION_ALLOW_FETCH, IRIS_DASHBOARD, IRIS_DASHBOARD_PORT, IRIS_PORT, IRIS_OTEL_ENDPOINT, IRIS_CITATION_DOMAINS, IRIS_TRANSPORT, IRIS_HOST, IRIS_ALLOWED_ORIGINS, IRIS_DASHBOARD_HOST, IRIS_OTEL_HEADERS, IRIS_OTEL_SERVICE_NAME, IRIS_OTEL_TIMEOUT_MS, IRIS_WEBHOOK_URL, IRIS_WEBHOOK_SECRET"
roh_geheime_pflichtvariablen: ""
roh_transportarten: "stdio, stdio"
roh_pfadargumente: ""
roh_repository_url: "https://github.com/iris-eval/mcp-server"
roh_paketquellen: "mcpb, npm"
roh_geheime_pflichtkopfzeilen: ""
roh_pfad_umgebungsvariablen: ""
roh_remote_adressen: ""
roh_remote_hosts: ""
roh_statusmeldung: ""
roh_veroeffentlicht_am: "2026-10-04"
roh_aktualisiert_am: "2026-10-04"
roh_schemafassung: "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json"
roh_bereitstellungsform: "paket"
roh_repository_quelle: "github"
roh_repository_unterordner: ""
roh_paketbezeichner: "@iris-eval/mcp-server, https://github.com/iris-eval/mcp-server/releases/download/v0.20.0/iris-eval.mcpb"
roh_paketversionen: "0.20.0"
roh_laufzeithinweise: ""
roh_umgebungsformate: "boolean, number, string"
roh_umgebungsbeschreibungen: "IRIS_ALLOWED_ORIGINS=Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*) · IRIS_ALLOW_UNAUTHENTICATED=Set to 1 to run a non-loopback bind with NO API key on purpose (lifts the startup refusal; the network is then your boundary) · IRIS_ANTHROPIC_API_KEY=Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key · IRIS_API_KEY=API key for HTTP authentication. Required to bind the HTTP transport or the dashboard beyond loopback (0.0.0.0, a LAN address, a container): without it the server refuses to start · IRIS_API_KEY_FILE=Path to a file whose trimmed contents are the API key (the secret-file pattern Docker and Kubernetes mount). Set this or IRIS_API_KEY, not both; further keys and rotation are security.apiKeys in config.json · IRIS_CITATION_ALLOW_FETCH=Let verify_citations fetch URLs (off by default) · IRIS_CITATION_DOMAINS=Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on) · IRIS_DASHBOARD=Start the dashboard alongside the server (same as --dashboard) · IRIS_DASHBOARD_HOST=Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host · IRIS_DASHBOARD_PORT=Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000) · IRIS_DB_PATH=SQLite database path · IRIS_HOME=Directory for the database, custom rules and preferences (default ~/.iris) · IRIS_HOST=Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http · IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL=Hard cap on the worst-case cost of one judge or citation call (default 0.25) · IRIS_LOG_LEVEL=Log level: debug, info, warn, error · IRIS_OPENAI_API_KEY=Enables evaluate_with_llm_judge and verify_citations with an OpenAI model. Optional: the deterministic rules never need a key · IRIS_OTEL_ENDPOINT=OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous) · IRIS_OTEL_HEADERS=Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector) · IRIS_OTEL_SERVICE_NAME=service.name resource attribute on exported spans (default iris-eval) · IRIS_OTEL_TIMEOUT_MS=Timeout in milliseconds for each OTLP export request · IRIS_PORT=MCP HTTP transport port (default 3000); only used with --transport http · IRIS_RELEVANCE_JUDGE_DAILY_BUDGET_USD=What the relevance judge may spend per UTC day, per tenant, in USD (default 1); past it answers_the_ask reads the ask lexically · IRIS_RELEVANCE_JUDGE_MAX_CALLS_PER_REQUEST=Relevance judge calls one request may make (default 20) · IRIS_RELEVANCE_JUDGE_MODEL=A priced judge model; answers_the_ask then asks it on every evaluation with input, sending that input and output to the model's provider, and gates on its verdict (off by default) · IRIS_RELEVANCE_JUDGE_REDACT=on (default) replaces the PII and credentials no_pii flags before the relevance judge sends input and output to its provider; off sends them as they are · IRIS_SEARCH_BUDGET_MS=How long one trace search may read before it answers with the matches found so far, in milliseconds (50-60000, default 1000) · IRIS_SEARCH_INDEX=on (default) or off. off keeps no full-text index of the traces: writes are cheaper, and a search reads the traces within its time budget · IRIS_SQLITE_DRIVER=Which SQLite driver holds the database: native (better-sqlite3, the default) or node (Node's built-in node:sqlite, Node 22.13+). Unset: native, falling back to node when the native module cannot load · IRIS_TRANSPORT=Transport: stdio (default) or http; same as --transport · IRIS_WEBHOOK_SECRET=The signing key of that webhook (any string, or whsec_ + base64); the iris format refuses to run without one · IRIS_WEBHOOK_URL=The receiver of the webhook that fires on a moment (docs/webhooks.md); merged over notify.webhook in config.json"
roh_symbolformate: "image/png, image/svg+xml"
roh_verbindungswege: "{\"packages\":[{\"registryType\":\"npm\",\"identifier\":\"@iris-eval/mcp-server\",\"version\":\"0.20.0\",\"transport\":\"stdio\",\"environment\":[{\"name\":\"IRIS_API_KEY\",\"description\":\"API key for HTTP authentication. Required to bind the HTTP transport or the dashboard beyond loopback (0.0.0.0, a LAN address, a container): without it the server refuses to start\",\"format\":\"string\",\"required\":false,\"secret\":true},{\"name\":\"IRIS_API_KEY_FILE\",\"description\":\"Path to a file whose trimmed contents are the API key (the secret-file pattern Docker and Kubernetes mount). Set this or IRIS_API_KEY, not both; further keys and rotation are security.apiKeys in config.json\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_ALLOW_UNAUTHENTICATED\",\"description\":\"Set to 1 to run a non-loopback bind with NO API key on purpose (lifts the startup refusal; the network is then your boundary)\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_DB_PATH\",\"description\":\"SQLite database path\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_SQLITE_DRIVER\",\"description\":\"Which SQLite driver holds the database: native (better-sqlite3, the default) or node (Node's built-in node:sqlite, Node 22.13+). Unset: native, falling back to node when the native module cannot load\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_SEARCH_BUDGET_MS\",\"description\":\"How long one trace search may read before it answers with the matches found so far, in milliseconds (50-60000, default 1000)\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_SEARCH_INDEX\",\"description\":\"on (default) or off. off keeps no full-text index of the traces: writes are cheaper, and a search reads the traces within its time budget\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_LOG_LEVEL\",\"description\":\"Log level: debug, info, warn, error\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_HOME\",\"description\":\"Directory for the database, custom rules and preferences (default ~/.iris)\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_ANTHROPIC_API_KEY\",\"description\":\"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key\",\"format\":\"string\",\"required\":false,\"secret\":true},{\"name\":\"IRIS_OPENAI_API_KEY\",\"description\":\"Enables evaluate_with_llm_judge and verify_citations with an OpenAI model. Optional: the deterministic rules never need a key\",\"format\":\"string\",\"required\":false,\"secret\":true},{\"name\":\"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL\",\"description\":\"Hard cap on the worst-case cost of one judge or citation call (default 0.25)\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_RELEVANCE_JUDGE_MODEL\",\"description\":\"A priced judge model; answers_the_ask then asks it on every evaluation with input, sending that input and output to the model's provider, and gates on its verdict (off by default)\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_RELEVANCE_JUDGE_DAILY_BUDGET_USD\",\"description\":\"What the relevance judge may spend per UTC day, per tenant, in USD (default 1); past it answers_the_ask reads the ask lexically\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_RELEVANCE_JUDGE_MAX_CALLS_PER_REQUEST\",\"description\":\"Relevance judge calls one request may make (default 20)\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_RELEVANCE_JUDGE_REDACT\",\"description\":\"on (default) replaces the PII and credentials no_pii flags before the relevance judge sends input and output to its provider; off sends them as they are\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_CITATION_ALLOW_FETCH\",\"description\":\"Let verify_citations fetch URLs (off by default)\",\"format\":\"boolean\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_DASHBOARD\",\"description\":\"Start the dashboard alongside the server (same as --dashboard)\",\"format\":\"boolean\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_DASHBOARD_PORT\",\"description\":\"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_PORT\",\"description\":\"MCP HTTP transport port (default 3000); only used with --transport http\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_OTEL_ENDPOINT\",\"description\":\"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_CITATION_DOMAINS\",\"description\":\"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_TRANSPORT\",\"description\":\"Transport: stdio (default) or http; same as --transport\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_HOST\",\"description\":\"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_ALLOWED_ORIGINS\",\"description\":\"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_DASHBOARD_HOST\",\"description\":\"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_OTEL_HEADERS\",\"description\":\"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_OTEL_SERVICE_NAME\",\"description\":\"service.name resource attribute on exported spans (default iris-eval)\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_OTEL_TIMEOUT_MS\",\"description\":\"Timeout in milliseconds for each OTLP export request\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_WEBHOOK_URL\",\"description\":\"The receiver of the webhook that fires on a moment (docs/webhooks.md); merged over notify.webhook in config.json\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"IRIS_WEBHOOK_SECRET\",\"description\":\"The signing key of that webhook (any string, or whsec_ + base64); the iris format refuses to run without one\",\"format\":\"string\",\"required\":false,\"secret\":true}],\"additional_arguments_declared\":false},{\"registryType\":\"mcpb\",\"identifier\":\"https://github.com/iris-eval/mcp-server/releases/download/v0.20.0/iris-eval.mcpb\",\"version\":\"0.20.0\",\"transport\":\"stdio\",\"environment\":[],\"additional_arguments_declared\":false}],\"remotes\":[]}"
---

# Iris

## Measured values

| Property | Value | Source | Collected on | Level of trust | Raw declaration |
| --- | --- | --- | --- | --- | --- |
| Required secrets declared | false | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_geheime_pflichtvariablen: ; roh_geheime_pflichtkopfzeilen: |
| Execution location | lokal | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_transportarten: stdio, stdio |
| Path argument present | false | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_pfadargumente: ; roh_pfad_umgebungsvariablen: |
| Repository URL listed | true | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_repository_url: https://github.com/iris-eval/mcp-server |
| Description (raw) | Stop shipping agents on vibes. Score every agent output for quality, safety, and cost. | MCP-Register | 2026-09-04T01:17:01.464Z | selbstauskunft |  |
| Declared version | 0.20.0 | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Environment variables (raw) | IRIS_API_KEY, IRIS_API_KEY_FILE, IRIS_ALLOW_UNAUTHENTICATED, IRIS_DB_PATH, IRIS_SQLITE_DRIVER, IRIS_SEARCH_BUDGET_MS, IRIS_SEARCH_INDEX, IRIS_LOG_LEVEL, IRIS_HOME, IRIS_ANTHROPIC_API_KEY, IRIS_OPENAI_API_KEY, IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL, IRIS_RELEVANCE_JUDGE_MODEL, IRIS_RELEVANCE_JUDGE_DAILY_BUDGET_USD, IRIS_RELEVANCE_JUDGE_MAX_CALLS_PER_REQUEST, IRIS_RELEVANCE_JUDGE_REDACT, IRIS_CITATION_ALLOW_FETCH, IRIS_DASHBOARD, IRIS_DASHBOARD_PORT, IRIS_PORT, IRIS_OTEL_ENDPOINT, IRIS_CITATION_DOMAINS, IRIS_TRANSPORT, IRIS_HOST, IRIS_ALLOWED_ORIGINS, IRIS_DASHBOARD_HOST, IRIS_OTEL_HEADERS, IRIS_OTEL_SERVICE_NAME, IRIS_OTEL_TIMEOUT_MS, IRIS_WEBHOOK_URL, IRIS_WEBHOOK_SECRET | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Required secret variables (raw) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Transports (raw) | stdio, stdio | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Path arguments (raw) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Repository (raw) | https://github.com/iris-eval/mcp-server | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Package registries (raw) | mcpb, npm | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Required secret headers (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Path environment variables (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote URLs (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote hosts (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Registry status message (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| First listed in the registry (raw) | 2026-10-04 | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Last changed in the registry (raw) | 2026-10-04 | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Delivery form (raw) | paket | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository platform (raw) | github | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository subfolder (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Package identifiers (raw) | @iris-eval/mcp-server, https://github.com/iris-eval/mcp-server/releases/download/v0.20.0/iris-eval.mcpb | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Package versions (raw) | 0.20.0 | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Runtime hints (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Environment variable formats (raw) | boolean, number, string | MCP-Register | 2026-09-05T01:17:01.571Z | selbstauskunft |  |
| Environment variable descriptions (raw) | IRIS_ALLOWED_ORIGINS=Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*) · IRIS_ALLOW_UNAUTHENTICATED=Set to 1 to run a non-loopback bind with NO API key on purpose (lifts the startup refusal; the network is then your boundary) · IRIS_ANTHROPIC_API_KEY=Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key · IRIS_API_KEY=API key for HTTP authentication. Required to bind the HTTP transport or the dashboard beyond loopback (0.0.0.0, a LAN address, a container): without it the server refuses to start · IRIS_API_KEY_FILE=Path to a file whose trimmed contents are the API key (the secret-file pattern Docker and Kubernetes mount). Set this or IRIS_API_KEY, not both; further keys and rotation are security.apiKeys in config.json · IRIS_CITATION_ALLOW_FETCH=Let verify_citations fetch URLs (off by default) · IRIS_CITATION_DOMAINS=Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on) · IRIS_DASHBOARD=Start the dashboard alongside the server (same as --dashboard) · IRIS_DASHBOARD_HOST=Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host · IRIS_DASHBOARD_PORT=Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000) · IRIS_DB_PATH=SQLite database path · IRIS_HOME=Directory for the database, custom rules and preferences (default ~/.iris) · IRIS_HOST=Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http · IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL=Hard cap on the worst-case cost of one judge or citation call (default 0.25) · IRIS_LOG_LEVEL=Log level: debug, info, warn, error · IRIS_OPENAI_API_KEY=Enables evaluate_with_llm_judge and verify_citations with an OpenAI model. Optional: the deterministic rules never need a key · IRIS_OTEL_ENDPOINT=OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous) · IRIS_OTEL_HEADERS=Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector) · IRIS_OTEL_SERVICE_NAME=service.name resource attribute on exported spans (default iris-eval) · IRIS_OTEL_TIMEOUT_MS=Timeout in milliseconds for each OTLP export request · IRIS_PORT=MCP HTTP transport port (default 3000); only used with --transport http · IRIS_RELEVANCE_JUDGE_DAILY_BUDGET_USD=What the relevance judge may spend per UTC day, per tenant, in USD (default 1); past it answers_the_ask reads the ask lexically · IRIS_RELEVANCE_JUDGE_MAX_CALLS_PER_REQUEST=Relevance judge calls one request may make (default 20) · IRIS_RELEVANCE_JUDGE_MODEL=A priced judge model; answers_the_ask then asks it on every evaluation with input, sending that input and output to the model's provider, and gates on its verdict (off by default) · IRIS_RELEVANCE_JUDGE_REDACT=on (default) replaces the PII and credentials no_pii flags before the relevance judge sends input and output to its provider; off sends them as they are · IRIS_SEARCH_BUDGET_MS=How long one trace search may read before it answers with the matches found so far, in milliseconds (50-60000, default 1000) · IRIS_SEARCH_INDEX=on (default) or off. off keeps no full-text index of the traces: writes are cheaper, and a search reads the traces within its time budget · IRIS_SQLITE_DRIVER=Which SQLite driver holds the database: native (better-sqlite3, the default) or node (Node's built-in node:sqlite, Node 22.13+). Unset: native, falling back to node when the native module cannot load · IRIS_TRANSPORT=Transport: stdio (default) or http; same as --transport · IRIS_WEBHOOK_SECRET=The signing key of that webhook (any string, or whsec_ + base64); the iris format refuses to run without one · IRIS_WEBHOOK_URL=The receiver of the webhook that fires on a moment (docs/webhooks.md); merged over notify.webhook in config.json | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Icon formats (raw) | image/png, image/svg+xml | MCP-Register | 2026-09-23T01:17:01.309Z | selbstauskunft |  |
| Connection paths (source structure) | {"packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.20.0","transport":"stdio","environment":[{"name":"IRIS_API_KEY","description":"API key for HTTP authentication. Required to bind the HTTP transport or the dashboard beyond loopback (0.0.0.0, a LAN address, a container): without it the server refuses to start","format":"string","required":false,"secret":true},{"name":"IRIS_API_KEY_FILE","description":"Path to a file whose trimmed contents are the API key (the secret-file pattern Docker and Kubernetes mount). Set this or IRIS_API_KEY, not both; further keys and rotation are security.apiKeys in config.json","format":"string","required":false,"secret":false},{"name":"IRIS_ALLOW_UNAUTHENTICATED","description":"Set to 1 to run a non-loopback bind with NO API key on purpose (lifts the startup refusal; the network is then your boundary)","format":"string","required":false,"secret":false},{"name":"IRIS_DB_PATH","description":"SQLite database path","format":"string","required":false,"secret":false},{"name":"IRIS_SQLITE_DRIVER","description":"Which SQLite driver holds the database: native (better-sqlite3, the default) or node (Node's built-in node:sqlite, Node 22.13+). Unset: native, falling back to node when the native module cannot load","format":"string","required":false,"secret":false},{"name":"IRIS_SEARCH_BUDGET_MS","description":"How long one trace search may read before it answers with the matches found so far, in milliseconds (50-60000, default 1000)","format":"string","required":false,"secret":false},{"name":"IRIS_SEARCH_INDEX","description":"on (default) or off. off keeps no full-text index of the traces: writes are cheaper, and a search reads the traces within its time budget","format":"string","required":false,"secret":false},{"name":"IRIS_LOG_LEVEL","description":"Log level: debug, info, warn, error","format":"string","required":false,"secret":false},{"name":"IRIS_HOME","description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","required":false,"secret":false},{"name":"IRIS_ANTHROPIC_API_KEY","description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","required":false,"secret":true},{"name":"IRIS_OPENAI_API_KEY","description":"Enables evaluate_with_llm_judge and verify_citations with an OpenAI model. Optional: the deterministic rules never need a key","format":"string","required":false,"secret":true},{"name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL","description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","required":false,"secret":false},{"name":"IRIS_RELEVANCE_JUDGE_MODEL","description":"A priced judge model; answers_the_ask then asks it on every evaluation with input, sending that input and output to the model's provider, and gates on its verdict (off by default)","format":"string","required":false,"secret":false},{"name":"IRIS_RELEVANCE_JUDGE_DAILY_BUDGET_USD","description":"What the relevance judge may spend per UTC day, per tenant, in USD (default 1); past it answers_the_ask reads the ask lexically","format":"string","required":false,"secret":false},{"name":"IRIS_RELEVANCE_JUDGE_MAX_CALLS_PER_REQUEST","description":"Relevance judge calls one request may make (default 20)","format":"string","required":false,"secret":false},{"name":"IRIS_RELEVANCE_JUDGE_REDACT","description":"on (default) replaces the PII and credentials no_pii flags before the relevance judge sends input and output to its provider; off sends them as they are","format":"string","required":false,"secret":false},{"name":"IRIS_CITATION_ALLOW_FETCH","description":"Let verify_citations fetch URLs (off by default)","format":"boolean","required":false,"secret":false},{"name":"IRIS_DASHBOARD","description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","required":false,"secret":false},{"name":"IRIS_DASHBOARD_PORT","description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","required":false,"secret":false},{"name":"IRIS_PORT","description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","required":false,"secret":false},{"name":"IRIS_OTEL_ENDPOINT","description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","required":false,"secret":false},{"name":"IRIS_CITATION_DOMAINS","description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","required":false,"secret":false},{"name":"IRIS_TRANSPORT","description":"Transport: stdio (default) or http; same as --transport","format":"string","required":false,"secret":false},{"name":"IRIS_HOST","description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","required":false,"secret":false},{"name":"IRIS_ALLOWED_ORIGINS","description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","required":false,"secret":false},{"name":"IRIS_DASHBOARD_HOST","description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","required":false,"secret":false},{"name":"IRIS_OTEL_HEADERS","description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","required":false,"secret":false},{"name":"IRIS_OTEL_SERVICE_NAME","description":"service.name resource attribute on exported spans (default iris-eval)","format":"string","required":false,"secret":false},{"name":"IRIS_OTEL_TIMEOUT_MS","description":"Timeout in milliseconds for each OTLP export request","format":"number","required":false,"secret":false},{"name":"IRIS_WEBHOOK_URL","description":"The receiver of the webhook that fires on a moment (docs/webhooks.md); merged over notify.webhook in config.json","format":"string","required":false,"secret":false},{"name":"IRIS_WEBHOOK_SECRET","description":"The signing key of that webhook (any string, or whsec_ + base64); the iris format refuses to run without one","format":"string","required":false,"secret":true}],"additional_arguments_declared":false},{"registryType":"mcpb","identifier":"https://github.com/iris-eval/mcp-server/releases/download/v0.20.0/iris-eval.mcpb","version":"0.20.0","transport":"stdio","environment":[],"additional_arguments_declared":false}],"remotes":[]} | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |

## Links

- Namespace: [[namensraum/io-github-iris-eval|io.github.iris-eval]]

---

- Registry page: <https://tracevero.com/mcp/io-github-iris-eval-mcp-server>
- Retrieved on: 2026-10-11
