MCP Hub β€Ί AI & Agents β€Ί Iris

Iris MCP server

by iris-eval Β· io.github.iris-eval/mcp-server

Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.

πŸ€– AI & Agentsnpmv0.21.0
Open in MCP HubGitHub repository β†—Website β†—

How to install Iris

npm

claude mcp add mcp-server -- npx -y @iris-eval/[email protected]

Or add it to your MCP config (Claude Desktop, Cursor, VS Code):

{
  "mcpServers": {
    "mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@iris-eval/[email protected]"
      ]
    }
  }
}

Environment variables:
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_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_DB_PATH – SQLite database path
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_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_LOG_LEVEL – Log level: debug, info, warn, error
IRIS_HOME – Directory for the database, custom rules and preferences (default ~/.iris)
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_OPENAI_API_KEY – Enables evaluate_with_llm_judge and verify_citations with an OpenAI model. Optional: the deterministic rules never need a key
IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL – Hard cap on the worst-case cost of one LLM judge call (default 0.25); max_cost_usd can lower it for a call, never raise it
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_LLM_JUDGE_DAILY_BUDGET_USD – What every judge call together may spend per UTC day, per tenant, in USD (default 1): the relevance judge, evaluate_with_llm_judge and verify_citations. Past it no judge call is made
IRIS_RELEVANCE_JUDGE_DAILY_BUDGET_USD – The name of IRIS_LLM_JUDGE_DAILY_BUDGET_USD before 0.21.0. Read when the new name is unset, and it then limits every judge call
IRIS_RELEVANCE_JUDGE_MAX_CALLS_PER_REQUEST – Relevance judge calls one request may make (default 20)
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_CITATION_ALLOW_FETCH – Let verify_citations fetch URLs (off by default); a tool argument can turn it off for a call, never on
IRIS_DASHBOARD – Start the dashboard alongside the server (same as --dashboard)
IRIS_DASHBOARD_PORT – Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)
IRIS_PORT – MCP HTTP transport port (default 3000); only used with --transport http
IRIS_OTEL_ENDPOINT – OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)
IRIS_CITATION_DOMAINS – Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on); a tool argument can narrow it, never add to it
IRIS_CITATION_MAX_COST_USD_TOTAL – The most one verify_citations call may spend on judge calls, in USD (default 1); max_cost_usd_total can lower it, never raise it
IRIS_TRANSPORT – Transport: stdio (default) or http; same as --transport
IRIS_HOST – Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http
IRIS_ALLOWED_ORIGINS – Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)
IRIS_MAX_INPUT_ELEMENTS – The most array elements and object keys one input may hold before it is validated (default 100000): a tool call's arguments, and a dashboard or OTLP JSON request body. A tool call over it gets an error result; a body, 413. OTLP protobuf has its own ceiling, one element per 5 bytes of the request size limit
IRIS_MAX_TOOL_INPUT_ELEMENTS – The name of IRIS_MAX_INPUT_ELEMENTS before 0.21.0, read when the new name is unset
IRIS_DASHBOARD_HOST – Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host
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_WEBHOOK_URL – The receiver of the webhook that fires on a moment (docs/webhooks.md); merged over notify.webhook in config.json
IRIS_WEBHOOK_SECRET – The signing key of that webhook (any string, or whsec_ + base64); the iris format refuses to run without one

Replace placeholders in <angle brackets> with your own values. Review what a server can access before you enable it.

Details

Version
0.21.0
Published
2026-10-25
Updated
2026-10-25
Namespace
io.github.iris-eval
Source
iris-eval/mcp-server

Similar ai & agents servers