Skip to main content
Glama
mcp-secret-sentinel

mcp-secret-sentinel

redact_text

Read-onlyIdempotent

Replace detected secrets in text with [REDACTED:] before sharing logs, configs, diffs, or command output to prevent credential leaks.

Instructions

Return the text with every detected secret replaced by [REDACTED:].

Use it before quoting logs, stack traces, configs, command output or diffs that may contain credentials, in the conversation, an issue, a commit message or a document. Everything that is not a secret is kept exactly as it was.

Args: text: The text to clean.

Returns: {"text": the redacted text, "redactions": how many secrets were replaced, "by_pattern": {detector name: count}}

Input Schema

NameRequiredDescriptionDefault
textYes

Output Schema

NameRequiredDescriptionDefault
textYes
by_patternYes
redactionsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent and non-destructive, so the description focuses on what it adds: everything non-secret is preserved verbatim, and the result includes a redaction count plus a per-detector breakdown. That is meaningful context beyond the structured fields, though nothing is said about failure modes or text size limits.

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

Conciseness3/5

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

The opening two sentences are well front-loaded and earn their place. The trailing Args and Returns blocks largely duplicate the input schema and the existing output schema, which is wasted text for an agent that already receives both.

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

Completeness4/5

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

For a one-parameter pure transformation with full annotations and an output schema, the description covers purpose, usage and preservation semantics. The redundant Returns block is the only real flaw; nothing an agent needs to invoke it correctly is missing.

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

Parameters3/5

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

There is a single parameter with 0% schema description coverage, so the description carries the whole burden. 'text: The text to clean' restates the parameter name and adds only that cleaning means secret substitution, which is already implied by the summary. Adequate but thin.

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

Purpose4/5

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

The description states a precise verb and resource — return the text with every detected secret replaced by [REDACTED:<detector>] — and names the exact output format. It implicitly separates itself from the scan_* siblings (detection only) by producing a cleaned copy, though it never names an alternative tool explicitly.

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

Usage Guidelines4/5

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

It gives concrete call-site guidance: use it before quoting logs, stack traces, configs, command output or diffs in a conversation, issue, commit message or document. That is clear context for when to reach for it, but there are no exclusions and no pointer to the scan_* tools for the detect-only case.

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