Question MCP Agent (multi-step reasoning) Answer SIMPLE PROMPT TEST Prompt → Model → Output Works perfectly REAL MCP SYSTEM User → MCP Agent → Answer ✘ Fails in production
discovery ✔ Servers expose tools + resources ✔ Context flows clearly at every step H O S T A P P L I C A T I O N AI Model + MCP Client M C P P R O T O C O L ( J S O N - R P C o v e r s t d i o / H T T P + S S E ) MCP SERVER Database Tools + Resources MCP SERVER External API Tools + Resources MCP SERVER Local Files Tools + Resources Each MCP Server exposes a consistent interface — one protocol, many integrations
Tool Updated Context Output C H E C K A T E A C H S T E P Context Relevant? Complete? Decision Right intent mapped? Tool Execution Correct params? Final Output Answers the intent? → Correctness lives at ALL of these checkpoints — not just the final answer
reasoning) Answer EXAMPLE QUERY “How many bugs were fixed in the last sprint?” TEST RESULTS In testing… everything passed ✓ Intent correctly identified ✓ Correct data source queried ✓ Valid response returned
sprint?” Outcome: Agent interpreted “issues resolved” as all closed tickets — not just bugs — and returned the wrong count Query executed Data valid Intent misunderstood — “issues” ≠ “bugs”
pick the right data source? ✓ Did the query execute without errors? ✓ Is the response formatted correctly? ✓ Does the number look plausible? All of these passed.
system handle different phrasings of the same question? • Build synonym coverage • Add normalisation step before intent classification • Use LLM-as-judge for intent alignment “This is where ‘issues resolved’ vs ‘bugs fixed’ should’ve been caught.”
the chain produce the right output for the next? Ambiguity handling Does the system ask for clarification when the query is vague? “Should the system have asked a clarification question?”
I C 1. Tool Selection F1 “Did the LLM pick the right MCP tool(s)?” L L M M E T R I C 2. Slot F1 “Did the LLM extract the right parameters?” S O F T W A R E M E T R I C 3. API Call Accuracy “Did the MCP server call the right APIs?” E N D - T O - E N D K P I 4. Execution Accuracy “Did we get the right data back?” Four core metrics capture functional correctness here; consider supplementing them with domain-specific measures. Security evaluation operates through a dedicated instrumentation layer.
Tool-based prompt injection Malicious instructions hidden in tool outputs hijack agent behavior Server impersonation Rogue servers masquerading as trusted MCP endpoints Parameter poisoning Crafted inputs manipulate tool parameters for unintended actions Agent overtrust Agents blindly executing tool responses without validation K E Y I N S I G H T “Security in MCP systems is not a feature you add — it’s an architecture you commit to.” Each attack vector maps to an eval test case. Build them in from day one.
traces Validate tool calls structurally Treat tool descriptions as untrusted input Enforce explicit tool contracts Fail closed, not open “Good MCP evaluation is architectural, not ad hoc.”
metrics over output-only scoring • Replayable agent traces for regression INFRASTRUCTURE • Cross-model robustness checks • Security benchmarks as default CI • Standardized “agent SLOs” THE SHIFT “In 2026, evaluating AI systems looks a lot like evaluating distributed systems.”
— Judging the process matters more than judging the final answer Tool Selection F1 is your canary – everything is conditional on it Safety is a design-time concern — Reliability and security must be architected in, not patched on