Local-first meeting capture and transcription for Claude Code. Records meetings from Chrome, Zoom, and Teams with optional video capture and screen recording.
Meetey provides 15 tools with consistent naming (verb_noun pattern) and reasonable descriptions (avg ~100 chars). However, critical gaps undermine production readiness: parameter descriptions are sparse or missing entirely (e.g., start_recording has 12 params but many lack detail on format/constraints); output schemas are undocumented (no structured response definitions visible); error handling is absent from descriptions; and no tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. The codebase shows risk classification (READ_ONLY, WRITE, DESTRUCTIVE) but this is not exposed in tool definitions. Naming is strong (list_*, get_*, start_*, stop_*, search_*, delete_*, enable_*, disable_*), but parameter design lacks LLM-friendly constraints and dependency hints.
Delete a recording and its associated files
Disable the meeting watcher agent
Enable the meeting watcher agent to automatically detect and offer to record meetings
Get detailed information about a specific recording
List supported meeting apps currently running (Chrome, Zoom, Teams)
List available displays for screen capture
List all recordings in the library with metadata
Output schemas undocumented. No tool returns a documented response structure. LLMs cannot plan downstream calls or extract required fields (e.g., what does get_recording return? Does it include sessionId, duration, transcriptPath?). Agents must guess or fail.
start_recording has 12 parameters but most lack format/constraint descriptions. 'fps' and 'maxFrames' have no min/max bounds; 'sceneThreshold' has no range; 'stopAfter' duration unit is stated but not validated. LLMs will pass invalid values (fps=0, maxFrames=-1) without guidance.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels in metadata (READ_ONLY, WRITE, DESTRUCTIVE). delete_recording is marked DESTRUCTIVE but tool definition does not warn the LLM. Agents cannot distinguish safe from dangerous operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
List capturable windows for a given app, optionally filtered by bundle ID
Search recordings by query string
Start recording a meeting from a specified app with optional video capture and screen recording
Stop the currently active recording and return the output files
Get system status including recording state and library information
Transcribe a recording using Whisper
Get recent watcher activity logs
Get the status of the meeting watcher agent
Error handling absent from tool descriptions. No guidance on retryability, user-fixable errors, or recovery steps. E.g., transcribe_recording may fail if Whisper model is missing, but description does not hint at this or suggest remediation.
Parameter descriptions lack dependency hints. start_recording accepts both displayID and windowID but does not state they are mutually exclusive or which takes precedence. bundleID is required but description does not list valid values (com.google.Chrome, us.zoom.xos, com.microsoft.teams).