{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"MCP-native agent evaluation and observability server for AI agents","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.1.3","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.1.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-03-15T21:46:16.425773Z","publishedAt":"2026-03-15T21:46:16.425773Z","updatedAt":"2026-03-15T21:46:16.425773Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"MCP-native agent evaluation and observability server for AI agents","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.1.4","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.1.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-03-20T08:49:16.319883Z","publishedAt":"2026-03-20T08:49:16.319883Z","updatedAt":"2026-03-20T08:49:16.319883Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"The agent eval standard for MCP. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.1.6","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.1.6","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-03-23T16:50:51.495203Z","publishedAt":"2026-03-23T16:50:51.495203Z","updatedAt":"2026-03-23T16:50:51.495203Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"The agent eval standard for MCP. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.1.7","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.1.7","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-03-26T00:50:08.940272Z","publishedAt":"2026-03-26T00:50:08.940272Z","updatedAt":"2026-03-26T00:50:08.940272Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"The agent eval standard for MCP. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.1.8","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.1.8","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-03-26T04:01:36.356298Z","publishedAt":"2026-03-26T04:01:36.356298Z","updatedAt":"2026-03-26T04:01:36.356298Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.10.0","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.10.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"description":"Let verify_citations fetch URLs (off by default)","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-mcp)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-05T19:27:11.080433Z","publishedAt":"2026-09-05T19:27:11.080433Z","updatedAt":"2026-09-05T19:27:11.080433Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.11.0","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.11.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"description":"Let verify_citations fetch URLs (off by default)","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-mcp)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-06T22:16:38.361937Z","publishedAt":"2026-09-06T22:16:38.361937Z","updatedAt":"2026-09-06T22:16:38.361937Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.12.0","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.12.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"description":"Let verify_citations fetch URLs (off by default)","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-mcp)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-07T21:02:41.545592Z","publishedAt":"2026-09-07T21:02:41.545592Z","updatedAt":"2026-09-07T21:02:41.545592Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.12.1","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.12.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"description":"Let verify_citations fetch URLs (off by default)","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-mcp)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-08T03:15:13.977243Z","publishedAt":"2026-09-08T03:15:13.977243Z","updatedAt":"2026-09-08T03:15:13.977243Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.13.0","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.13.0","transport":{"type":"stdio"},"environmentVariables":[{"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","isSecret":true,"name":"IRIS_API_KEY"},{"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","name":"IRIS_ALLOW_UNAUTHENTICATED"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"description":"Let verify_citations fetch URLs (off by default)","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-eval)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-08T07:21:53.052211Z","publishedAt":"2026-09-08T07:21:53.052211Z","updatedAt":"2026-09-08T07:21:53.052211Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.14.0","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.14.0","transport":{"type":"stdio"},"environmentVariables":[{"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","isSecret":true,"name":"IRIS_API_KEY"},{"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","name":"IRIS_ALLOW_UNAUTHENTICATED"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"description":"Let verify_citations fetch URLs (off by default)","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-eval)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-20T21:55:18.494904Z","publishedAt":"2026-09-20T21:55:18.494904Z","updatedAt":"2026-09-20T21:55:18.494904Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.15.0","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.15.0","transport":{"type":"stdio"},"environmentVariables":[{"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","isSecret":true,"name":"IRIS_API_KEY"},{"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","name":"IRIS_API_KEY_FILE"},{"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","name":"IRIS_ALLOW_UNAUTHENTICATED"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"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","name":"IRIS_SQLITE_DRIVER"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"description":"Let verify_citations fetch URLs (off by default)","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-eval)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-21T07:58:39.893199Z","publishedAt":"2026-09-21T07:58:39.893199Z","updatedAt":"2026-09-21T07:58:39.893199Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","title":"Iris","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.16.0","websiteUrl":"https://iris-eval.com","icons":[{"src":"https://iris-eval.com/iris-logo.svg","mimeType":"image/svg+xml","sizes":["any"]},{"src":"https://iris-eval.com/iris-logo-white-bg.png","mimeType":"image/png","sizes":["180x180"]}],"packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.16.0","transport":{"type":"stdio"},"environmentVariables":[{"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","isSecret":true,"name":"IRIS_API_KEY"},{"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","name":"IRIS_API_KEY_FILE"},{"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","name":"IRIS_ALLOW_UNAUTHENTICATED"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"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","name":"IRIS_SQLITE_DRIVER"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"description":"Let verify_citations fetch URLs (off by default)","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-eval)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"},{"description":"The receiver of the webhook that fires on a moment (docs/webhooks.md); merged over notify.webhook in config.json","format":"string","name":"IRIS_WEBHOOK_URL"},{"description":"The signing key of that webhook (any string, or whsec_ + base64); the iris format refuses to run without one","format":"string","isSecret":true,"name":"IRIS_WEBHOOK_SECRET"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-22T08:35:29.348594Z","publishedAt":"2026-09-22T08:35:29.348594Z","updatedAt":"2026-09-22T08:35:29.348594Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","title":"Iris","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.17.0","websiteUrl":"https://iris-eval.com","icons":[{"src":"https://iris-eval.com/iris-logo.svg","mimeType":"image/svg+xml","sizes":["any"]},{"src":"https://iris-eval.com/iris-logo-white-bg.png","mimeType":"image/png","sizes":["180x180"]}],"packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.17.0","transport":{"type":"stdio"},"environmentVariables":[{"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","isSecret":true,"name":"IRIS_API_KEY"},{"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","name":"IRIS_API_KEY_FILE"},{"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","name":"IRIS_ALLOW_UNAUTHENTICATED"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"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","name":"IRIS_SQLITE_DRIVER"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"description":"Let verify_citations fetch URLs (off by default)","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-eval)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"},{"description":"The receiver of the webhook that fires on a moment (docs/webhooks.md); merged over notify.webhook in config.json","format":"string","name":"IRIS_WEBHOOK_URL"},{"description":"The signing key of that webhook (any string, or whsec_ + base64); the iris format refuses to run without one","format":"string","isSecret":true,"name":"IRIS_WEBHOOK_SECRET"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-23T20:47:55.726271Z","publishedAt":"2026-09-23T20:47:55.726271Z","updatedAt":"2026-09-23T20:47:55.726271Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","title":"Iris","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.18.0","websiteUrl":"https://iris-eval.com","icons":[{"src":"https://iris-eval.com/iris-logo.svg","mimeType":"image/svg+xml","sizes":["any"]},{"src":"https://iris-eval.com/iris-logo-white-bg.png","mimeType":"image/png","sizes":["180x180"]}],"packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.18.0","transport":{"type":"stdio"},"environmentVariables":[{"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","isSecret":true,"name":"IRIS_API_KEY"},{"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","name":"IRIS_API_KEY_FILE"},{"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","name":"IRIS_ALLOW_UNAUTHENTICATED"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"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","name":"IRIS_SQLITE_DRIVER"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"description":"Let verify_citations fetch URLs (off by default)","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-eval)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"},{"description":"The receiver of the webhook that fires on a moment (docs/webhooks.md); merged over notify.webhook in config.json","format":"string","name":"IRIS_WEBHOOK_URL"},{"description":"The signing key of that webhook (any string, or whsec_ + base64); the iris format refuses to run without one","format":"string","isSecret":true,"name":"IRIS_WEBHOOK_SECRET"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-24T14:26:29.953058Z","publishedAt":"2026-09-24T14:26:29.953058Z","updatedAt":"2026-09-24T14:26:29.953058Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","title":"Iris","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.19.0","websiteUrl":"https://iris-eval.com","icons":[{"src":"https://iris-eval.com/iris-logo.svg","mimeType":"image/svg+xml","sizes":["any"]},{"src":"https://iris-eval.com/iris-logo-white-bg.png","mimeType":"image/png","sizes":["180x180"]}],"packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.19.0","transport":{"type":"stdio"},"environmentVariables":[{"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","isSecret":true,"name":"IRIS_API_KEY"},{"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","name":"IRIS_API_KEY_FILE"},{"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","name":"IRIS_ALLOW_UNAUTHENTICATED"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"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","name":"IRIS_SQLITE_DRIVER"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"description":"Let verify_citations fetch URLs (off by default)","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-eval)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"},{"description":"The receiver of the webhook that fires on a moment (docs/webhooks.md); merged over notify.webhook in config.json","format":"string","name":"IRIS_WEBHOOK_URL"},{"description":"The signing key of that webhook (any string, or whsec_ + base64); the iris format refuses to run without one","format":"string","isSecret":true,"name":"IRIS_WEBHOOK_SECRET"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-25T21:21:06.828065Z","publishedAt":"2026-09-25T21:21:06.828065Z","updatedAt":"2026-09-25T21:21:06.828065Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"The agent eval standard for MCP. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.2.1","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.2.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-16T23:44:35.246678Z","publishedAt":"2026-04-16T23:44:35.246678Z","updatedAt":"2026-04-16T23:44:35.246678Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"The agent eval standard for MCP. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.2.2","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.2.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-17T00:39:43.759323Z","publishedAt":"2026-04-17T00:39:43.759323Z","updatedAt":"2026-04-17T00:39:43.759323Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"The agent eval standard for MCP. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.2.3","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.2.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-17T03:30:26.991912Z","publishedAt":"2026-04-17T03:30:26.991912Z","updatedAt":"2026-04-17T03:30:26.991912Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"The agent eval standard for MCP. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.2.4","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.2.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-17T03:53:44.148382Z","publishedAt":"2026-04-17T03:53:44.148382Z","updatedAt":"2026-04-17T03:53:44.148382Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","title":"Iris","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.20.0","websiteUrl":"https://iris-eval.com","icons":[{"src":"https://iris-eval.com/iris-logo.svg","mimeType":"image/svg+xml","sizes":["any"]},{"src":"https://iris-eval.com/iris-logo-white-bg.png","mimeType":"image/png","sizes":["180x180"]}],"packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.20.0","transport":{"type":"stdio"},"environmentVariables":[{"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","isSecret":true,"name":"IRIS_API_KEY"},{"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","name":"IRIS_API_KEY_FILE"},{"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","name":"IRIS_ALLOW_UNAUTHENTICATED"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"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","name":"IRIS_SQLITE_DRIVER"},{"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","name":"IRIS_SEARCH_BUDGET_MS"},{"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","name":"IRIS_SEARCH_INDEX"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"Hard cap on the worst-case cost of one judge or citation call (default 0.25)","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"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","name":"IRIS_RELEVANCE_JUDGE_MODEL"},{"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","name":"IRIS_RELEVANCE_JUDGE_DAILY_BUDGET_USD"},{"description":"Relevance judge calls one request may make (default 20)","format":"string","name":"IRIS_RELEVANCE_JUDGE_MAX_CALLS_PER_REQUEST"},{"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","name":"IRIS_RELEVANCE_JUDGE_REDACT"},{"description":"Let verify_citations fetch URLs (off by default)","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"Comma-separated domain allowlist for verify_citations fetches (only consulted when IRIS_CITATION_ALLOW_FETCH is on)","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-eval)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"},{"description":"The receiver of the webhook that fires on a moment (docs/webhooks.md); merged over notify.webhook in config.json","format":"string","name":"IRIS_WEBHOOK_URL"},{"description":"The signing key of that webhook (any string, or whsec_ + base64); the iris format refuses to run without one","format":"string","isSecret":true,"name":"IRIS_WEBHOOK_SECRET"}]},{"registryType":"mcpb","identifier":"https://github.com/iris-eval/mcp-server/releases/download/v0.20.0/iris-eval.mcpb","version":"0.20.0","fileSha256":"45fc7164f9b598500f9fb10162478dd13027d28be9d876c2fa9ca0ad4ffcdca3","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-04T02:34:27.117156Z","publishedAt":"2026-10-04T02:34:27.117156Z","updatedAt":"2026-10-04T02:34:27.117156Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","title":"Iris","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.21.0","websiteUrl":"https://iris-eval.com","icons":[{"src":"https://iris-eval.com/iris-logo.svg","mimeType":"image/svg+xml","sizes":["any"]},{"src":"https://iris-eval.com/iris-logo-white-bg.png","mimeType":"image/png","sizes":["180x180"]}],"packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.21.0","transport":{"type":"stdio"},"environmentVariables":[{"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","isSecret":true,"name":"IRIS_API_KEY"},{"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","name":"IRIS_API_KEY_FILE"},{"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","name":"IRIS_ALLOW_UNAUTHENTICATED"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"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","name":"IRIS_SQLITE_DRIVER"},{"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","name":"IRIS_SEARCH_BUDGET_MS"},{"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","name":"IRIS_SEARCH_INDEX"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"},{"description":"Directory for the database, custom rules and preferences (default ~/.iris)","format":"string","name":"IRIS_HOME"},{"description":"Enables evaluate_with_llm_judge and verify_citations with an Anthropic model. Optional: the deterministic rules never need a key","format":"string","isSecret":true,"name":"IRIS_ANTHROPIC_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","isSecret":true,"name":"IRIS_OPENAI_API_KEY"},{"description":"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","format":"string","name":"IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL"},{"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","name":"IRIS_RELEVANCE_JUDGE_MODEL"},{"description":"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","format":"string","name":"IRIS_LLM_JUDGE_DAILY_BUDGET_USD"},{"description":"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","format":"string","name":"IRIS_RELEVANCE_JUDGE_DAILY_BUDGET_USD"},{"description":"Relevance judge calls one request may make (default 20)","format":"string","name":"IRIS_RELEVANCE_JUDGE_MAX_CALLS_PER_REQUEST"},{"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","name":"IRIS_RELEVANCE_JUDGE_REDACT"},{"description":"Let verify_citations fetch URLs (off by default); a tool argument can turn it off for a call, never on","format":"boolean","name":"IRIS_CITATION_ALLOW_FETCH"},{"description":"Start the dashboard alongside the server (same as --dashboard)","format":"boolean","name":"IRIS_DASHBOARD"},{"description":"Dashboard port (default 6920); IRIS_PORT is the MCP HTTP transport port (default 3000)","format":"number","name":"IRIS_DASHBOARD_PORT"},{"description":"MCP HTTP transport port (default 3000); only used with --transport http","format":"number","name":"IRIS_PORT"},{"description":"OTLP/HTTP collector URL; when set, every stored trace is also exported as OpenTelemetry spans (best-effort, asynchronous)","format":"string","name":"IRIS_OTEL_ENDPOINT"},{"description":"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","format":"string","name":"IRIS_CITATION_DOMAINS"},{"description":"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","format":"string","name":"IRIS_CITATION_MAX_COST_USD_TOTAL"},{"description":"Transport: stdio (default) or http; same as --transport","format":"string","name":"IRIS_TRANSPORT"},{"description":"Bind host for the HTTP transport (default 127.0.0.1); only used with --transport http","format":"string","name":"IRIS_HOST"},{"description":"Comma-separated Origin allowlist for the HTTP transport and dashboard CORS (default http://localhost:*)","format":"string","name":"IRIS_ALLOWED_ORIGINS"},{"description":"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","format":"number","name":"IRIS_MAX_INPUT_ELEMENTS"},{"description":"The name of IRIS_MAX_INPUT_ELEMENTS before 0.21.0, read when the new name is unset","format":"number","name":"IRIS_MAX_TOOL_INPUT_ELEMENTS"},{"description":"Bind host for the dashboard (default 127.0.0.1); same as --dashboard-host","format":"string","name":"IRIS_DASHBOARD_HOST"},{"description":"Comma-separated key=value headers sent with every OTLP export (for example an auth token for your collector)","format":"string","name":"IRIS_OTEL_HEADERS"},{"description":"service.name resource attribute on exported spans (default iris-eval)","format":"string","name":"IRIS_OTEL_SERVICE_NAME"},{"description":"Timeout in milliseconds for each OTLP export request","format":"number","name":"IRIS_OTEL_TIMEOUT_MS"},{"description":"The receiver of the webhook that fires on a moment (docs/webhooks.md); merged over notify.webhook in config.json","format":"string","name":"IRIS_WEBHOOK_URL"},{"description":"The signing key of that webhook (any string, or whsec_ + base64); the iris format refuses to run without one","format":"string","isSecret":true,"name":"IRIS_WEBHOOK_SECRET"}]},{"registryType":"mcpb","identifier":"https://github.com/iris-eval/mcp-server/releases/download/v0.21.0/iris-eval.mcpb","version":"0.21.0","fileSha256":"bf9c40dd660283ccade5a2205c0b5cb4ab78602e396bb53414b819e32de6a9c7","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-25T21:36:56.554987Z","publishedAt":"2026-10-25T21:36:56.554987Z","updatedAt":"2026-10-25T21:36:56.554987Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"The agent eval standard for MCP. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.3.0","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.3.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-22T04:25:12.689254Z","publishedAt":"2026-04-22T04:25:12.689254Z","updatedAt":"2026-04-22T04:25:12.689254Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"The agent eval standard for MCP. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.4.0","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.4.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-24T03:58:29.503194Z","publishedAt":"2026-04-24T03:58:29.503194Z","updatedAt":"2026-04-24T03:58:29.503194Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"The agent eval standard for MCP. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.4.2","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.4.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-09T05:54:04.060085Z","publishedAt":"2026-05-09T05:54:04.060085Z","updatedAt":"2026-05-09T05:54:04.060085Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"The agent eval standard for MCP. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.4.4","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.4.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-12T22:10:47.498755Z","publishedAt":"2026-06-12T22:10:47.498755Z","updatedAt":"2026-06-12T22:10:47.498755Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"The agent eval standard for MCP. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.4.5","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.4.5","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-07T20:51:53.429391Z","publishedAt":"2026-08-07T20:51:53.429391Z","updatedAt":"2026-08-07T20:51:53.429391Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.5.0","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.5.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-03T05:57:12.416005Z","publishedAt":"2026-09-03T05:57:12.416005Z","updatedAt":"2026-09-03T05:57:12.416005Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.5.1","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.5.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-03T07:20:14.046005Z","publishedAt":"2026-09-03T07:20:14.046005Z","updatedAt":"2026-09-03T07:20:14.046005Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.iris-eval/mcp-server","description":"Stop shipping agents on vibes. Score every agent output for quality, safety, and cost.","repository":{"url":"https://github.com/iris-eval/mcp-server","source":"github"},"version":"0.6.0","packages":[{"registryType":"npm","identifier":"@iris-eval/mcp-server","version":"0.6.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for HTTP authentication (optional, recommended for production)","format":"string","isSecret":true,"name":"IRIS_API_KEY"},{"description":"SQLite database path","format":"string","name":"IRIS_DB_PATH"},{"description":"Log level: debug, info, warn, error","format":"string","name":"IRIS_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-03T20:04:47.161083Z","publishedAt":"2026-09-03T20:04:47.161083Z","updatedAt":"2026-09-03T20:04:47.161083Z","isLatest":false}}}],"metadata":{"nextCursor":"io.github.iris-eval/mcp-server:0.6.0","count":30}}
