Config-driven static credential_issuer plugin for MCPG (dev.mcpg.credential.static). Operators declare per-target credentials in YAML; the plugin returns them per-request keyed on the target string. Pure offline; no outbound network. Useful for dev / lab / partner integrations + as the integration test foundation for the credential_issuer trait surface.
Single tool 'issue' has a well-structured input schema with identity, target, and config parameters, each with type and description. Tool description is comprehensive (180+ chars) and explains authorization enforcement. However, output schema is not documented in the source, the description mentions 'credential value', 'parts', 'TTL', 'issued_at', and 'metadata' but no formal schema definition is visible. Parameter descriptions are present but could be more specific about constraints (e.g., valid trust_level values, target format). No error handling guidance or recovery paths documented.
Issues a credential for a given target. Returns the credential value (for single-value credentials) or parts (for multi-part credentials) along with TTL, issued_at timestamp, and metadata. Enforces identity-based authorization rules (Any, Roles, Groups, or Subjects).
Output schema not documented. Description mentions 'credential value', 'parts', 'TTL', 'issued_at', 'metadata' but no formal JSON Schema definition is visible in source. LLMs cannot plan downstream operations without knowing return structure.
Parameter 'trust_level' lacks enum constraint. Description says 'e.g. verified, header_asserted, anonymous' but does not declare these as the only valid values. LLMs may hallucinate other values.
No error handling guidance. Authorization failures, invalid targets, and malformed identity objects have no documented recovery paths. LLMs cannot self-correct on failure.
Identity parameter structure is complex (nested object with 5 fields). No guidance on which fields are required vs optional, or how missing fields are handled.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | <=2025-11-25 | v2 |
Tool name 'issue' is a generic verb. 'issue_credential' or 'get_credential' would be clearer and follow verb_noun convention. Current name does not immediately convey 'credential issuance'.