Skip to main content
Glama
zallkyre

secrets-mcp

by zallkyre

request_with_secret

Call APIs with {{handle}} replaced server-side by the real secret, keeping keys out of prompts, shell commands, and logs; responses are scrubbed before return.

Instructions

Call an API, substituting {{handle}} with the real secret server-side.

Use this instead of writing the key into a shell command or curl. The key is injected here, outside the conversation, and the response is scrubbed before it comes back.

Args: method: GET, POST, PUT, PATCH, DELETE. url: full URL; {{handle}} is allowed in the path or query. headers: e.g. {"Authorization": "Bearer {{stripe}}"}. body: request body; {{handle}} is substituted.

Input Schema

NameRequiredDescriptionDefault
urlYes
bodyNo
methodYes
headersNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

No annotations, so the description carries the full burden and mostly succeeds: it discloses that substitution happens server-side, the key is injected outside the conversation, and the response is scrubbed before returning. It does not cover failure modes, rate limits, or what happens if a handle is unknown or was never staged.

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

Conciseness5/5

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

Front-loaded with the core mechanism, then the usage rule, then the security guarantee, then args. No sentence is redundant and each adds information the schema does not already contain.

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?

An output schema exists, so return format need not be explained, and the description still notes response scrubbing. The main gap is operational context: it never states that a handle must first be staged (a sibling tool) or what error behavior to expect.

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

Parameters5/5

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

Schema coverage is 0%, so the description must carry all parameter meaning, and it does: method values enumerated, url accepts {{handle}} in path or query, headers shown with a concrete Bearer {{stripe}} example, and body accepts substitution. This fully compensates for the undocumented schema.

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 (call an API) plus the distinguishing mechanism: server-side substitution of {{handle}} for the real secret. This clearly separates it from siblings like list_secrets, stage_secret, revoke_secret, and vault_info, which manage secrets rather than consume them.

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?

"Use this instead of writing the key into a shell command or curl" gives an explicit when-to-use rule with a concrete alternative. It stops short of naming sibling tools or stating when-not to use it (e.g., for non-secreted requests).

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