Skip to content
Squatch MCP

Agent Data Tools: Web, documents and search

io.github.Nutshell2000/agent-data-tools-web

by io.github.Nutshell2000· v1.195.0Source: Official MCP Registry

Findings

Detected by Squatch rules from the server's metadata and protocol behavior. Latest completed scan: .

Severity: High1 finding

Severity: HighStatus: OpenSQ-SERVER-INSTRUCTIONS-INJECTION

Server instructions contain directives to the AI model

The server's instructions field contains directives addressed to the AI model beyond describing how to use the server.

First seen · Last seen

Suggested fix: Limit server instructions to usage guidance for this server's own tools.

Severity: Medium9 findings

Severity: MediumStatus: OpenSQ-TOOL-ANNOTATION-UNDERCLAIM

Annotations understate what the tool does

The tool declares itself read-only, but its name or description indicates it changes, deletes or runs something. Clients that auto-approve read-only tools would run it without confirmation.

First seen · Last seen

Suggested fix: Set readOnlyHint to false and destructiveHint to reflect the tool's behavior.

Severity: MediumStatus: OpenSQ-TOOL-CROSS-TOOL-REFERENCE

Gives instructions about other tools

Model-facing text gives the AI model instructions about tools that this server does not provide (tool shadowing).

First seen · Last seen

Suggested fix: Describe only this server's own tools.

Severity: MediumStatus: OpenSQ-TOOL-ANNOTATION-UNDERCLAIM

Annotations understate what the tool does

The tool declares itself read-only, but its name or description indicates it changes, deletes or runs something. Clients that auto-approve read-only tools would run it without confirmation.

First seen · Last seen

Suggested fix: Set readOnlyHint to false and destructiveHint to reflect the tool's behavior.

Severity: MediumStatus: OpenSQ-TOOL-EXFIL-DESTINATION

External data-collection destination in model-facing text

Model-facing text points to a known request-collection or tunnel host, or to an external destination together with send instructions.

First seen · Last seen

Suggested fix: Remove external collection endpoints from metadata.

Severity: MediumStatus: OpenSQ-TOOL-EXFIL-DIRECTIVE

Asks the AI model to pass conversation data or secrets

Model-facing text instructs the AI model to place conversation content, prompts, tool history or secrets into tool arguments or external destinations.

First seen · Last seen

Suggested fix: Do not ask the model to include conversation, prompt or credential content in arguments.

Severity: MediumStatus: OpenSQ-TOOL-ANNOTATION-UNDERCLAIM

Annotations understate what the tool does

The tool declares itself read-only, but its name or description indicates it changes, deletes or runs something. Clients that auto-approve read-only tools would run it without confirmation.

First seen · Last seen

Suggested fix: Set readOnlyHint to false and destructiveHint to reflect the tool's behavior.

Severity: MediumStatus: OpenSQ-SERVER-AUTH-NONE-WRITE

State-changing tools available without authentication

The remote server lists state-changing tools without requiring authentication.

First seen · Last seen

Suggested fix: Require MCP authorization for servers that expose state-changing tools.

Severity: MediumStatus: OpenSQ-TOOL-CROSS-TOOL-REFERENCE

Gives instructions about other tools

Model-facing text gives the AI model instructions about tools that this server does not provide (tool shadowing).

First seen · Last seen

Suggested fix: Describe only this server's own tools.

Severity: MediumStatus: OpenSQ-TOOL-ANNOTATION-UNDERCLAIM

Annotations understate what the tool does

The tool declares itself read-only, but its name or description indicates it changes, deletes or runs something. Clients that auto-approve read-only tools would run it without confirmation.

First seen · Last seen

Suggested fix: Set readOnlyHint to false and destructiveHint to reflect the tool's behavior.

Severity: Low1 finding

Severity: LowStatus: OpenSQ-TOOL-ANNOTATION-UNDERCLAIM

Annotations understate what the tool does

The tool declares itself read-only, but its name or description indicates it changes, deletes or runs something. Clients that auto-approve read-only tools would run it without confirmation.

First seen · Last seen

Suggested fix: Set readOnlyHint to false and destructiveHint to reflect the tool's behavior.

Severity: Info5 findings

Severity: InfoStatus: OpenSQ-TOOL-EXFIL-SHAPED-PARAM

Free-text parameter commonly used to collect conversation data

A free-text parameter has a name commonly abused to collect conversation, prompt or environment data.

First seen · Last seen

Suggested fix: Constrain the parameter (enum, maxLength) or rename it to reflect its purpose; never ask the model to fill it with conversation content.

Severity: InfoStatus: OpenSQ-TOOL-EXFIL-SHAPED-PARAM

Free-text parameter commonly used to collect conversation data

A free-text parameter has a name commonly abused to collect conversation, prompt or environment data.

First seen · Last seen

Suggested fix: Constrain the parameter (enum, maxLength) or rename it to reflect its purpose; never ask the model to fill it with conversation content.

Severity: InfoStatus: OpenSQ-TOOL-EXFIL-SHAPED-PARAM

Free-text parameter commonly used to collect conversation data

A free-text parameter has a name commonly abused to collect conversation, prompt or environment data.

First seen · Last seen

Suggested fix: Constrain the parameter (enum, maxLength) or rename it to reflect its purpose; never ask the model to fill it with conversation content.

Severity: InfoStatus: OpenSQ-TOOL-EXFIL-SHAPED-PARAM

Free-text parameter commonly used to collect conversation data

A free-text parameter has a name commonly abused to collect conversation, prompt or environment data.

First seen · Last seen

Suggested fix: Constrain the parameter (enum, maxLength) or rename it to reflect its purpose; never ask the model to fill it with conversation content.

Severity: InfoStatus: OpenSQ-TOOL-EXFIL-SHAPED-PARAM

Free-text parameter commonly used to collect conversation data

A free-text parameter has a name commonly abused to collect conversation, prompt or environment data.

First seen · Last seen

Suggested fix: Constrain the parameter (enum, maxLength) or rename it to reflect its purpose; never ask the model to fill it with conversation content.

2 resolved or dismissed findings
Severity: MediumStatus: ResolvedSQ-TOOL-ANNOTATION-UNDERCLAIM

Annotations understate what the tool does

The tool declares itself read-only, but its name or description indicates it changes, deletes or runs something. Clients that auto-approve read-only tools would run it without confirmation.

First seen · Last seen

Suggested fix: Set readOnlyHint to false and destructiveHint to reflect the tool's behavior.

Status history
  1. ResolvedSquatch
Severity: LowStatus: ResolvedSQ-TOOL-ANNOTATION-UNDERCLAIM

Annotations understate what the tool does

The tool declares itself read-only, but its name or description indicates it changes, deletes or runs something. Clients that auto-approve read-only tools would run it without confirmation.

First seen · Last seen

Suggested fix: Set readOnlyHint to false and destructiveHint to reflect the tool's behavior.

Status history
  1. ResolvedSquatch

What this scan does not cover

  • Squatch never calls a server's tools, so it cannot see what they actually do at run time.
  • It scans without credentials: tools behind authentication may not be visible.
  • It does not review source code, dependencies or the publisher's infrastructure.
  • A server can change behavior between scans; monitoring compares each scan with the last.
  • Classifications come from tool names, descriptions and schemas, which the publisher controls.

How Squatch scans servers