Skip to content
Squatch MCP

x402 agent toolkit: service finder, payment safety, Solana & web tools

dev.workers.moneytools.x402-pay-precheck/pay-precheck

by dev.workers.moneytools.x402-pay-precheck· v2.11.5Source: Official MCP Registry

Findings

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

Severity: Critical3 findings

Severity: CriticalStatus: 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: CriticalStatus: 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: CriticalStatus: 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: High4 findings

Severity: HighStatus: 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: HighStatus: 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: HighStatus: 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: 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: Medium26 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-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool 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-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-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool 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-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-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-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.

Severity: MediumStatus: OpenSQ-TOOL-CREDENTIAL-ARGUMENT

Asks the AI model to supply credentials as arguments

A tool parameter asks the AI model to supply a password, token, key or similar credential, which the model can see and repeat.

First seen · Last seen

Suggested fix: Obtain credentials through server-side configuration or MCP authorization instead of tool arguments.

Severity: MediumStatus: OpenSQ-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.

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

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

8 resolved or dismissed findings
Severity: HighStatus: ResolvedSQ-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.

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

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

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

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

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

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

Status history
  1. ResolvedSquatch
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

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