Context7
Up-to-date docs for AI agents
Beschreibung vom Entwickler (englisches Original)
Evaluate RAG retrieval, agent tool calls and prompt regressions with deterministic metrics.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
EVALSMITH_JUDGE_BASE_URL, EVALSMITH_JUDGE_MODEL, EVALSMITH_JUDGE_API_KEY, LOG_LEVELAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"evalsmith": {
"command": "npx",
"args": [
"-y",
"evalsmith-mcp"
],
"env": {
"EVALSMITH_JUDGE_BASE_URL": "your-value",
"EVALSMITH_JUDGE_MODEL": "your-value",
"EVALSMITH_JUDGE_API_KEY": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add evalsmith --env EVALSMITH_JUDGE_BASE_URL=your-value --env EVALSMITH_JUDGE_MODEL=your-value --env EVALSMITH_JUDGE_API_KEY=your-value --env LOG_LEVEL=your-value -- npx -y evalsmith-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"evalsmith": {
"command": "npx",
"args": [
"-y",
"evalsmith-mcp"
],
"env": {
"EVALSMITH_JUDGE_BASE_URL": "your-value",
"EVALSMITH_JUDGE_MODEL": "your-value",
"EVALSMITH_JUDGE_API_KEY": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"evalsmith": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"evalsmith-mcp"
],
"env": {
"EVALSMITH_JUDGE_BASE_URL": "your-value",
"EVALSMITH_JUDGE_MODEL": "your-value",
"EVALSMITH_JUDGE_API_KEY": "your-value",
"LOG_LEVEL": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
EVALSMITH_JUDGE_BASE_URL envEVALSMITH_JUDGE_MODEL envLOG_LEVEL envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto diegoperezg7 bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: EVALSMITH_JUDGE_API_KEY
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.0) kam vor 10 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Context7, Codebase Memory, Exa
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Evaluate RAG retrieval and AI agents with deterministic metrics, from any MCP client or from CI.
evalsmith answers four questions that come up every time a retriever, prompt or agent changes:
Everything is deterministic and runs offline. An LLM judge exists for a second opinion, but it is off by default and never decides the verdict. Results come out as a terminal table, Markdown, JSON, JUnit XML or a self-contained HTML report, and the GitHub Action turns them into a merge gate.
flowchart LR
subgraph Clients A[MCP client desktop app, IDE, agent] B[Remote MCP client or service] C[Terminal / CI job] D[GitHub workflow] end subgraph evalsmith S1[MCP server stdio] S2[MCP server Streamable HTTP, stateless] S3[CLI evalsmith run] S4[GitHub Action uses: evalsmith-mcp@v0] CORE[(src/core metrics, bootstrap, matchers, checks, gates, reports)] end A --> S1 --> CORE B --> S2 --> CORE C --> S3 --> CORE D --> S4 --> CORE S3 -. exit code + JUnit + HTML .-> C S4 -. outputs + job summary .-> D
| Interface | Entry point | Who uses it | Why it exists |
|---|---|---|---|
| MCP over stdio | dist/mcp/server.js | Desktop MCP clients, IDE assistants, local agents | An assistant can score a run, compare configs or audit a trace mid-conversation, with typed structuredContent back. |
| MCP over Streamable HTTP | EVALSMITH_TRANSPORT=http | Remote clients, internal platforms, the MCP Inspector | Same tools over the network. Stateless: no sessions to store, scales horizontally. |
| CLI / CI | evalsmith run evalsmith.yaml | Pipelines and terminals | --fail-under recall@5=0.8 turns a metric into a merge gate. Exit codes, Markdown summary, JUnit XML, HTML report. |
| GitHub Action | uses: diegoperezg7/evalsmith-mcp@v0 | GitHub workflows | The same gates as a step, with outputs, a job summary and no install. |
All four call the same functions in src/core. The MCP tools are thin adapters: parse input with Zod, call the core, return structuredContent validated against an output schema.
flowchart TB
subgraph Tools T1[evaluate_retrieval] T2[compare_configs] T3[check_tool_calls] T4[detect_prompt_regression] T5[generate_report] T6[run_suite] end subgraph Resources R1["evalsmith://examples/{name} 12 synthetic datasets + suite"] end subgraph Prompts P1[compare_rag_configs] P2[audit_agent_trace] P3[review_prompt_change] end T1 -- structuredContent --> T5 T2 -- structuredContent --> T5 T3 -- structuredContent --> T5 T4 -- structuredContent --> T5 classDef tool fill:#ffedd5,stroke:#c2410c,color:#431407 classDef res fill:#e0f2fe,stroke:#0369a1,color:#082f49 classDef prom fill:#ede9fe,stroke:#6d28d9,color:#2e1065 class T1,T2,T3,T4,T5,T6 tool class R1 res class P1,P2,P3 prom
Every tool declares an input and an output Zod schema, returns structuredContent plus a JSON text block, and is annotated readOnly and non-destructive. Four tools are also idempotent and closed-world. detect_prompt_regression and run_suite are declared open-world and non-idempotent: annotations are per tool, and with the judge enabled they call an external model whose answers can vary. With the judge off (the default) they behave like the others.
| Tool | Input | Output | ||
|---|---|---|---|---|
evaluate_retrieval | qrels, run, optional k list | Mean recall/precision/nDCG/hit rate at every k, MRR, per-query values, skipped and missing queries | ||
compare_configs | qrels, 2-3 {name, run}, primary metric, bootstrap {samples, seed, confidence} | Ranking with intervals, winner, runner-up, paired interval of the gap, significant | ||
check_tool_calls | trace as logged (evalsmith, Anthropic Messages, OpenAI Chat or Responses), expected, `order: strict \ | lax` | passed, score, matched position and reasons per expected call, unexpected calls | |
detect_prompt_regression | golden, baseline, candidate, optional judge {enabled} | Verdict, pass rates, regressions, improvements, per-case failures, judge votes when enabled | ||
generate_report | Any of the results above, gates, `format: markdown \ | json \ | junit` | passed, rendered report |
run_suite | Optional config path to an evalsmith.yaml, gates, judge, format | passed, rendered report and every section's results, read from the suite's files |
run_suite runs the same suites as evalsmith run, so a client can evaluate data that lives in files instead of pasting it into the conversation. It only reads inside the workspace root (EVALSMITH_ROOT, the directory the server started in by default), following symlinks before it checks, and runs the bundled example suite when no config is given.
Bad input (unknown metric, duplicate config names, qrels with no relevant documents) comes back as an InvalidParams tool error with a message the model can act on. A judge endpoint that is down or returns an HTTP error is an InternalError.
evalsmith://examples/{name} lists and serves the synthetic datasets in examples/datasets, so a client can try every tool before wiring in its own data:
| Name | Content |
|---|---|
rag-corpus, rag-queries, rag-qrels | 20 help-center articles of a fictional invoicing app, 12 questions, graded judgements |
rag-run-bm25, rag-run-hybrid, rag-run-hybrid-rerank | Top-10 rankings from three retrieval configurations |
agent-trace, agent-expected | A support agent refunding a duplicate charge, and the calls it should make |
prompts-golden, prompts-baseline, prompts-candidate, prompts-candidate-regressed | Six golden cases and three sets of outputs |
suite | The example evalsmith.yaml |
| Prompt | Argument | What it asks the model to do |
|---|---|---|
compare_rag_configs | metric | Compare the configurations, report the gap with its interval and the weakest queries |
audit_agent_trace | order | Check the trace and propose the smallest fix for each failed step |
review_prompt_change | candidate | Detect regressions, build a Markdown report, decide ship / do not ship |
sequenceDiagram
autonumber actor User participant Host as MCP client (LLM host) participant ES as evalsmith (stdio) participant Core as src/core
User->>Host: "Is the reranker worth it on our help-center set?" Host->>ES: initialize, tools/list, resources/list ES-->>Host: 6 tools + JSON Schemas, 13 resources Host->>ES: resources/read evalsmith://examples/rag-qrels (+ 3 runs) ES-->>Host: qrels and runs as JSON Host->>ES: tools/call compare_configs {metric: "ndcg@5", configs: [...]} ES->>Core: compareConfigs(qrels, configs, "ndcg@5", {seed: 42}) Core-->>ES: ranking, intervals, paired delta ES-->>Host: structuredContent {winner: "hybrid+rerank", significant: true, ...} Host->>ES: tools/call generate_report {format: "markdown", comparison} ES-->>Host: Markdown report Host-->>User: "Yes: +0.153 nDCG@5 over hybrid, 95% CI [0.069, 0.251]."
For a query $q$ with relevant set $R_q$ (documents with grade $> 0$) an
Nur der Anfang wird gezeigt; den Rest findest du im Repo