For teams building AI agents or running MCP servers

AI agent and MCP testing

An agent decides, calls tools and acts. That makes a wrong step costly and hard to see. We test whether your agent picks the right tool, stays inside its permissions, stops when it should, and whether your MCP servers hold up when an agent or an attacker uses them.

€20-45Per hour
First 2 weeksComplimentary on ongoing work if not happy
50+QA engineers
4.9Clutch, 71 reviews

What we check

  • Tool callsRight tool, right arguments
  • ActionsNo wrong or repeated steps
  • BoundariesPermissions and limits hold
  • MCP serversSchemas, errors, auth, injection
// why

Why agent projects need testing

Gartner predicts that over 40% of agentic AI projects will be canceled by the end of 2027, citing escalating costs, unclear business value or inadequate risk controls (Gartner press release, 25 June 2025). Testing does not remove those risks. It makes them visible while changing course is still cheap.

Agents are hard to test the usual way. The same task can take a different path each run, and the final answer can look right when the steps behind it were not. So we check the steps and the result.

// agent

Testing the agent

Tool-call correctness

Did it choose the right tool, pass valid arguments and use the result correctly?

Wrong or repeated actions

Duplicate orders, repeated emails, edits to the wrong record and loops that do not stop.

Permission boundaries

What the agent can reach, and whether a user or a document can talk it into reaching further.

Trajectory checks

We review the sequence of steps and the answer against what a sensible path would be.

Cost and step limits

Caps on steps, tokens and calls, and what happens when the cap is hit.

Regression on model change

The same tasks rerun when the model, prompt or tools change, so differences show.

// mcp

Testing MCP servers

The Model Context Protocol lets agents call tools exposed by a server. The server is code like any other, and an agent is an unusual client for it. We test:

Tool schemas. Names, descriptions and parameters that are clear enough for a model to use correctly, and that reject invalid input.

Error handling. What the agent sees when a call fails, times out or returns something unexpected, and whether it recovers or loops.

Authentication and authorisation. Whether each tool checks who is calling and what they may do.

Tool poisoning and injection via tool output. Text in a tool description or a tool result that tries to give the agent new instructions. That is prompt injection through the tool channel.

// experience

We run MCP servers ourselves

BetterQA builds and runs its own MCP servers for its own QA tools, including BugBoard and Flows. We test MCP servers every day, so we know where they tend to break. We still only test for clients: we do not build your product.

// process

How we test an agent

  1. Map the agent

    Its goal, its tools, its permissions and what a mistake would cost.

  2. Define good

    A set of tasks with the outcome and a sensible path for each, agreed with you.

  3. Run and record

    Each task run several times, with every step and tool call recorded.

  4. Attack

    Hostile input through the user, documents and tool output, to test the boundaries.

  5. Report and rerun

    Findings with the recorded trajectory, then a rerun when you change the model, prompt or tools.

// from our own work

What breaks when agents use our own MCP servers

We build and run MCP servers for our own tools (BugBoard, Flows, JRNY, Hireo, a site scanner, the AI Security Toolkit, Maestro and others), and AI agents use them every day. Every surprise goes into a feedback journal: 221 entries across 13 tools, and 819 issues filed from it, of which 697 are closed and 122 open. These failure classes came up most.

Wrong project

With several per-project keys, a tool silently acted on the wrong project. We now test every tool with more than one key and check where each write lands.

Success that did nothing

A tool answered "Updated" and dropped the fields. Security scanners reported success while scanning nothing because one interpreter was dead. Now we re-read after every write, and AI assertions that default to optional are refused at creation.

Caps read as totals

A list capped at 100 was read as the total, and a health check reported 0 dead links after stopping at its cap. We check a count against the source, not against a capped list.

Version drift

A server reported a current version while running month-old code, and two probes gave a false green. We check the running code, not the reported version.

Credentials in tool output

A scan in parse-only mode echoed plaintext credentials from request bodies into the agent's context. We read what a tool returns as well as whether it ran.

The lesson. Most of these were not crashes. The tool answered, and the answer was wrong or empty. A test for an agent tool has to check what changed, not what the tool said.

// receive

What you receive

A written report

Findings ranked by risk, each with the recorded steps that led to it.

The test set handed over

Tasks, expected outcomes and attack cases, so your team can rerun them on each change.

Bugs in BugBoard

Each finding logged in BugBoard or your tracker, ready to fix and retest.

How an engagement works

  • €20-45 per hour, by seniority and scope
  • First month is a trial
  • First two weeks complimentary if you are not happy
  • 30 days notice after that
Laptops, phones and coffee mugs on a shared desk seen from above in the BetterQA office
// related

Related services

Agents that face users also need AI red teaming. For AI doing the testing instead, see agentic QA testing. The overall approach is on our AI quality assurance page.

// questions

AI agent and MCP testing: common questions

What is AI agent testing?

Testing a system that plans, calls tools and acts on its own. We check the steps it took and the final answer.

How is it different from testing a chatbot?

A chatbot talks. An agent also acts, so wrong steps have side effects: orders, emails, changed records. That needs checks on tools, permissions and loops.

What is MCP testing?

Testing a Model Context Protocol server: its tool schemas, error handling, authentication, and resistance to tool poisoning and injection through tool output.

Is there a standard agent testing framework?

There is no single standard. We build the test set around your tasks and tools, and hand it over so you can run it in your own pipeline.

How do you keep test runs from costing a lot?

We set step and token limits on the test runs, and we test the limits themselves, since runaway loops are a failure we look for.

Building an agent or an MCP server?

Tell us which tools it can call. In a complimentary call we will outline what to test first.