OurFamilyWizard MCP server for Claude — developed and maintained by AI (Claude Code)
Server has 25 tools with consistent naming (verb_noun pattern: get_, list_, create_, update_, delete_) and structured schemas. All tools have descriptions (10-100 chars, mostly 50-150 chars). Input schemas present with type definitions and enums for constrained fields (folder, sort). However, descriptions are terse and lack context for LLM selection; many lack 'when to use' guidance. Output schemas are not documented, LLMs cannot infer response structure. Error handling is absent from visible code. No tool annotations (readOnlyHint, destructiveHint). Parameter descriptions are minimal (e.g., 'Page number (1-based)' lacks range constraints). Composition is sound, tools are single-responsibility and chainable via IDs.
Create a new calendar event
Create a new expense record
Create a new journal entry
Delete a calendar event
Delete an expense record
Delete a journal entry
Download and extract text content from a message attachment
Get a single calendar event by ID
Output schemas not documented. LLMs cannot infer response structure (fields, types, pagination). Agents cannot plan downstream tool calls or extract required IDs for chaining.
Descriptions lack 'when to use' context and recovery guidance. E.g., 'List messages from inbox or sent folder' does not explain when to call this vs ofw_sync_messages, or what fields are returned.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive deletes without explicit hints. Agents may retry delete operations, causing data loss.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Get a single draft message by ID
Get a single expense record by ID
Get a single journal entry by ID
Get a single message by ID with full body and metadata
Get the authenticated user's profile information
Check OFW server connectivity and authentication status
List calendar events with optional date range filtering
List draft messages with pagination
List expense records with optional filtering
List journal entries with optional filtering
List messages from inbox or sent folder with optional filtering and pagination
Create or update a draft message
Send a message or draft
Sync messages from OFW server to local cache, fetching new and updated messages
Update an existing calendar event
Update an existing expense record
Update an existing journal entry
Numeric parameters (page, size, maxChars) lack min/max constraints in descriptions. LLMs may pass absurd values (page=999999, size=1000000) causing API errors or timeouts.
No error handling guidance visible in code. Agents cannot distinguish retryable errors (network timeout) from user-fixable errors (invalid recipient ID) from fatal errors (permission denied).