Dual-mode MCP server for SeaMeet — let AI agents (Claude Code, Codex, Cursor) drive the desktop recorder when it's running, else read your synced cloud library and manage webhooks. Cloud mode authorizes by logging into the web app — no key copy/paste.
Critical gaps across all dimensions. Tool definitions are inferred from brief descriptions in comments; no explicit schema registration visible in provided source. Descriptions are minimal (10-20 chars), far below the 50-200 char baseline for LLM-optimized tools. No input parameter schemas, types, or constraints documented. No output schemas. Error handling and recovery guidance absent. Tools like 'manage_webhooks' combine multiple operations (create/update/list/delete) violating single-responsibility principle. Desktop-bridge credentials discovery is well-implemented, but tool definitions themselves lack production rigor.
Retrieve a specific recording from the cloud library
Retrieve the transcript of the current or last recording
List recordings from the synced cloud library
Create, update, list, and delete webhooks for recording events
Search through recorded meetings and transcripts
Start a new recording session on the desktop app
Stop the current recording session on the desktop app
Capture a screenshot from the desktop app
No input schemas visible. All 8 tools lack documented parameter types, constraints, and descriptions. Cannot verify LLM can construct valid calls.
Descriptions are 10-20 characters (e.g. 'Start a new recording session on the desktop app'). Baseline is 50-200 chars. Too brief to guide LLM tool selection or explain when to use vs alternatives.
manage_webhooks combines create, update, list, and delete operations in one tool. Violates single-responsibility principle. Should split into create_webhook, update_webhook, list_webhooks, delete_webhook.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 30 | 2026-07-28+ | v2 |
No output schemas documented. LLM cannot plan downstream tool calls or extract required fields (e.g. recording_id from start_recording for use in get_transcript).
No error handling or recovery guidance. Tools that fail (e.g. desktop app not running, auth required) return unstructured errors. LLM cannot determine if error is retryable, user-fixable, or fatal.