Skip to content
Squatch MCP

Findings

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

Severity: High7 findings

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: 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-TOOL-INJECTION-INSTRUCTIONS

Instructions addressed to the AI model

Model-facing text contains instructions addressed to the AI model rather than a description of the tool (for example to override prior instructions, to act before using tools, or to react to trigger phrases).

First seen · Last seen

Suggested fix: Describe what the tool does and its parameters. Do not include instructions to the model about other tools, the user or the conversation.

Severity: HighStatus: OpenSQ-TOOL-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

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

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-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

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-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

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-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

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-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

Severity: MediumStatus: OpenSQ-TOOL-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

Severity: MediumStatus: OpenSQ-TOOL-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

Severity: MediumStatus: OpenSQ-TOOL-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

Severity: Low9 findings

Severity: LowStatus: OpenSQ-CONFORMANCE-MODERN-FAILURE

Protocol conformance checks failed

The server failed one or more MCP protocol conformance checks.

First seen · Last seen

Suggested fix: Review the failed checks against the MCP specification.

Severity: LowStatus: OpenSQ-REPO-MISSING

No source repository linked

No source repository is linked in the registry entry.

First seen · Last seen

Suggested fix: Add a repository to server.json.

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-META-INSUFFICIENT

Description too thin to determine behavior

The tool's name and description do not state what it does.

First seen · Last seen

Suggested fix: Describe the action the tool performs, its target and its side effects.

Severity: LowStatus: OpenSQ-TOOL-META-INSUFFICIENT

Description too thin to determine behavior

The tool's name and description do not state what it does.

First seen · Last seen

Suggested fix: Describe the action the tool performs, its target and its side effects.

Severity: LowStatus: OpenSQ-TOOL-META-INSUFFICIENT

Description too thin to determine behavior

The tool's name and description do not state what it does.

First seen · Last seen

Suggested fix: Describe the action the tool performs, its target and its side effects.

Severity: LowStatus: OpenSQ-TOOL-META-INSUFFICIENT

Description too thin to determine behavior

The tool's name and description do not state what it does.

First seen · Last seen

Suggested fix: Describe the action the tool performs, its target and its side effects.

Severity: LowStatus: OpenSQ-TOOL-META-INSUFFICIENT

Description too thin to determine behavior

The tool's name and description do not state what it does.

First seen · Last seen

Suggested fix: Describe the action the tool performs, its target and its side effects.

Severity: LowStatus: OpenSQ-TOOL-META-INSUFFICIENT

Description too thin to determine behavior

The tool's name and description do not state what it does.

First seen · Last seen

Suggested fix: Describe the action the tool performs, its target and its side effects.

Severity: Info10 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.

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.

26 resolved or dismissed findings
Severity: HighStatus: ResolvedSQ-TOOL-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

Status history
  1. ResolvedSquatch
Severity: HighStatus: ResolvedSQ-TOOL-INJECTION-INSTRUCTIONS

Instructions addressed to the AI model

Model-facing text contains instructions addressed to the AI model rather than a description of the tool (for example to override prior instructions, to act before using tools, or to react to trigger phrases).

First seen · Last seen

Suggested fix: Describe what the tool does and its parameters. Do not include instructions to the model about other tools, the user or the conversation.

Status history
  1. ResolvedSquatch
Severity: InfoStatus: ResolvedSQ-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.

Status history
  1. ResolvedSquatch
Severity: InfoStatus: ResolvedSQ-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.

Status history
  1. ResolvedSquatch
Severity: InfoStatus: ResolvedSQ-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.

Status history
  1. ResolvedSquatch
Severity: InfoStatus: ResolvedSQ-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.

Status history
  1. ResolvedSquatch
Severity: InfoStatus: ResolvedSQ-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.

Status history
  1. ResolvedSquatch
Severity: InfoStatus: ResolvedSQ-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.

Status history
  1. ResolvedSquatch
Severity: InfoStatus: ResolvedSQ-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.

Status history
  1. ResolvedSquatch
Severity: InfoStatus: ResolvedSQ-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.

Status history
  1. ResolvedSquatch
Severity: InfoStatus: ResolvedSQ-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.

Status history
  1. ResolvedSquatch
Severity: InfoStatus: ResolvedSQ-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.

Status history
  1. ResolvedSquatch
Severity: LowStatus: ResolvedSQ-TOOL-META-INSUFFICIENT

Description too thin to determine behavior

The tool's name and description do not state what it does.

First seen · Last seen

Suggested fix: Describe the action the tool performs, its target and its side effects.

Status history
  1. ResolvedSquatch
Severity: LowStatus: ResolvedSQ-TOOL-META-INSUFFICIENT

Description too thin to determine behavior

The tool's name and description do not state what it does.

First seen · Last seen

Suggested fix: Describe the action the tool performs, its target and its side effects.

Status history
  1. ResolvedSquatch
Severity: LowStatus: ResolvedSQ-TOOL-META-INSUFFICIENT

Description too thin to determine behavior

The tool's name and description do not state what it does.

First seen · Last seen

Suggested fix: Describe the action the tool performs, its target and its side effects.

Status history
  1. ResolvedSquatch
Severity: LowStatus: ResolvedSQ-TOOL-META-INSUFFICIENT

Description too thin to determine behavior

The tool's name and description do not state what it does.

First seen · Last seen

Suggested fix: Describe the action the tool performs, its target and its side effects.

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
Severity: LowStatus: ResolvedSQ-TOOL-META-INSUFFICIENT

Description too thin to determine behavior

The tool's name and description do not state what it does.

First seen · Last seen

Suggested fix: Describe the action the tool performs, its target and its side effects.

Status history
  1. ResolvedSquatch
Severity: LowStatus: ResolvedSQ-TOOL-META-INSUFFICIENT

Description too thin to determine behavior

The tool's name and description do not state what it does.

First seen · Last seen

Suggested fix: Describe the action the tool performs, its target and its side effects.

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
Severity: MediumStatus: ResolvedSQ-TOOL-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

Status history
  1. ResolvedSquatch
Severity: MediumStatus: ResolvedSQ-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.

Status history
  1. ResolvedSquatch
Severity: MediumStatus: ResolvedSQ-TOOL-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

Status history
  1. ResolvedSquatch
Severity: MediumStatus: ResolvedSQ-TOOL-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

Status history
  1. ResolvedSquatch
Severity: MediumStatus: ResolvedSQ-TOOL-SENSITIVE-PATH-REFERENCE

References credential or key locations

Model-facing text references credential, key or configuration file locations unrelated to the tool's stated purpose.

First seen · Last seen

Suggested fix: Remove references to credential files, key stores and client configuration files.

Status history
  1. ResolvedSquatch
Severity: MediumStatus: ResolvedSQ-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.

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