Access your notes, folders, transcriptions, and usage via AI assistants
OpenWhispr MCP server demonstrates solid tool definition quality with 21 well-structured tools. All tools have descriptions (avg 95 chars, within 10-1024 baseline), explicit input schemas using Zod with type constraints, and proper naming conventions (verb_noun pattern). Tool annotations (readOnlyHint/destructiveHint) are correctly applied. However, output schemas are not documented, responses are JSON-stringified without field-level documentation, forcing LLMs to infer structure. Error handling is minimal; no recovery guidance or actionable error messages visible. Some parameter descriptions lack constraint details (e.g., audio_base64 max size stated in description but not validated in schema). Pagination is well-implemented across list tools with cursor support.
Add words, names, or jargon the user wants transcription to spell exactly. Words already in the dictionary are returned rather than duplicated.
Create a new folder
Create a new note
Create a new snippet
Delete a word from the custom dictionary
Delete a note
Delete a snippet
Output schemas not documented. Tools return JSON-stringified responses without field-level documentation. LLMs cannot infer which fields to extract for downstream tool calls or understand data structure.
Error handling lacks recovery guidance. No visible error messages, categorization (retryable vs fatal), or actionable next steps. LLMs cannot self-correct on failures.
transcribe_audio parameter 'audio_base64' constraint (max 3MB) documented in description but not enforced in schema. Validation happens at runtime; LLMs may pass oversized payloads.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2026-07-28+ | v2 |
Get a single note by ID
Get the transcript for a specific note. Returns structured segments if available, or raw text for older notes.
Get a single transcription by ID, including speaker-attributed segments with timestamps
Get current usage statistics
List the user's custom dictionary: words and names that transcription should spell exactly. Paginate with cursor while has_more is true.
List all folders
List notes with optional folder filtering and cursor pagination
List saved snippets with cursor pagination
List transcription history with cursor pagination. Supports filtering by language or linked note.
Search notes using semantic and full-text search
Transcribe audio with OpenWhispr Cloud
Change the spelling of a dictionary word
Update a note's title, content, or folder
Update a snippet's title or content
list_folders and get_usage have minimal descriptions (70 chars). Descriptions should explain WHEN to call these tools and what structure they reveal.
Destructive operations (delete_note, delete_dictionary_word, delete_snippet) lack confirmation or dry-run support. Agents cannot preview consequences before executing irreversible actions.