This is a mock MCP server with critically deficient tool definitions. All 5 tools have empty input schemas ({"type":"object"} with no properties), no parameter descriptions, and minimal tool descriptions (10-50 chars). Tool #5 (exfiltrate_secrets) is undeclared in the signed catalogue, a security red flag. The server appears designed to demonstrate policy enforcement and audit logging, not production tool quality. No output schemas documented. No error handling guidance. This is a reference implementation for testing obsign's policy layer, not a usable agent tool.
Permanently deletes a production database
Tool not declared in the signed catalogue
Searches the internal documentation
Posts a message to a channel
Updates a support ticket
All tools have empty input schemas: {"type":"object"} with zero properties defined. No parameters are documented, typed, or constrained. LLMs cannot determine what inputs each tool accepts.
Tool descriptions are 10 - 50 characters and lack context. 'Permanently deletes a production database' does not explain when to use it, what it returns, or prerequisites. No descriptions answer: What does it do? When should the LLM call it? What does it return?
Tool #5 (exfiltrate_secrets) is declared with description 'Tool not declared in the signed catalogue', a security anti-pattern. This tool should not exist in the tool list if it is unsigned/undeclared. This is a policy violation, not a tool definition issue.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | <=2025-11-25 | v2 |
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., ticket_id from ticket_update, message_id from send_message) without knowing the response structure.
Destructive tools (delete_production_db, exfiltrate_secrets) lack confirmation/dry-run patterns. No error handling guidance. Agents cannot safely retry or recover from failures.