Risks
MCP tool poisoning and MCP server risks
MCP tool poisoning is when the description, code or responses of a tool exposed through the Model Context Protocol are crafted to steer the agent. MITRE ATLAS tracks it as AML.T0110, AI Agent Tool Poisoning. Combined with over-scoped servers it turns one bad tool into account-wide reach. We test both.
- AML.T0110
What is MCP tool poisoning?
The Model Context Protocol lets an agent discover and call tools hosted by MCP servers. The model reads each tool's name, description and schema to decide what to call. MITRE ATLAS technique AML.T0110, AI Agent Tool Poisoning, describes adversaries introducing or modifying malicious content or behavior in a tool's model-visible definition, executable implementation or runtime responses, and names MCP servers among the tool sources.
The description is the sharp edge. It is text the model treats as guidance from the developer, it can change after you install the server, and most clients never show it to the user in full.
How do MCP servers widen agent risk?
The MCP project's Security Best Practices document lists attacks specific to the protocol, including the confused deputy problem, token passthrough, server-side request forgery, local MCP server compromise and scope minimization. The OWASP Agentic AI Threats and Mitigations guide (v1.1) adds T16 Insecure Inter-Agent Protocol Abuse, which names flaws in protocols like MCP, and T2 Tool Misuse, where an agent is manipulated into abusing tools it is authorized to use.
In tests we look for four patterns:
- Over-broad scopes. The server holds a token that can do far more than the tools the agent uses.
- Token passthrough. A server forwards a client token to a downstream API, which the MCP guidance calls out as an anti-pattern.
- Shadowing. One server's description instructs the model about another server's tools.
- Local servers. Servers run on a developer machine with that user's file and network access.
Illustrative trace
Illustrative example, not a real customer finding.
What do we check in an MCP pentest?
Within the scope agreed at intake, we list every MCP server the agent connects to, read the full tool definitions the model sees, and compare them with what the task requires. Then we attack in four directions that match the classes of an AI agent pentest: injected instructions inside tool descriptions and responses, privilege escalation through server-held tokens, exfiltration through any server tool that writes outward, and unsafe actions that fire without confirmation. Findings include the server, the tool, the payload and the call that resulted.
How do you mitigate it?
The MCP guidance centers on scope minimization, refusing token passthrough, validating redirect and authorization URLs, and treating local servers as code that runs with user privileges. OWASP's T2 mitigations add strict tool access verification, pre-execution validation, rate limiting and execution logs that track tool calls for anomaly detection. On the client side, pin server versions, review description changes, and require confirmation for tools that write.
Which frameworks are affected?
The OpenAI Agents SDK supports hosted MCP tools and Streamable HTTP, SSE and stdio servers. LangChain and LangGraph agents hand the model every bound tool's description, whatever its source. A payments MCP server puts Stripe actions one description away from the model.
Agent Action Pentest: $2,500 fixed. Written report within 72 hours of access, or a full refund.
See the offer or email yaz@plaw.io
Questions
Is MCP tool poisoning in the OWASP LLM Top 10?
Not by name in the 2025 list. OWASP covers it in the Agentic AI Threats and Mitigations guide under T2 Tool Misuse and T16 Insecure Inter-Agent Protocol Abuse. MITRE ATLAS lists it as AML.T0110.
Do you audit third-party MCP server code?
We test how your agent behaves with the servers it uses. Reviewing a vendor server codebase is a separate exercise and not part of the fixed scope.
Which MCP transports can you test?
Whatever your agent uses in the test environment. We agree the servers in scope at intake.
Related pages
- 02Indirect prompt injection in AI agentsHidden instructions in emails, pages, files or tool results steer an agent that reads them.
- 03Excessive agency in AI agentsThe agent holds more tools, permissions or autonomy than the task needs.
- OWASP Agentic AI threats, mapped to agent testsThe OWASP agentic threat taxonomy, T1 to T17, mapped to what an agent pentest covers.
- MITRE ATLAS techniques for AI agentsThe ATLAS techniques that describe attacks on tool-using agents, mapped to our tests.
- Security testing for OpenAI Agents SDK appsFunction tools, handoffs, guardrails and MCP servers in the OpenAI Agents SDK.
- Security testing for AI agents with Stripe accessRefunds, payouts and restricted API keys for agents that touch Stripe.
- Security testing for AI agents in SlackChannel history, message posting and link unfurling for agents installed in Slack.
- Security testing for AI agents with GitHub accessToken type, repository permissions and write paths for agents that touch GitHub.
- Security testing for AI agents with Gmail accessRead, send, modify and filter scopes for agents that work in a Gmail mailbox.
Sources
Last reviewed: