Automated API discovery and submission for einfach-machen.gov.de using Playwright-MCP, Bun, and TypeScript
This server has critical definition gaps. Tool names lack action verbs (discoverApi, submitFeedback use camelCase but are not verb_noun patterns). Three of four tools have empty input schemas (discoverApi, batchSubmit, importDocs show {} or missing schema details). Descriptions exist but are verbose (100-200+ chars) and lack clarity on WHEN to use each tool or what they return. No parameter descriptions for the one tool with params (submitFeedback). No output schemas documented. No error handling guidance. Tool definitions appear inferred from TypeScript function signatures rather than explicit MCP registration.
Batch submits feedback proposals from data/feedbacks.json.
Performs automated deep inspection of TYPO3 FormFramework structures in offscreen minimized browser context.
Decoupled & security-sanitized documentation importer: Pulls strictly relevant, public-safe research markdown files from perplexity-agent exports into local docs/perplexity.
Executes feedback submission for einfach-machen.gov.de targeting the exact form submit button.
Three of four tools have empty or missing input schemas (discoverApi, batchSubmit, importDocs show {}).
Tool names do not follow verb_noun convention. 'discoverApi' and 'submitFeedback' use camelCase but lack clear action verbs at the start. Should be 'discover_api', 'submit_feedback', 'batch_submit_feedback', 'import_docs'.
submitFeedback has a complex payload parameter but no descriptions for nested fields (perspective, topic, title, description, authority). LLMs cannot infer what each field controls.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required data. discoverApi returns DiscoveryResult, submitFeedback returns SubmissionResult, but these are not exposed in tool definitions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 20 | 2026-07-28+ | v2 |
No error handling guidance. Tools fail silently or return generic errors. No recovery hints (e.g., 'If form not found, try discoverApi first'). No categorization of retryable vs fatal errors.