By oqoqo team. Updated . Experiment figures refer to the public snapshots reviewed on that date.
How to test MCP task success beyond protocol checks
To test whether agents can actually use your MCP server, give them a realistic customer task, start each attempt from a known state, and independently verify the result in your product. Record the tool calls and recovery steps so you can explain failures. Repeat the same task before and after a bounded change.
oqoqo is an agent usability testing and agent observability platform for this workflow. It organizes controlled experiments around tasks, interface treatments, agent configurations, and repeated trials, then connects requirement-level results with recorded execution evidence. Its experiment model keeps the task's files and machine fixed while treatments change the available tools or instructions.
What protocol checks establish
A valid response to a tool call is useful evidence. It does not establish that an agent will discover the tool, choose it at the right time, supply appropriate inputs, or complete a multi-step workflow.
Use MCP Inspector to inspect your server and make explicit calls. Its browser, CLI, and terminal interfaces support protocol debugging. Add an agent-driven task suite to test behavior when the agent has to choose its own actions.
| Layer | Question | Evidence to retain |
|---|---|---|
| Connection and protocol | Can a correctly configured client connect and call the tool? | Initialization, tool schemas, explicit requests and responses |
| Agent interaction | Can the target agent discover, select, and use the tool? | Available tools, chosen calls, arguments, errors, recovery |
| Workflow outcome | Did the intended product operation actually happen? | Persisted state, returned identifiers, executable acceptance checks |
| Evidence quality | Does the final answer follow from what the agent observed? | Relevant tool results and the claims they support |
Keep the layers separate in the report. A connection failure needs a different fix from a well-connected agent making an unsupported diagnosis.
A real example: a strong aggregate hid a weak workflow
oqoqo's public Vercel MCP experiment contains 60 attempts: ten tasks, two agent configurations, and three trials per combination. In published snapshot v4, reviewed October 19, 2026, Claude Code 2.1.233 with Opus 5 at high effort passed 28 of 30; Codex 0.147.0 with gpt-5.6-sol at medium effort also passed 28 of 30. That is 56 of 60 overall.
One workflow tells a more specific story. Task 10 concerned an incident with insufficient evidence. Only three of six attempts passed. The failed requirement concerned choosing a next diagnostic step that would obtain evidence capable of distinguishing plausible historical upstream causes.
Successful access and many successful tasks did not establish that this diagnostic workflow worked reliably. The actionable result was the task-level evidence gap, which an aggregate pass rate could obscure. These findings describe the configured test projects, integration, tasks, and agent versions; they are not a general failure-rate claim about Vercel.
Build a small suite around customer outcomes
Start with workflows that require different kinds of work: initial setup, a normal operation involving several tools, and recovery or diagnosis. Write a goal a customer would recognize. For example:
In the supplied test project, create a deployment, verify that the expected endpoint serves the fixture data, and report the deployment identifier and verification result.
This is an illustrative task, not a claim about a completed experiment. Its rubric should check the created deployment, the actual endpoint response, and the accuracy of the reported identifier. If MCP usage is the purpose of the test, check evidence of that path too.
Decide what fallback means before running the suite. A task completed through a raw HTTP request may satisfy the customer's broader goal while failing to demonstrate MCP usability. Record both results. Do not quietly mark product abandonment as a successful MCP integration. Our trajectory analysis shows why product participation needs its own check.
Control setup without hiding onboarding failures
Run two tracks when setup matters. A clean-start track includes installation, configuration, and authentication using the materials customers receive. A configured track supplies working access so you can isolate operational usability. Label the tracks rather than combining them into an unexplained score.
For every attempt, record the product and MCP version, harness and model, effort setting, accessible documentation, credentials' scope, starting fixtures, and execution budget. Use separate resettable test state for parallel attempts. Keep expected answers and grading credentials outside the agent's workspace.
When testing a tool-description change, keep the rest of the setup fixed. Giving one condition extra examples or broader permissions changes the question the experiment answers.
Diagnose the first broken transition
For a failed attempt, identify the last verified success and the next transition that did not work. Then inspect its evidence.
| Observed failure | Next check |
|---|---|
| Server never became available | Transport, configuration, authentication, and environment setup |
| Tool was available but never selected | Discoverability, names, descriptions, and competing paths |
| Repeated invalid arguments | Schema clarity, examples, prerequisites, and error feedback |
| Tool calls succeeded but the task failed | Workflow sequencing, persisted state, and acceptance criteria |
| Final answer exceeded the evidence | Verification step and claim-to-source consistency |
Read failures and a sample of passes. Some successful attempts contain expensive detours. oqoqo's Traces retain commands, tool calls, results, files, and token use; Frictions analyze saved traces and output separately from rubric scoring.
Turn a diagnosis into a regression test
Change one suspected cause, rerun the same tasks under the same configurations, and report successful attempts over total attempts. Compare retries, elapsed time, and tokens alongside outcomes. Keep infrastructure-blocked and inconclusive attempts visible rather than counting them as product failures.
A few repeats can expose an obvious problem. They do not establish a rare-failure guarantee. Retain the task, rubric, fixture, version records, and representative traces so the next API or MCP release can be checked against the same workflow.
Questions teams ask
Does passing MCP Inspector mean an agent can use our server?
It establishes behavior under the calls you tested. Real-task usability also depends on discovery, selection, sequencing, recovery, and outcome verification in the target agent environment.
What should count as success?
Use independently verified product state and the task's requirements. Add a separate product-use check when the interface matters. A final message saying the task is done is insufficient evidence on its own.
Where should we start with oqoqo?
Bring one failing customer workflow and one suspected obstacle. Define the task and rubric, compare the current interface with a bounded revision, and inspect the evidence behind the result. See the agent usability and observability tools guide for selection criteria or oqoqo vs Lightsage for a product-focused comparison.
Related resources
- How to test SDK usability with Claude Code and Codex
- Agent observability: find why coding agents fail to use your product
- Build or buy an agent usability test harness?
- oqoqo vs The Prompting Company for agent usability and observability
- oqoqo vs 2027.dev (Firegoat) for agent usability and observability
- oqoqo vs Armature for agent usability and observability
- oqoqo vs MCPJam for agent usability and observability
Book an oqoqo demo with one workflow, its current setup, and the change you want to evaluate.