MCP server that sits between agents and real systems. Evaluates every tool call before execution. Holds risky ones for human review.
This governance proxy exposes 5 tools with significant definition gaps. Tool schemas are present but parameter descriptions are minimal or absent. slack_send_message and github_create_issue have basic descriptions but lack detail on when to use them vs alternatives. demo_send_message and demo_refund are demo tools with trivial descriptions. No tool documents output schemas, error recovery paths, or idempotency guarantees. The proxy's core value (governance/approval workflow) is not reflected in tool definitions, agents cannot infer that some calls will be held for review. Parameter descriptions are sparse: 'Channel ID or name' is vague (what format?), 'Issue body (markdown)' lacks length/content constraints. No tool declares permissions, audit requirements, or risk levels in the schema itself.
(demo) Pretend to issue a refund.
(demo) Pretend to send a message.
Close an existing GitHub issue.
Create a new issue on a GitHub repository.
Send a message to a Slack channel.
Parameter descriptions are minimal or missing. 'Channel ID or name' does not specify format (Slack channel ID vs #name vs email). 'Issue body (markdown)' lacks length constraints or content guidance. LLMs cannot infer valid input ranges.
No output schemas documented. Agents cannot plan downstream calls or extract required fields (e.g., does slack_send_message return message_id? timestamp?). This breaks tool chaining.
No error handling guidance. Tools do not document what errors are retryable, what user input is needed, or how to recover. E.g., if slack_send_message fails with 'channel not found', should the agent search for the channel or ask the user?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
Demo tools have trivial descriptions ('(demo) Pretend to...'). These do not explain when to use them, what they simulate, or how they differ from real tools. Agents cannot distinguish demo from production.
No tool declares its risk level, permissions required, or governance status in the schema. The proxy's core feature (holding risky calls for review) is invisible to agents. Tools should annotate destructiveHint or idempotentHint.