MCP Tool Poisoning: Review Changes Before Reapproving a Tool

Read Time: 7 min read Publish Date:

Soraya Zheng portrait

Soraya Zheng

Contributing Writer · Retrieval & Evaluation

On this page
Conceptual tool-change review with three stages: compare definitions, test bounded behavior, and decide whether to release or hold

Protect company MCP tools from tool poisoning by reviewing what the model will see, recording the approved definition, and checking changes before clients use them. Keep runtime permissions narrow as a separate control. Approving a server once doesn’t establish that every later tool definition or response is trustworthy.

This guide focuses on one decision: should a changed tool be released to company users? It proposes a review record and safe acceptance tests, not a tested Jarvis detection feature.

Key Takeaways

  • Review descriptions, schemas and annotations together, not only the visible tool name.
  • A matching definition doesn’t prove unchanged server behavior.
  • Test approval, withdrawal and cached clients with harmless fixtures.
  • Keep permissions and downstream access independent of the model’s interpretation.

Disclosure: Jarvis is an open source project built and maintained by ASCENDING Inc. We distinguish its documented controls from the review process proposed here.

What changes can make an approved tool risky?

Tool poisoning introduces instructions through material an AI client encounters while discovering or using tools. The model may interpret that material as directions instead of an untrusted description or result.

Invariant Labs’ research demonstrated malicious tool descriptions and changes after initial approval, often called rug pulls. It also showed how one server’s descriptions could influence interactions with another server.

Descope’s explanation distinguishes this problem from a malicious user typing instructions directly into a chat. The suspicious content can arrive through a connected tool the user believes is legitimate.

Use three separate review questions:

Change surfaceReview questionWhat metadata review cannot establish
Tool description or schemaDoes it introduce unrelated instructions, parameters or new data requests?Whether the deployed server implements the reviewed behavior
Server implementation or dependenciesHave capabilities, credentials or destinations changed?Whether every future response will be trustworthy
Returned contentCould retrieved text attempt to redirect the agent’s next action?Whether all possible future content has been tested

The OWASP MCP Security Cheat Sheet covers these related risks and recommends reviewing the complete definition. Its guidance explicitly distinguishes metadata-change detection from detecting changes behind an unchanged definition.

Create a review record before approving changes

We recommend a small record attached to the server’s existing owner and release process. Avoid a separate checklist nobody maintains.

Record itemWhat to write down
PurposeThe business operation this tool may perform, and explicit exclusions
OwnershipServer owner, reviewer and team responsible for withdrawal
Reviewed artifactServer origin, tool name and captured definition, with a consistent version or digest
Access boundaryPermitted clients, identities, destinations and data classes
ChangeThe previous and proposed definitions, plus a readable difference
DecisionApprove, reject or hold; rationale; required follow-up tests
Release evidenceWhich clients received the approved version and how withdrawal was verified

For a synthetic ticket lookup, the purpose could be “return a test ticket’s status.” A later request for an unrelated destination or extra data should trigger review.

Preserve the entire tool definition returned to the client, including its name, title, description, schemas, annotations, icons and any additional fields. Compute the digest over that complete artifact using consistent serialization. Otherwise, formatting changes can create noise and omitted fields can hide relevant changes.

Don’t treat a hash as a safety label. It identifies content, not whether that content deserves approval. Use it to connect the review decision to the artifact actually released.

Review the difference, then the whole definition

A short difference helps a reviewer find changes. Reading the complete proposed definition helps reveal instructions whose meaning depends on surrounding text.

Our suggested reviewer questions are:

  1. Does every instruction relate to the tool’s stated purpose?
  2. Do new parameters request more data than the operation needs?
  3. Has the tool gained a write, sharing or network capability?
  4. Does any text direct behavior involving another tool or server?
  5. Are new dependencies or remote destinations owned and approved?
  6. Can the existing permissions still contain the changed behavior?

Flag instructions that request secrecy, unrelated actions or a wider access boundary. A flag requires investigation; it isn’t proof of a successful exploit.

Treat annotations such as readOnlyHint as claims to verify. The MCP tools specification cautions that annotations are untrusted unless supplied by a trusted server. A read-only label doesn’t replace destination authorization.

For the broader server hardening program, see MCP security hardening. This narrower review belongs inside that program, not in place of it.

Test the review gate with harmless changes

Use an isolated test server, synthetic records and identities without production privileges. The following are proposed acceptance tests, not reported execution results. They don’t require secrets or an attack against another system.

Test changeExpected review behaviorEvidence to save
Edit a harmless description sentenceChange is detected and routed to the configured reviewerOld/new artifact references and review decision
Add an unused optional parameterReviewer checks purpose and data scope before approvalSchema difference and approved scope
Change a read-only annotationReview doesn’t rely on the annotation as authorizationUpdated risk assessment and destination permission test
Return synthetic text unrelated to the lookupTest checks whether the client attempts an unintended actionSanitized client behavior and any blocked tool attempt
Withdraw the test toolNew and existing sessions cannot keep invoking it through approved routesDiscovery and invocation results for both session types
Leave metadata unchanged but alter a harmless server responseDefinition comparison alone reports no metadata changeSeparate behavioral test result, proving the limit of that control

The first two tests validate the change process, not poisoning detection accuracy. The response test checks one fixture, not every possible prompt injection. Keep those conclusions separate.

Record the client’s version and connection state. A fresh session and a session with cached definitions may behave differently. If removal stops discovery but an existing session can still invoke the tool, withdrawal isn’t complete.

Decide what to do when review or enforcement fails. Options include retaining a known approved version, blocking that tool, or temporarily removing the integration. Test the chosen path.

Keep runtime permissions independent of review

An approved definition doesn’t authorize every invocation. The gateway and destination must still decide whether the current identity may perform the requested operation.

Limit reachable tools and credentials to the workflow’s needs. A ticket lookup shouldn’t inherit permission to send external messages just because the client supports both operations.

Separate high-impact actions from low-risk reads and require appropriate confirmation. The MCP specification’s user-control guidance supports explicit approval and visibility into tool use. Verify what the selected client actually displays.

A manual review process adds delay, especially when upstream tools change frequently. Use risk tiers and clear ownership to make that trade-off manageable. Don’t silently bypass review to meet an update schedule.

Where Jarvis fits, and what to confirm

Jarvis MCP Gateway documents permission-scoped discovery and per-tool access controls. Those controls help define which tools an identity can reach. They don’t, by themselves, establish that a description or result is safe.

Before treating this process as a Jarvis implementation, confirm where definitions are captured and how approved changes reach clients. Also confirm who can block an updated tool and how existing sessions respond.

Automatic scanning, signed-definition verification, version pinning, change-triggered approval and rollback aren’t established by this article. They require implementation evidence. Your team may need a release workflow or additional controls alongside the gateway.

Start with one owned tool and one harmless change. Record the review decision, test both fresh and existing sessions, and keep the evidence with the release. The MCP audit evidence guide explains how to separate permission decisions from actual execution results.

References

Sources checked October 19, 2026. Review controls reduce risk; none of the proposed tests establishes complete protection against tool poisoning.

MCP tool change-review questions

How do we protect company MCP tools from tool poisoning?

Review tool definitions before exposing them to company clients, record the approved version and re-review changes. Combine that process with least-privilege tool access, destination controls and safe tests. No single review, scanner or gateway guarantees protection from prompt injection.

Does a tool-definition hash prove the tool is safe?

No. A digest can identify a definition or detect a change when the captured fields and comparison method are consistent. It doesn't prove the initial content was safe or detect changed server behavior behind an unchanged definition.

Is approving an MCP server enough?

No. Its tool definitions, implementation, dependencies and returned content can change. Define which changes require review, how clients receive approved updates and what happens when a tool must be withdrawn.

Does Jarvis automatically detect tool poisoning?

This guide doesn't establish automatic poisoning detection or definition-change approval in Jarvis. Its access controls are relevant to limiting reachable tools. Confirm any scanning, version-pinning or change-enforcement requirement against the proposed implementation.

Soraya Zheng portrait

About the author

Soraya Zheng

Contributing Writer · Retrieval & Evaluation

Writes the Enterprise RAG pillar and the retrieval- and evaluation-heavy glossary entries at ASCENDING Inc.