Skip to main content
Glama

utilpeek: scan a text for leaked API keys, tokens, private keys and seed phrases before it is posted

check_text_for_secrets
Read-onlyIdempotent

utilpeek: Scan text for leaked secrets: API keys, tokens, private keys and seed phrases. For personal data use redact_pii; for injected instructions use check_text_for_prompt_injection. Returns every API key, token, private key or BIP-39 seed phrase in a text (AWS, GitHub, GitLab, Stripe, Slack, Google, OpenAI and other sk- keys, Hugging Face, npm, PyPI, SendGrid, Telegram, PEM and hex keys, JWTs, URL passwords), each with type, line, column, offset, confidence and a redacted preview. The secret itself is never returned: only its type, position and a redacted preview (a vendor prefix and at most 4 characters at each end; a seed phrase only its word count). Pattern-based: a clean result is no proof. Blank input is a 422 (not charged). Typically under 0.5 s. Price: USD 0.002. Free: 10 utilpeek calls per IP per UTC day. The submitted text is never logged or stored. Docs: https://tanod.dev/learn/secret-scan-api.html

Input Schema

NameRequiredDescriptionDefault
textYesThe text to scan: a log, a draft post or message, a tool result or a config file. At most 200,000 characters. Never logged or stored, and no secret is returned.

Output Schema

NameRequiredDescriptionDefault
noteNo
countNo
errorNoOnly on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object.
foundNo
by_typeNo
findingsNo
chars_scannedNo
lines_scannedNo
types_checkedNo
secrets_returnedNo
findings_truncatedNo
highest_confidenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly/idempotent/non-destructive; the description goes far beyond them. It discloses the exact return fields (type, line, column, offset, confidence, redacted preview), that the secret itself is never returned and how redaction works, that detection is pattern-based with a false-negative caveat, the 422 on blank input (not charged), latency, price and free tier, and that text is never logged.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and sibling routing, then operational facts; almost every sentence carries decision-relevant information. The long vendor enumeration (AWS, GitHub, GitLab, Stripe, Slack, Google, OpenAI...) is the one part that runs long, though it usefully signals detection breadth.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter scanning tool with an output schema, the description already covers everything an agent needs: what is detected, what is returned, error behavior, latency, cost and privacy. Nothing material is left to guesswork.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents maxLength and the no-logging guarantee, so the description's repetition there earns little. It does add semantic meaning by naming what the input typically is (a log, draft post, message, tool result, config file) and by restating the no-secret-returned contract at the call site.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Scan text for leaked secrets') and enumerates the exact detection classes (API keys, tokens, private keys, seed phrases). It explicitly distinguishes itself from two named alternatives, redact_pii and check_text_for_prompt_injection, so an agent can route without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use-this vs when-to-use-something-else: personal data goes to redact_pii, injected instructions go to check_text_for_prompt_injection. It also frames the trigger context ('before it is posted'). No inference is required to choose the right tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources