@iris-eval/mcp-server 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  # Iris — The Agent Eval Standard for MCP
2
2
 
3
- [![GitHub stars](https://img.shields.io/github/stars/iris-eval/mcp-server?style=social)](https://github.com/iris-eval/mcp-server)
3
+ [![Glama Score](https://glama.ai/mcp/servers/iris-eval/mcp-server/badges/score.svg)](https://glama.ai/mcp/servers/iris-eval/mcp-server)
4
4
  [![npm version](https://img.shields.io/npm/v/@iris-eval/mcp-server)](https://npmjs.com/package/@iris-eval/mcp-server)
5
- [![npm downloads](https://img.shields.io/npm/dw/@iris-eval/mcp-server)](https://npmjs.com/package/@iris-eval/mcp-server)
5
+ [![npm downloads](https://img.shields.io/npm/dt/@iris-eval/mcp-server)](https://npmjs.com/package/@iris-eval/mcp-server)
6
+ [![GitHub stars](https://img.shields.io/github/stars/iris-eval/mcp-server?style=social)](https://github.com/iris-eval/mcp-server)
6
7
  [![CI](https://github.com/iris-eval/mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/iris-eval/mcp-server/actions/workflows/ci.yml)
7
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
8
9
  [![Docker](https://img.shields.io/badge/Docker-ghcr.io-blue?logo=docker)](https://github.com/iris-eval/mcp-server/pkgs/container/mcp-server)
@@ -31,9 +32,11 @@ Iris evaluates all of it.
31
32
  | **Cost Visibility** | Aggregate cost across all agents over any time window. Set budget thresholds. Get flagged when agents overspend. |
32
33
  | **Web Dashboard** | Real-time dark-mode UI with trace visualization, eval results, and cost breakdowns. |
33
34
 
35
+ **Requires Node.js 20 or later.** Check with `node --version`.
36
+
34
37
  ## Quickstart
35
38
 
36
- Add Iris to your Claude Desktop (or Cursor, Claude Code, Windsurf) MCP config:
39
+ Add Iris to your MCP config. Works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible agent.
37
40
 
38
41
  ```json
39
42
  {
@@ -55,10 +58,37 @@ npx @iris-eval/mcp-server --dashboard
55
58
  # Open http://localhost:6920
56
59
  ```
57
60
 
61
+ <details>
62
+ <summary><strong>Setup by tool</strong></summary>
63
+
64
+ #### Claude Desktop
65
+
66
+ Edit your MCP config file:
67
+ - **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
68
+ - **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
69
+
70
+ Add the JSON config above, then restart Claude Desktop.
71
+
72
+ #### Claude Code
73
+
74
+ ```bash
75
+ claude mcp add --transport stdio iris-eval -- npx @iris-eval/mcp-server
76
+ ```
77
+
78
+ Then restart the session (`/clear` or relaunch) for tools to load.
79
+
80
+ > **Windows note:** Do *not* use `cmd /c` wrapper — it causes path parsing issues. The `npx` command works directly.
81
+
82
+ #### Cursor / Windsurf
83
+
84
+ Add to your workspace `.cursor/mcp.json` or global MCP settings using the JSON config above.
85
+
86
+ </details>
87
+
58
88
  ### Other Install Methods
59
89
 
60
90
  ```bash
61
- # Global install
91
+ # Global install (recommended for persistent data and faster startup)
62
92
  npm install -g @iris-eval/mcp-server
63
93
  iris-mcp --dashboard
64
94
 
@@ -66,6 +96,8 @@ iris-mcp --dashboard
66
96
  docker run -p 3000:3000 -v iris-data:/data ghcr.io/iris-eval/mcp-server
67
97
  ```
68
98
 
99
+ > **Tip:** Global install (`npm install -g`) stores traces persistently at `~/.iris/iris.db`. With `npx`, traces persist in the same location, but startup is slower due to package resolution.
100
+
69
101
  ## MCP Tools
70
102
 
71
103
  Iris registers three tools that any MCP-compatible agent can invoke:
@@ -142,6 +174,68 @@ iris-mcp --transport http --port 3000 --api-key "$(openssl rand -hex 32)" --dash
142
174
 
143
175
  </details>
144
176
 
177
+ <details>
178
+ <summary><strong>Troubleshooting</strong></summary>
179
+
180
+ ### Iris won't start / `ERR_MODULE_NOT_FOUND`
181
+
182
+ You may have a cached older version. Clear the npx cache and retry:
183
+
184
+ ```bash
185
+ npx --yes @iris-eval/mcp-server@latest
186
+ ```
187
+
188
+ Or install globally to avoid cache issues entirely:
189
+
190
+ ```bash
191
+ npm install -g @iris-eval/mcp-server@latest
192
+ ```
193
+
194
+ ### Tools not showing up in Claude Code
195
+
196
+ MCP tools only load at session start. After adding iris-eval, restart the session with `/clear` or relaunch the terminal.
197
+
198
+ ### Version check
199
+
200
+ Verify which version is running:
201
+
202
+ ```bash
203
+ npx @iris-eval/mcp-server --help
204
+ # Shows "Iris MCP-Native Agent Eval & Observability Server vX.Y.Z"
205
+ ```
206
+
207
+ ### Updating
208
+
209
+ ```bash
210
+ # If using npx (clears cache and fetches latest)
211
+ npx --yes @iris-eval/mcp-server@latest
212
+
213
+ # If installed globally
214
+ npm update -g @iris-eval/mcp-server
215
+ ```
216
+
217
+ ### Node.js version
218
+
219
+ Iris requires Node.js 20 or later. Node 18 reached EOL in April 2025 and is not supported.
220
+
221
+ ```bash
222
+ node --version # Must be v20.x or v22.x+
223
+ ```
224
+
225
+ ### Windows: `cmd /c` not needed
226
+
227
+ Claude Code's `/doctor` may suggest wrapping npx with `cmd /c`. This is not needed and causes path parsing issues. Use `npx` directly:
228
+
229
+ ```bash
230
+ # Correct
231
+ claude mcp add --transport stdio iris-eval -- npx @iris-eval/mcp-server
232
+
233
+ # Wrong (causes /c to be parsed as a path)
234
+ claude mcp add --transport stdio iris-eval -- cmd /c "npx @iris-eval/mcp-server"
235
+ ```
236
+
237
+ </details>
238
+
145
239
  ---
146
240
 
147
241
  If Iris is useful to you, [consider starring the repo](https://github.com/iris-eval/mcp-server) — it helps others find it.
@@ -3,7 +3,7 @@ import { readFileSync } from 'node:fs';
3
3
  import { homedir } from 'node:os';
4
4
  const irisHome = join(homedir(), '.iris');
5
5
  // Read version from package.json to avoid hardcoded drift
6
- let pkgVersion = '0.1.4';
6
+ let pkgVersion = '0.1.8';
7
7
  try {
8
8
  const pkg = JSON.parse(readFileSync(new URL('../../package.json', import.meta.url), 'utf8'));
9
9
  pkgVersion = pkg.version;
@@ -0,0 +1 @@
1
+ :root{--bg-primary:#0a0a0b;--bg-secondary:#141416;--bg-tertiary:#1c1c1f;--bg-hover:#252528;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-primary:#0d9488;--accent-primary-hover:#14b8a6;--accent-success:#22c55e;--accent-error:#ef4444;--accent-warning:#f59e0b;--accent-tool:#3b82f6;--accent-llm:#a855f7;--border-color:#27272a;--border-radius:8px;--border-radius-sm:4px;--border-radius-lg:12px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080;--transition-fast:.15s ease;--transition-base:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--accent-primary);text-decoration:none}a:hover{color:var(--accent-primary-hover)}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit;font-size:inherit}code,pre{font-family:var(--font-mono)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}