ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Evalsmith MCP

โดย diegoperezg7รุ่น 0.1.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.diegoperezg7/evalsmith-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Evaluate RAG retrieval, agent tool calls and prompt regressions with deterministic metrics.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: ค้นข้อมูลและความจำของ AI
  • ต้องใส่ค่าเหล่านี้: EVALSMITH_JUDGE_API_KEY

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: EVALSMITH_JUDGE_BASE_URL, EVALSMITH_JUDGE_MODEL, EVALSMITH_JUDGE_API_KEY, LOG_LEVEL

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "evalsmith": {
      "command": "npx",
      "args": [
        "-y",
        "evalsmith-mcp"
      ],
      "env": {
        "EVALSMITH_JUDGE_BASE_URL": "ใส่ค่าของคุณ",
        "EVALSMITH_JUDGE_MODEL": "ใส่ค่าของคุณ",
        "EVALSMITH_JUDGE_API_KEY": "ใส่ค่าของคุณ",
        "LOG_LEVEL": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add evalsmith --env EVALSMITH_JUDGE_BASE_URL='ใส่ค่าของคุณ' --env EVALSMITH_JUDGE_MODEL='ใส่ค่าของคุณ' --env EVALSMITH_JUDGE_API_KEY='ใส่ค่าของคุณ' --env LOG_LEVEL='ใส่ค่าของคุณ' -- npx -y evalsmith-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "evalsmith": {
      "command": "npx",
      "args": [
        "-y",
        "evalsmith-mcp"
      ],
      "env": {
        "EVALSMITH_JUDGE_BASE_URL": "ใส่ค่าของคุณ",
        "EVALSMITH_JUDGE_MODEL": "ใส่ค่าของคุณ",
        "EVALSMITH_JUDGE_API_KEY": "ใส่ค่าของคุณ",
        "LOG_LEVEL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "evalsmith": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "evalsmith-mcp"
      ],
      "env": {
        "EVALSMITH_JUDGE_BASE_URL": "ใส่ค่าของคุณ",
        "EVALSMITH_JUDGE_MODEL": "ใส่ค่าของคุณ",
        "EVALSMITH_JUDGE_API_KEY": "ใส่ค่าของคุณ",
        "LOG_LEVEL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • EVALSMITH_JUDGE_BASE_URL env
    OpenAI-compatible endpoint for the optional LLM judge (default: Ollama on localhost)
  • EVALSMITH_JUDGE_MODEL env
    Model used by the optional LLM judge
  • EVALSMITH_JUDGE_API_KEY ความลับ env
    API key for the judge endpoint, if it needs one
  • LOG_LEVEL env
    pino log level; logs go to stderr

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub diegoperezg7 ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด ค้นข้อมูลและความจำของ AIi

  • ดาวมากกว่า 0% ของอีก 5655 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 79% ของอีก 5655 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 5655 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Evalsmith MCP ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: EVALSMITH_JUDGE_API_KEY

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0) เข้า registry 10 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Context7, Codebase Memory, Exa

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Context7

โดย upstash

ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว

บนเครื่องหรือคลาวด์★ 64,224MITอัปเดต เมื่อวาน
ติดตั้ง

Codebase Memory

โดย DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

รันบนเครื่อง★ 48,148MITอัปเดต 21 วันที่ผ่านมา
ติดตั้ง

Exa

โดย exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

รันบนคลาวด์★ 5,213MITอัปเดต 2 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

evalsmith-mcp

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:

  1. Is retrieval good enough? recall@k, precision@k, nDCG@k, hit rate and MRR from qrels and a ranked run.
  2. Which configuration is better, and is the gap real? 2-3 configurations ranked with seeded paired-bootstrap confidence intervals.
  3. Did the agent call the right tools? Trace vs. expected calls, strict or lax order, argument matchers.
  4. Did the prompt change break anything? Golden-set checks on baseline vs. candidate outputs.

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.


Interfaces over the same core

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

InterfaceEntry pointWho uses itWhy it exists
MCP over stdiodist/mcp/server.jsDesktop MCP clients, IDE assistants, local agentsAn assistant can score a run, compare configs or audit a trace mid-conversation, with typed structuredContent back.
MCP over Streamable HTTPEVALSMITH_TRANSPORT=httpRemote clients, internal platforms, the MCP InspectorSame tools over the network. Stateless: no sessions to store, scales horizontally.
CLI / CIevalsmith run evalsmith.yamlPipelines and terminals--fail-under recall@5=0.8 turns a metric into a merge gate. Exit codes, Markdown summary, JUnit XML, HTML report.
GitHub Actionuses: diegoperezg7/evalsmith-mcp@v0GitHub workflowsThe 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.


MCP surface

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

Tools

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.

ToolInputOutput
evaluate_retrievalqrels, run, optional k listMean recall/precision/nDCG/hit rate at every k, MRR, per-query values, skipped and missing queries
compare_configsqrels, 2-3 {name, run}, primary metric, bootstrap {samples, seed, confidence}Ranking with intervals, winner, runner-up, paired interval of the gap, significant
check_tool_callstrace 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_regressiongolden, baseline, candidate, optional judge {enabled}Verdict, pass rates, regressions, improvements, per-case failures, judge votes when enabled
generate_reportAny of the results above, gates, `format: markdown \json \junit`passed, rendered report
run_suiteOptional config path to an evalsmith.yaml, gates, judge, formatpassed, 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.

Resources

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:

NameContent
rag-corpus, rag-queries, rag-qrels20 help-center articles of a fictional invoicing app, 12 questions, graded judgements
rag-run-bm25, rag-run-hybrid, rag-run-hybrid-rerankTop-10 rankings from three retrieval configurations
agent-trace, agent-expectedA support agent refunding a duplicate charge, and the calls it should make
prompts-golden, prompts-baseline, prompts-candidate, prompts-candidate-regressedSix golden cases and three sets of outputs
suiteThe example evalsmith.yaml
Prompts
PromptArgumentWhat it asks the model to do
compare_rag_configsmetricCompare the configurations, report the gap with its interval and the weakest queries
audit_agent_traceorderCheck the trace and propose the smallest fix for each failed step
review_prompt_changecandidateDetect regressions, build a Markdown report, decide ship / do not ship
A conversation with an MCP client
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]."


Metrics

For a query $q$ with relevant set $R_q$ (documents with grade $> 0$) an

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx