An MCP (Model Context Protocol) server that lets AI agents (Claude Desktop, Claude Code, Cursor) control TruePath Recorder on macOS. Bridges MCP tool calls to the app's localhost control API.
TruePath Recorder MCP has 4 tools with basic naming and descriptions, but critical gaps in schema completeness and parameter documentation. Tool names follow verb_noun convention (get_status, list_sources, start_recording, stop_recording), which is good. However, input schemas for get_status, list_sources, and stop_recording are empty objects with no properties defined. The start_recording tool has a schema with 6 parameters, but 4 of them lack descriptions in the schema itself (only present in the rubric summary, not in the actual code). Output schemas are completely undocumented, LLMs cannot predict what fields to expect from responses. Error handling is minimal: generic 'No response' and 'Unknown tool' messages provide no recovery guidance. The code shows synchronous HTTP calls to a localhost control API, but the tool definitions do not document this dependency or what happens if the app is unreachable.
Check whether TruePath Recorder is currently recording (idle / starting / recording / paused) and the elapsed time.
List capturable displays and windows (with ids) so you can pick one for window/area recording.
Start a screen recording in TruePath Recorder. All settings are optional and fall back to the app's current values. The recording stays on the user's Mac.
Stop the current recording and save the file. Returns the saved file path.
Empty input schemas for 3 of 4 tools (get_status, list_sources, stop_recording). LLMs cannot validate inputs or understand parameter constraints.
start_recording schema defines 6 parameters but only 2 have descriptions in the JSON schema object itself (mode, mic). The other 4 (system_audio, codec, display_id, window_id) lack descriptions in the actual schema, descriptions exist only in the rubric summary, not in the code.
No output schemas documented. Tool descriptions do not specify what fields responses contain (e.g., list_sources returns 'displays' and 'windows' arrays, but this is inferred from code, not documented). LLMs cannot plan downstream tool calls or extract data reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Error handling is generic and non-actionable. 'Can't reach TruePath Recorder. Open the app and turn on Settings → AI Agent Control' is user-facing text, not LLM-actionable recovery guidance. 'No response from TruePath Recorder' gives no retry classification or next steps.
start_recording has undocumented parameter dependencies. 'display_id' is only valid when mode=display; 'window_id' only when mode=window. These constraints are not stated in parameter descriptions.