Iris
resmiServer evaluasi agen dan observabilitas native MCP dengan pencatatan jejak, evaluasi kualitas output, pelacakan biaya, 12 aturan evaluasi bawaan, dasbor real-time, dan deteksi PII
Dokumentasi
Iris — Standar Evaluasi Agen untuk MCP
Ketahui apakah agen AI Anda benar-benar cukup baik untuk dirilis. Iris adalah server MCP sumber terbuka yang menilai kualitas keluaran, mendeteksi kegagalan keamanan, dan menegakkan anggaran biaya di seluruh agen Anda. Setiap agen yang kompatibel dengan MCP akan menemukan dan menggunakannya secara otomatis — tanpa SDK, tanpa perubahan kode.

Masalahnya
Agen Anda berjalan di produksi. Pemantauan infrastruktur melihat 200 OK dan melanjutkan. Ia tidak tahu bahwa agen tersebut baru saja:
- Membocorkan nomor jaminan sosial dalam responsnya
- Berhalusinasi memberikan jawaban tanpa dasar faktual sama sekali
- Menghabiskan $0,47 untuk satu kueri — 4,7x lipat ambang anggaran Anda
- Melakukan 6 panggilan alat ketika 2 saja sudah cukup
Iris mengevaluasi semuanya.
Apa yang Anda Dapatkan
| Pencatatan Jejak | Pohon rentang hierarkis dengan latensi per panggilan alat, penggunaan token, dan biaya dalam USD. Disimpan di SQLite, dapat langsung dikueri. |
| Evaluasi Keluaran | 13 aturan bawaan dalam 4 kategori: kelengkapan, relevansi, keamanan, biaya. Deteksi PII (10 pola: SSN, kartu kredit, telepon, email, IBAN, tanggal lahir, MRN, IP, kunci API, paspor), injeksi prompt (13 pola), deteksi keluaran rintisan, penanda halusinasi (17 frasa mengambang + heuristik kutipan palsu). Tambahkan aturan kustom dengan skema Zod. |
| Visibilitas Biaya | Agregat biaya di semua agen selama jendela waktu apa pun. Tetapkan ambang anggaran. Dapatkan peringatan saat agen melampaui batas. |
| Dasbor Web | UI mode gelap waktu nyata dengan visualisasi jejak, hasil evaluasi, dan rincian biaya. |
Membutuhkan Node.js 20 atau lebih baru. Periksa dengan node --version.
Mulai Cepat
Tambahkan Iris ke konfigurasi MCP Anda. Bekerja dengan Claude Desktop, Cursor, Windsurf, dan agen apa pun yang kompatibel dengan MCP.
{
"mcpServers": {
"iris-eval": {
"command": "npx",
"args": ["@iris-eval/mcp-server"]
}
}
}
Selesai. Agen Anda akan menemukan Iris dan mulai mencatat jejak secara otomatis.
Aktifkan dasbor
Iris dilengkapi dengan dasbor web waktu nyata yang menampilkan jejak, hasil evaluasi, rincian biaya, dan tingkat kelulusan aturan. Dasbor ini dinonaktifkan secara default agar server MCP tetap ringan — aktifkan dengan sebuah flag.
{
"mcpServers": {
"iris-eval": {
"command": "npx",
"args": ["@iris-eval/mcp-server", "--dashboard"]
}
}
}
Kemudian buka http://localhost:6920 setelah agen Anda menjalankan jejak. Dasbor yang sama tersedia melalui CLI:
npx @iris-eval/mcp-server --dashboard
Pengaturan berdasarkan alat
Claude Desktop
Edit file konfigurasi MCP Anda:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Tambahkan konfigurasi JSON di atas, lalu mulai ulang Claude Desktop.
Claude Code
claude mcp add --transport stdio iris-eval -- npx @iris-eval/mcp-server
Kemudian mulai ulang sesi (/clear atau luncurkan ulang) agar alat dimuat.
Catatan Windows: Jangan gunakan pembungkus
cmd /c— ini menyebabkan masalah penguraian jalur. Perintahnpxbekerja secara langsung.
Cursor / Windsurf
Tambahkan ke .cursor/mcp.json ruang kerja Anda atau pengaturan MCP global menggunakan konfigurasi JSON di atas.
Metode Instalasi Lain
# Global install (recommended for persistent data and faster startup)
npm install -g @iris-eval/mcp-server
iris-mcp --dashboard
# Docker
docker run -p 3000:3000 -v iris-data:/data ghcr.io/iris-eval/mcp-server
Tips: Instalasi global (
npm install -g) menyimpan jejak secara persisten di~/.iris/iris.db. Dengannpx, jejak tetap ada di lokasi yang sama, tetapi startup lebih lambat karena resolusi paket.
Alat MCP
Iris mendaftarkan sembilan alat yang dapat dipanggil oleh agen apa pun yang kompatibel dengan MCP — siklus penuh aturan + jejak + LLM-sebagai-juri + verifikasi kutipan semantik:
log_trace— Mencatat eksekusi agen dengan rentang, panggilan alat, penggunaan token, dan biayaevaluate_output— Menilai kualitas keluaran terhadap aturan kelengkapan, relevansi, keamanan, dan biaya (heuristik, deterministik, gratis)get_traces— Mengueri jejak yang tersimpan dengan dukungan penyaringan, paginasi, dan rentang waktulist_rules— Mendaftar aturan evaluasi kustom yang diterapkan (hanya-baca)deploy_rule— Mendaftarkan aturan evaluasi kustom baru sehingga dijalankan pada setiapevaluate_outputdari kategori tersebutdelete_rule— Menghapus aturan kustom yang diterapkan (destruktif, idempoten)delete_trace— Menghapus satu jejak tersimpan berdasarkan ID (destruktif, terlingkup penyewa)evaluate_with_llm_judge— Evaluasi semantik melalui LLM (Anthropic atau OpenAI). Lima templat: akurasi, kebermanfaatan, keamanan, kebenaran, kesetiaan. Dibatasi biaya, harga per evaluasi diungkapkan. Bawa kunci API Anda sendiri (IRIS_ANTHROPIC_API_KEYatauIRIS_OPENAI_API_KEY) — Iris tidak memproksi atau meneruskan panggilan LLM.verify_citations— Mengekstrak kutipan dari keluaran (bernomor, penulis-tahun, URL, DOI), mengambil sumber di balik resolver yang dijaga SSRF + daftar-putih domain, dan menggunakan juri LLM untuk memeriksa apakah setiap sumber benar-benar mendukung klaim yang dikutip. HTTP keluar yang diikutsertakan. Persyaratan BYOK yang sama sepertievaluate_with_llm_judge.
Ketika IRIS_OTEL_ENDPOINT dikonfigurasi, panggilan log_trace juga mengirimkan ekspor JSON OTLP/HTTP upaya terbaik ke kolektor OpenTelemetry mana pun (Jaeger, Grafana Tempo, Datadog OTLP, Honeycomb, dll). Lihat docs/otel-integration.md.
Skema alat lengkap dan konfigurasi: iris-eval.com
Tingkat Cloud (Segera Hadir)
Iris yang dihosting sendiri berjalan di mesin Anda dengan SQLite. Seiring kebutuhan evaluasi tim Anda berkembang, tingkat cloud menambahkan PostgreSQL, dasbor tim, peringatan pada regresi kualitas, dan infrastruktur terkelola.
Bergabunglah dengan daftar tunggu untuk mendapatkan akses awal.
Contoh
- Pengaturan Claude Desktop — Konfigurasi MCP untuk mode stdio dan HTTP
- TypeScript — Klien MCP SDK — menghubungkan dan memanggil alat
- Transport HTTP (TS + Python) — kode klien lengkap untuk integrasi gaya REST
- Instrumentasi LangChain (Python, konseptual) — kerangka yang menunjukkan bentuknya; membutuhkan kode agen Anda agar dapat dijalankan
- Instrumentasi CrewAI (Python, konseptual) — kerangka; peringatan yang sama
Komunitas
- GitHub Issues — Laporan bug dan permintaan fitur
- GitHub Discussions — Pertanyaan dan ide
- Panduan Berkontribusi — Cara berkontribusi
- Roadmap — Apa yang akan datang selanjutnya
Konfigurasi & Keamanan
Argumen CLI
| Flag | Default | Deskripsi |
|---|---|---|
--transport | stdio | Jenis transport: stdio atau http |
--port | 3000 | Port transport HTTP |
--db-path | ~/.iris/iris.db | Jalur basis data SQLite |
--config | ~/.iris/config.json | Jalur file konfigurasi |
--api-key | — | Kunci API untuk otentikasi HTTP |
--dashboard | false | Aktifkan dasbor web |
--dashboard-port | 6920 | Port dasbor |
Variabel Lingkungan
| Variabel | Deskripsi |
|---|---|
IRIS_TRANSPORT | Jenis transport (stdio atau http) |
IRIS_PORT | Port transport HTTP |
IRIS_HOST | Host transport HTTP (default 127.0.0.1) |
IRIS_DB_PATH | Jalur basis data SQLite |
IRIS_LOG_LEVEL | Level log: debug, info, warn, error |
IRIS_DASHBOARD | Aktifkan dasbor web (true/false) |
IRIS_DASHBOARD_PORT | Port dasbor (default 6920) |
IRIS_API_KEY | Kunci API untuk otentikasi HTTP |
IRIS_ALLOWED_ORIGINS | Asal CORS yang diizinkan, dipisahkan koma |
Flag CLI lebih diutamakan daripada variabel lingkungan ketika keduanya diatur.
Keamanan
Saat menggunakan transport HTTP, Iris mencakup:
- Otentikasi kunci API dengan perbandingan aman-waktu
- CORS dibatasi ke localhost secara default
- Pembatasan laju (100 req/mnt API, 20 req/mnt MCP)
- Header keamanan Helmet
- Validasi input Zod di semua rute
- Regex aman ReDoS untuk aturan evaluasi kustom
- Batas badan permintaan 1MB
# Production deployment
iris-mcp --transport http --port 3000 --api-key "$(openssl rand -hex 32)" --dashboard
Pemecahan Masalah
Iris tidak mau mulai / ERR_MODULE_NOT_FOUND
Anda mungkin memiliki versi lama yang di-cache. Bersihkan cache npx dan coba lagi:
npx --yes @iris-eval/mcp-server@latest
Atau instal secara global untuk menghindari masalah cache sepenuhnya:
npm install -g @iris-eval/mcp-server@latest
Alat tidak muncul di Claude Code
Alat MCP hanya dimuat saat sesi dimulai. Setelah menambahkan iris-eval, mulai ulang sesi dengan /clear atau luncurkan ulang terminal.
Pemeriksaan versi
Verifikasi versi mana yang berjalan:
npx @iris-eval/mcp-server --help
# Shows "Iris — MCP-Native Agent Eval Server vX.Y.Z"
Memperbarui
# 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
Versi Node.js
Iris membutuhkan Node.js 20 atau lebih baru. Node 18 mencapai EOL pada April 2025 dan tidak didukung.
node --version # Must be v20.x or v22.x+
Windows: cmd /c tidak diperlukan
/doctor Claude Code mungkin menyarankan untuk membungkus npx dengan cmd /c. Ini tidak diperlukan dan menyebabkan masalah penguraian jalur. Gunakan npx secara langsung:
# 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"
Jika Iris bermanfaat bagi Anda, pertimbangkan untuk memberi bintang pada repositori — ini membantu orang lain menemukannya.
Berlisensi MIT.