Iris

ทางการ

เซิร์ฟเวอร์ประเมินและสังเกตการณ์เอเจนต์แบบ MCP-native พร้อมการบันทึก trace การประเมินคุณภาพผลลัพธ์ การติดตามต้นทุน กฎการประเมินในตัว 12 ข้อ แดชบอร์ดแบบเรียลไทม์ และการตรวจจับ PII

GitHub
7
ลองใช้ MCP นี้ผู้สนับสนุน

คุณทำอะไรได้บ้างด้วย Iris MCP?

  • บันทึกการรันของเอเจนต์ — ขอให้บันทึกการดำเนินการด้วย log_trace รวมถึง spans, การเรียกใช้เครื่องมือ, การใช้โทเค็น และต้นทุนเป็นดอลลาร์สหรัฐ
  • ให้คะแนนคุณภาพของผลลัพธ์ — ใช้ evaluate_output เพื่อตรวจสอบความครบถ้วน ความเกี่ยวข้อง ความปลอดภัย และต้นทุนเทียบกับกฎในตัว 13 ข้อ
  • สอบถามประวัติ trace — ดึงข้อมูลการรันที่เก็บไว้ด้วย get_traces โดยกรองตามช่วงเวลา การแบ่งหน้า และเกณฑ์อื่นๆ
  • จัดการกฎที่กำหนดเอง — ปรับใช้กฎการประเมินใหม่ด้วย deploy_rule หรือลบออกผ่าน delete_rule เพื่อปรับแต่งการให้คะแนน
  • รัน LLM-as-judge — เรียกใช้ evaluate_with_llm_judge สำหรับการให้คะแนนเชิงความหมายในเทมเพลตห้าแบบ โดยมีเพดานต้นทุนต่อการประเมินที่เข้มงวด
  • ตรวจสอบการอ้างอิง — ใช้ verify_citations เพื่อแยกและตรวจสอบแหล่งที่มาที่อ้างอิงเทียบกับข้อกล่าวอ้างผ่านผู้ตัดสิน LLM

เอกสาร

Iris — หยุดส่งเอเจนต์แบบมั่วๆ

Glama Score Install in Cursor npm version npm downloads GitHub stars CI OpenSSF Scorecard OpenSSF Best Practices License: MIT Docker PulseMCP mcp.so

Iris ให้คะแนนทุกการรันของเอเจนต์ในด้านคุณภาพ ความปลอดภัย และต้นทุน — บนเครื่องของคุณ ไม่ต้องใช้ SDK และไม่ต้องมีบัญชี โปรเจกต์เอเจนต์ส่วนใหญ่ตรวจสอบคุณภาพด้วยการรันพรอมต์ที่จำไว้สองสามอันแล้วดูผลลัพธ์ด้วยตา Iris แทนที่ด้วยตัวเลขที่คุณตรวจสอบได้: การรันของเอเจนต์ของคุณถูกเก็บในฐานข้อมูล SQLite บนดิสก์ของคุณ กฎในตัว 13 ข้อให้คะแนนแบบกำหนดตายตัว — PII, prompt injection, สัญญาณ hallucination, เกณฑ์ต้นทุน — ฟรี ไม่มีการเรียก LLM และมี LLM judge แบบเลือกใช้ได้พร้อมเพดานต้นทุนต่อการประเมินแบบตายตัวสำหรับคำถามเชิงความหมาย ทุกกฎตรวจสอบและแก้ไขได้ เพราะ judge ที่คุณตรวจสอบไม่ได้ก็แค่การเดาสุ่มที่มีตัวเลขกำกับ ใบอนุญาต MIT ไม่มี telemetry; traces ของคุณไม่เคยออกจากเครื่องของคุณ

ต้องใช้ Node.js 20 ขึ้นไป ตรวจสอบด้วย node --version

Iris Dashboard

เห็นความล้มเหลวบนหน้าจอใน 60 วินาที

ไม่ต้องต่อเอเจนต์ ไม่ต้องตั้งค่า — คำสั่งเดียว:

npx @iris-eval/mcp-server --demo

นี่เป็นการสร้างฐานข้อมูลตัวอย่าง — เอเจนต์ขนาดเล็กสองสามตัวพร้อมการรันหนึ่งสัปดาห์ — และแสดง dashboard กับฐานข้อมูลนั้นที่ http://localhost:6920 (เบราว์เซอร์ของคุณเปิดอัตโนมัติในการรันครั้งแรก) Dashboard เปิดที่หน้า Failures: อะไรล้มเหลว เรียงจากแย่ที่สุดและใหม่ที่สุดก่อน คุ้มค่าที่จะคลิกเข้าไปดู — การรั่วไหลของ PII ที่กฎความปลอดภัยจับได้, ความพยายาม prompt-injection ที่ถูกแฟล็ก, และคะแนน LLM-judge ที่ล้มเหลวพร้อมเหตุผล

ข้อมูลตัวอย่างอยู่ในฐานข้อมูลของตัวเอง (demo.db ในโฟลเดอร์ home ของ Iris — ~/.iris บน macOS/Linux, %USERPROFILE%\.iris บน Windows) และไม่ปะปนกับ traces จริงของคุณ ลบทั้งหมดด้วยคำสั่งเดียว:

npx @iris-eval/mcp-server --demo-clear

เชื่อมต่อเอเจนต์ของคุณเอง

เพิ่ม Iris ในการตั้งค่า MCP ของคุณ ใช้ได้กับ Claude Desktop, Claude Code, Cursor, Windsurf, Continue, VS Code, Cline, Zed, Codex CLI, Gemini CLI — และเอเจนต์อื่นๆ ที่รองรับ MCP หนึ่งบล็อก รวม dashboard:

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

เอเจนต์ของคุณค้นพบเครื่องมือเก้าอย่างของ Iris เมื่อเชื่อมต่อ และ dashboard แสดงที่ http://localhost:6920. ตอนนี้วางสิ่งนี้ให้เอเจนต์ของคุณ:

บันทึกงานล่าสุดนั้นไปที่ Iris และประเมินผลลัพธ์

trace ปรากฏบน dashboard พร้อมคะแนน ต้องการ MCP server แบบ headless ไหม? เอา --dashboard ออกจาก args — คุณสามารถเปิด dashboard เดียวกันได้ทุกเมื่อด้วย npx @iris-eval/mcp-server --dashboard

สิ่งหนึ่งที่ควรรู้ล่วงหน้า: MCP tools ถูกเรียกเมื่อโมเดลตัดสินใจเรียก Iris ไม่ได้สอด intercept เอเจนต์ของคุณ ดังนั้น traces จะถูกบันทึกเมื่อเอเจนต์ของคุณขอให้บันทึก — ไม่ว่าคุณจะบอกให้มันทำ หรือโค้ดของคุณเรียก tools โดยตรง ขอให้เอเจนต์ของคุณ "log this to Iris and evaluate it" แล้วมันจะทำ ถ้าคุณต้องการ capture ที่ไม่ขึ้นอยู่กับการตัดสินใจของโมเดล POST /api/v1/traces ทำแบบนั้นได้ — โค้ดของคุณส่ง trace ผ่าน HTTP ธรรมดา ไม่มีโมเดลอยู่ในวงจร (ดู docs/http-ingest.md) CLI และ SDKs ใน โรดแมป จะเป็น thin clients เหนือ endpoint เดียวกัน

Capture ผ่าน HTTP (ไม่มีโมเดลในวงจร)

เมื่อ dashboard ทำงานอยู่ อะไรก็ตามที่ส่ง HTTP request ได้ก็สามารถบันทึก trace ได้ — และเลือกเรียก deterministic evals ใน request เดียวกันได้:

curl -s -X POST "http://127.0.0.1:6920/api/v1/traces" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_name": "support-bot",
    "input": "What is the refund policy?",
    "output": "Refunds are available within 30 days of purchase.",
    "evaluate": true,
    "eval_type": "safety"
  }'

คืนค่า 201 พร้อม trace_id ที่เก็บไว้และผลการประเมิน endpoint ยอมรับ body เดียวกับ tool log_trace และอยู่หลัง middleware stack แบบ loopback-only เดียวกับส่วนอื่นของ dashboard สัญญาเต็ม รายละเอียด field และ semantics ของ error: docs/http-ingest.md

ตรวจสอบการติดตั้ง

npx @iris-eval/mcp-server --self-test

การวินิจฉัยการติดตั้งแบบออฟไลน์: storage round-trip, deterministic evals, dashboard + DNS-rebinding guard — ทั้งหมดใน temp home ที่แยกออกมา ดังนั้นฐานข้อมูลจริงของคุณจะไม่ถูกเปิด exit code 0 = ปกติ, 1 = มีรายการตรวจสอบล้มเหลว

การตั้งค่าตามเครื่องมือ

Claude Desktop

แก้ไขไฟล์ MCP config ของคุณ:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

เพิ่ม JSON config ด้านบน แล้วรีสตาร์ท Claude Desktop

Claude Code

claude mcp add --transport stdio iris-eval -- npx @iris-eval/mcp-server

จากนั้นรีสตาร์ทเซสชัน (/clear หรือเปิดใหม่) เพื่อให้ tools โหลด

หมายเหตุสำหรับ Windows: อย่าใช้ cmd /c wrapper — มันทำให้เกิดปัญหา path parsing คำสั่ง npx ใช้ได้โดยตรง

Cursor / Windsurf

เพิ่มใน .cursor/mcp.json ของ workspace หรือการตั้งค่า MCP ทั่วโลกโดยใช้ JSON config ด้านบน

VS Code (native MCP)

เพิ่มใน .vscode/mcp.json ใน workspace ของคุณ (หมายเหตุ: VS Code ใช้ servers ไม่ใช่ mcpServers):

{
  "servers": {
    "iris-eval": {
      "command": "npx",
      "args": ["@iris-eval/mcp-server"]
    }
  }
}

Cline

เปิดแผง MCP Servers ของ Cline → Configure MCP Servers และเพิ่ม mcpServers JSON config ด้านบนใน cline_mcp_settings.json

Zed

เพิ่มใน Zed settings.json:

{
  "context_servers": {
    "iris-eval": {
      "command": {
        "path": "npx",
        "args": ["@iris-eval/mcp-server"]
      }
    }
  }
}

OpenAI Codex CLI

เพิ่มใน ~/.codex/config.toml:

[mcp_servers.iris-eval]
command = "npx"
args = ["@iris-eval/mcp-server"]

Gemini CLI

เพิ่ม mcpServers JSON config ด้านบนใน ~/.gemini/settings.json

อื่นๆ ที่รองรับ MCP

Iris เป็น stdio MCP server มาตรฐาน — คำสั่ง npx @iris-eval/mcp-server เดียว ไม่มี SDK ไม่มีการเปลี่ยนแปลงโค้ด ถ้า client ของคุณรองรับ MCP มันรองรับ Iris รูปแบบ config ของ client เปลี่ยนไปเรื่อยๆ; เมื่อไม่แน่ใจ ตรวจสอบเอกสาร MCP ของ client แล้วชี้ไปที่คำสั่งนั้น

วิธีการติดตั้งอื่นๆ

# Global install (recommended for persistent data and faster startup)
npm install -g @iris-eval/mcp-server
iris-mcp --dashboard

# Docker — two servers, two ports: 3000 = MCP HTTP transport,
# 6920 = dashboard (which also serves the POST /api/v1/traces ingest endpoint)
docker run -p 3000:3000 -p 6920:6920 -v iris-data:/data ghcr.io/iris-eval/mcp-server

เคล็ดลับ: การติดตั้งแบบ global (npm install -g) เก็บ traces อย่างถาวรที่ ~/.iris/iris.db ด้วย npx traces ยังคงอยู่ในตำแหน่งเดียวกัน แต่การเริ่มต้นช้าลงเนื่องจากการ resolve package

สิ่งที่คุณได้รับ

การบันทึก Traceต้นไม้ span แบบลำดับชั้นพร้อม latency ต่อการเรียก tool, การใช้ token, และต้นทุนเป็น USD เก็บใน SQLite ค้นหาได้ทันที
การประเมินผลลัพธ์กฎในตัว 13 ข้อใน 4 หมวด: ความครบถ้วน, ความเกี่ยวข้อง, ความปลอดภัย, ต้นทุน การตรวจจับ PII (19 รูปแบบ: SSN, บัตรเครดิต, โทรศัพท์, อีเมล, IBAN, วันเกิด, MRN, IP, API key, พาสปอร์ต, รวมถึง AWS/Slack/SendGrid/GitHub/Google/npm/DigitalOcean tokens, PEM private-key blocks และ seed phrases), การตรวจจับ prompt injection (37 รูปแบบ, phrase + โครงสร้าง), การตรวจจับ stub output, การตรวจจับ hallucination (25 สัญญาณ fabrication/contradiction ที่อิงบริบท — ส่ง input เพื่อเทียบกับเนื้อหาต้นฉบับของเอเจนต์) เพิ่มกฎที่กำหนดเองด้วย Zod schemas
LLM-as-Judgeการให้คะแนนเชิงความหมายแบบเลือกใช้ผ่าน Anthropic หรือ OpenAI — ใช้ API key ของคุณเอง ห้าเทมเพลต เพดานต้นทุนต่อการประเมินแบบตายตัว (IRIS_LLM_JUDGE_MAX_COST_USD_PER_EVAL, ค่าเริ่มต้น $0.25), เปิดเผยราคาต่อการประเมินในผลลัพธ์
การมองเห็นต้นทุนต้นทุนรวมของเอเจนต์ทั้งหมดในช่วงเวลาใดก็ได้ ตั้งเกณฑ์งบประมาณ รับการแจ้งเตือนเมื่อเอเจนต์ใช้เกิน
Web DashboardUI โหมดมืดแบบเรียลไทม์ที่เปิดที่ความล้มเหลว เรียงจากแย่ที่สุดและใหม่ที่สุดก่อน — การแสดง trace, ผลการประเมิน, การแยกต้นทุน, และ command palette (⌘K) ที่ค้นหากฎ, traces, และ evals ของคุณเอง
Local-firstทุกอย่างอยู่ใน SQLite บนดิสก์ของคุณ ไม่มีบัญชี ไม่ต้องสมัคร ไม่มี telemetry HTTP ขาออกเกิดขึ้นเฉพาะที่คุณเลือก: key LLM-judge ของคุณเอง, การดึง citation, หรือ OTel exporter ที่คุณตั้งค่า

จุดหมายต่อไป: โรดแมป

MCP Tools

Iris ลงทะเบียนเครื่องมือเก้าอย่างที่เอเจนต์ที่รองรับ MCP ใดๆ สามารถเรียกได้ — วงจรชีวิตของกฎ + trace + LLM-as-judge + การตรวจสอบ citation เชิงความหมาย:

  • log_trace — บันทึกการทำงานของเอเจนต์พร้อม spans, tool calls, การใช้ token, และต้นทุน
  • evaluate_output — ให้คะแนนคุณภาพผลลัพธ์เทียบกับกฎความครบถ้วน ความเกี่ยวข้อง ความปลอดภัย และต้นทุน (heuristic, deterministic, ฟรี)
  • get_traces — ค้นหา traces ที่เก็บไว้พร้อมการกรอง การแบ่งหน้า และการรองรับช่วงเวลา
  • list_rules — แสดงรายการกฎ eval ที่กำหนดเองที่ใช้งานอยู่ (อ่านอย่างเดียว)
  • deploy_rule — ลงทะเบียนกฎ eval ที่กำหนดเองใหม่เพื่อให้ทำงานทุกครั้งที่ evaluate_output ของหมวดนั้น
  • delete_rule — ลบกฎที่กำหนดเองที่ใช้งานอยู่ (ทำลายล้าง, idempotent)
  • delete_trace — ลบ trace ที่เก็บไว้หนึ่งรายการตาม ID (ทำลายล้าง, จำกัดตาม tenant)
  • evaluate_with_llm_judge — การประเมินเชิงความหมายผ่าน LLM (Anthropic หรือ OpenAI) ห้าเทมเพลต: accuracy, helpfulness, safety, correctness, faithfulness จำกัดต้นทุน เปิดเผยราคาต่อการประเมิน ใช้ API key ของคุณเอง (IRIS_ANTHROPIC_API_KEY หรือ IRIS_OPENAI_API_KEY) — Iris ไม่ proxy หรือ relay การเรียก LLM
  • verify_citations — ดึง citations จากผลลัพธ์ (numbered, author-year, URLs, DOIs), ดึงแหล่งที่มาผ่าน resolver ที่ป้องกัน SSRF + อนุญาตเฉพาะ domain ที่กำหนด และใช้ LLM judge เพื่อตรวจสอบว่าแต่ละแหล่งสนับสนุนข้ออ้างที่อ้างอิงจริงหรือไม่ HTTP ขาออกแบบเลือกใช้ ข้อกำหนด BYOK เดียวกับ evaluate_with_llm_judge

เมื่อตั้งค่า IRIS_OTEL_ENDPOINT แล้ว การเรียก log_trace จะส่งออก OTLP/HTTP JSON แบบ best-effort ไปยัง OpenTelemetry collector ใดๆ (Jaeger, Grafana Tempo, Datadog OTLP, Honeycomb, ฯลฯ) ดู docs/otel-integration.md

วิธีตัดสิน passed

evaluate_output คืนค่าทั้ง score และแฟล็ก passed — พวกมันตอบคำถามคนละข้อ:

  • score (0..1) คือค่าเฉลี่ยถ่วงน้ำหนักของกฎที่รัน — เกรเดียนต์ของคุณภาพ
  • passed คือคำตัดสิน ship/no-ship: true เฉพาะเมื่อคะแนนผ่านเกณฑ์ (ค่าเริ่มต้น 0.7) และไม่มีกฎวิกฤตใดล้มเหลว

การละเมิดความปลอดภัยจริง hard-fail no_pii, no_injection_patterns, และ no_blocklist_words เป็น กฎวิกฤต: ถ้าหนึ่งในนั้นล้มเหลว eval รายงาน passed: false ไม่ว่ากฎอื่นจะได้คะแนนดีแค่ไหน และการตอบสนองระบุตัวการใน critical_failures SSN ที่รั่วไม่สามารถเฉลี่ยให้หายไปได้ กฎที่กำหนดเองที่ใช้งานด้วย severity: "high" หรือ "critical" hard-fail ในลักษณะเดียวกัน; ความรุนแรง low/medium มีผลกับคะแนนเท่านั้น ขอบเขตหนึ่งที่ควรรู้: กฎวิกฤตที่ ข้าม (ไม่มีบริบท หรือสาเหตุอื่นของการข้าม) ไม่ได้ตัดสินผลลัพธ์และไม่ veto — rule_results แสดงทุกการข้ามและเหตุผล ดังนั้น gate ที่ต้อง fail closed กับ non-verdicts ทำได้

ข้อควรระวังสำหรับ CI gates: ถ้าคุณละเว้น eval_type ชุด completeness เริ่มต้นจะรัน — กฎความปลอดภัยไม่รัน การตอบสนองสะท้อน eval_type (บวก note เมื่อถูกตั้งเป็นค่าเริ่มต้น) เพื่อให้ gate ของคุณตรวจสอบได้ว่าชุดใดรันจริง ใช้ passed สำหรับคำตัดสินและ eval_type: "safety" สำหรับความครอบคลุม

schema และการตั้งค่า tool ทั้งหมด: iris-eval.com

ฟีเจอร์แบบ hosted

Iris รันบนเครื่องของคุณทั้งหมดในวันนี้ และทุกอย่างที่มันทำฟรีและเป็น MIT license โดยไม่มีขีดจำกัดและไม่มีบัญชี

Hosted storage, ประวัติทีมที่แชร์ และการแจ้งเตือน อยู่ระหว่างการพิจารณา ไม่ได้อยู่ระหว่างการสร้าง ไม่มีราคา และไม่มีอะไรให้ซื้อ ถ้าประวัติที่แชร์มีประโยชน์กับคุณ รายชื่อรอ คือวิธีที่เราจะรู้ว่าคุ้มค่าที่จะสร้างหรือไม่ — ไม่ผูกมัดคุณแต่อย่างใด

มีสองข้อผูกพันที่ไม่เปลี่ยนแปลง: สิ่งที่ฟรีในวันนี้จะไม่ถูกย้ายไปอยู่หลัง paywall และ จะไม่มีการอ้างใบรับรอง compliance ก่อนที่จะได้รับจริง

ตัวอย่าง

ชุมชน

  • GitHub Issues — รายงานข้อบกพร่องและคำขอคุณสมบัติ
  • GitHub Discussions — คำถามและแนวคิด
  • Contributing Guide — วิธีมีส่วนร่วม
  • HTTP Ingest — การจับ trace แบบกำหนดได้ผ่าน POST /api/v1/traces
  • Roadmap — สิ่งที่จะเกิดขึ้นต่อไป
การกำหนดค่าและความปลอดภัย

CLI Arguments

แฟล็กค่าเริ่มต้นคำอธิบาย
--transportstdioประเภทการขนส่ง: stdio หรือ http
--port3000พอร์ตการขนส่ง HTTP
--db-path~/.iris/iris.dbเส้นทางฐานข้อมูล SQLite
--config~/.iris/config.jsonเส้นทางไฟล์คอนฟิก
--api-keyคีย์ API สำหรับการตรวจสอบสิทธิ์ HTTP
--dashboardfalseเปิดใช้งานแดชบอร์ดเว็บ
--dashboard-port6920พอร์ตแดชบอร์ด
--dashboard-host127.0.0.1ที่อยู่ผูกแดชบอร์ด ค่าเริ่มต้นคือ loopback — แดชบอร์ดไม่มีการตรวจสอบสิทธิ์เว้นแต่ตั้งค่า --api-key ไว้ ดังนั้นการผูกเกิน loopback จะเปิดเผยประวัติ trace ทั้งหมดของคุณ
--demofalseสร้างฐานข้อมูลตัวอย่าง (แยกจาก trace จริงของคุณ) และให้บริการแดชบอร์ดจากฐานข้อมูลนั้น
--demo-clearfalseลบฐานข้อมูลตัวอย่างและออก
--self-testfalseรันการวินิจฉัยการติดตั้งแบบออฟไลน์ในโฮมชั่วคราวที่แยกออกมา แล้วออก (0 = ปกติ, 1 = การตรวจสอบล้มเหลว)

Environment Variables

ตัวแปรคำอธิบาย
IRIS_TRANSPORTประเภทการขนส่ง (stdio หรือ http)
IRIS_PORTพอร์ตการขนส่ง HTTP
IRIS_HOSTโฮสต์การขนส่ง HTTP (ค่าเริ่มต้น 127.0.0.1)
IRIS_HOMEไดเรกทอรีสำหรับไฟล์ต่อผู้ใช้ทั้งหมด: config.json, iris.db, custom-rules.json, audit.log, preferences.json (ค่าเริ่มต้น ~/.iris)
IRIS_DB_PATHเส้นทางฐานข้อมูล SQLite (แทนที่ IRIS_HOME สำหรับ DB เท่านั้น)
IRIS_LOG_LEVELระดับบันทึก: debug, info, warn, error
IRIS_DASHBOARDเปิดใช้งานแดชบอร์ดเว็บ (true/false; false ยังแทนที่ dashboard.enabled ใน config.json ด้วย)
IRIS_DASHBOARD_PORTพอร์ตแดชบอร์ด (ค่าเริ่มต้น 6920)
IRIS_DASHBOARD_HOSTที่อยู่ผูกแดชบอร์ด (ค่าเริ่มต้น 127.0.0.1)
IRIS_API_KEYคีย์ API สำหรับการตรวจสอบสิทธิ์ HTTP
IRIS_ALLOWED_ORIGINSต้นทาง CORS ที่อนุญาต คั่นด้วยเครื่องหมายจุลภาค

แฟล็ก CLI มีลำดับความสำคัญเหนือตัวแปรสภาพแวดล้อมเมื่อทั้งสองถูกตั้งค่า

ความปลอดภัย

เมื่อใช้การขนส่ง HTTP, Iris ประกอบด้วย:

  • การตรวจสอบสิทธิ์ด้วยคีย์ API พร้อมการเปรียบเทียบที่ปลอดภัยต่อเวลา
  • CORS จำกัดเฉพาะ localhost โดยค่าเริ่มต้น
  • การจำกัดอัตรา (600 คำขอ/นาที สำหรับแดชบอร์ด API, 20 คำขอ/นาที สำหรับ MCP)
  • ส่วนหัวความปลอดภัย Helmet
  • การตรวจสอบอินพุตด้วย Zod บนทุกเส้นทาง
  • regex ที่ปลอดภัยจาก ReDoS สำหรับกฎการประเมินที่กำหนดเอง
  • ขีดจำกัดขนาดคำขอ 1MB
# Production deployment
iris-mcp --transport http --port 3000 --api-key "$(openssl rand -hex 32)" --dashboard
การแก้ไขปัญหา

ขั้นแรก: รันการทดสอบตัวเอง

npx @iris-eval/mcp-server --self-test

มันตรวจสอบพื้นที่จัดเก็บ การประเมินแบบกำหนดได้ และแดชบอร์ดในโฮมชั่วคราวที่แยกออกมา และพิมพ์ผลการตัดสินต่อขั้นตอน — ผลลัพธ์ที่ล้มเหลวจะระบุขั้นตอนที่เสีย รหัสออก 0 หมายถึงการติดตั้งปกติ

Iris ไม่เริ่มทำงาน / ERR_MODULE_NOT_FOUND

คุณอาจมีเวอร์ชันเก่าที่ถูกแคชไว้ ล้างแคช npx แล้วลองใหม่:

npx --yes @iris-eval/mcp-server@latest

หรือติดตั้งแบบ global เพื่อหลีกเลี่ยงปัญหาแคชทั้งหมด:

npm install -g @iris-eval/mcp-server@latest

เครื่องมือไม่แสดงใน Claude Code

เครื่องมือ MCP โหลดเฉพาะเมื่อเริ่มเซสชัน หลังจากเพิ่ม iris-eval ให้รีสตาร์ทเซสชันด้วย /clear หรือเปิดเทอร์มินัลใหม่

การตรวจสอบเวอร์ชัน

Iris บันทึกเวอร์ชันในบรรทัดเริ่มต้นแรก:

npx @iris-eval/mcp-server --dashboard
# First log line: "Starting Iris MCP server vX.Y.Z"

สำหรับการติดตั้งแบบ global, npm ls -g @iris-eval/mcp-server แสดงเวอร์ชันที่ติดตั้ง

การอัปเดต

# If using npx (clears cache and fetches latest)
npx --yes @iris-eval/mcp-server@latest

# If installed globally
npm update -g @iris-eval/mcp-server

เวอร์ชัน Node.js

Iris ต้องใช้ Node.js 20 ขึ้นไป Node 18 ถึงจุดสิ้นสุดการสนับสนุนในเดือนเมษายน 2025 และไม่ได้รับการสนับสนุน

node --version  # Must be v20.x or v22.x+

Windows: cmd /c ไม่จำเป็น

/doctor ของ Claude Code อาจแนะนำให้ครอบ npx ด้วย cmd /c ซึ่งไม่จำเป็นและทำให้เกิดปัญหาในการแยกเส้นทาง ใช้ npx โดยตรง:

# Correct
claude mcp add --transport stdio iris-eval -- npx @iris-eval/mcp-server

# Wrong (causes /c to be parsed as a path)
claude mcp add --transport stdio iris-eval -- cmd /c "npx @iris-eval/mcp-server"

หาก Iris มีประโยชน์สำหรับคุณ พิจารณากดดาวให้ repo — มันช่วยให้ผู้อื่นค้นพบมัน

Star on GitHub

สัญญาอนุญาต MIT