ScopeHold stdio MCP server: scoped, audited secret inventory and resolution for AI coding agents.
ScopeHold MCP defines 2 tools with clear, security-focused descriptions. Both tools have proper input schemas with typed parameters and descriptions. However, output schemas are not explicitly documented in the source code, only inferred from test assertions. Parameter descriptions are adequate but lack detail on constraints, formats, and error recovery guidance. The server correctly avoids exposing secrets as parameters (pattern:secret-injection), but lacks error handling guidance for common failure modes (e.g., 'Secret could not be resolved' returns only a generic 403 without recovery hints).
List metadata for secrets this ScopeHold Agent Key can resolve. This never returns secret values, usernames, passwords, or login URLs.
Resolve one directly granted ScopeHold secret through the ScopeHold API. Use only exact provider, name, and environment values returned by list_available_secrets.
Output schemas not documented. Test code infers response structure (agent.id, secrets array with id/kind/provider/name/environment/etc.), but no explicit schema definition visible in source. LLMs cannot plan downstream operations without knowing what fields to expect.
Error handling lacks recovery guidance. resolve_secret returns 403 'Secret could not be resolved' with no hint on why (permission denied? secret deleted? invalid parameters?). LLM cannot self-correct or suggest next steps.
Parameter 'environment' in resolve_secret is marked optional but no description explains when it is required vs optional, or what happens if omitted when the secret has multiple environments.
list_available_secrets accepts empty input {} but description does not explain filtering, pagination, or result limits. Test shows single secret returned; unclear if results are capped or if pagination is needed for large inventories.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Descriptions do not state that both tools are READ_ONLY and safe to retry. Agents need explicit guidance on idempotency and side effects.