Skip to content
Squatch MCP

Agent Data Tools: Company, compliance and checks

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

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: High2 findings

Severity: HighStatus: OpenSQ-TOOL-TITLE-EFFECT-MISMATCH

Display title describes a lower-impact action than the name

The tool's display title describes a lower-impact action than its name (for example a read title on a delete tool).

First seen · Last seen

Suggested fix: Make the title describe the same action as the tool name.

Severity: HighStatus: 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: Medium7 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-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-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-SHELL-PAYLOAD

Shell command patterns in model-facing text

Model-facing text contains shell command patterns such as piping downloads into a shell or recursive deletion.

First seen · Last seen

Suggested fix: Remove shell commands from descriptions.

Severity: MediumStatus: 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: 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-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: Low5 findings

Severity: LowStatus: 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: 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: 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: 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: 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: Info1 finding

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.

1 resolved or dismissed finding
Severity: MediumStatus: ResolvedSQ-TOOL-OVERLY-BROAD

Runs arbitrary code with open-world access

The tool runs code, commands or queries supplied at call time and does not declare a closed-world scope.

First seen · Last seen

Suggested fix: Narrow the tool to specific operations, or declare and enforce a closed-world sandbox.

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