chrischall avatar

Ofw Mcp

chrischall/ofw-mcp

Connects Claude to OurFamilyWizard's co-parenting platform with read/write access to messages, calendar events, expenses, and journal entries. You can query recent messages, check upcoming events, log expenses, or draft replies in natural language. Authentication works via credentials or the fetchproxy extension to pull tokens from your browser session. The entire codebase was built and maintained by Claude Sonnet 4.6 without human code review, so audit before use. Worth noting that OFW is a court-of-record platform where everything you write through this server carries the same legal weight as typing it yourself. Useful if you're already managing co-parenting workflows in OFW and want conversational access without clicking through the web interface.

GitHub stars
15
tools
29
auth
Secret needed
transport
STDIO
env vars
24
last updated
Nov 12, 2026

Tools

29 tools

Public tool metadata for what this MCP can expose to an agent.

ofw_get_profileYour profile and co-parent info

Your profile and co-parent info

No parameter schema in public metadata yet.

ofw_get_notificationsDashboard counts (unread messages, upcoming events, outstanding expenses). Updates your co-parent-visible last-seen status, so it is not marked read-only

Dashboard counts (unread messages, upcoming events, outstanding expenses). Updates your co-parent-visible last-seen status, so it is not marked read-only

No parameter schema in public metadata yet.

ofw_list_message_foldersFolders with unread counts — get folder IDs here before listing messages

Folders with unread counts — get folder IDs here before listing messages

No parameter schema in public metadata yet.

ofw_list_messagesMessages in a folder

Messages in a folder

No parameter schema in public metadata yet.

ofw_get_messageFull content of a single message

Full content of a single message

No parameter schema in public metadata yet.

ofw_sync_messagesSync messages into the local cache (unread bodies left unfetched to avoid read receipts)

Sync messages into the local cache (unread bodies left unfetched to avoid read receipts)

No parameter schema in public metadata yet.

ofw_get_unread_sentSent messages a recipient hasn't read yet (from local cache)

Sent messages a recipient hasn't read yet (from local cache)

No parameter schema in public metadata yet.

ofw_check_freshnessCheap live check that the cache still matches OFW — per id, whether it is still a draft or was sent/deleted, without a full sync

Cheap live check that the cache still matches OFW — per id, whether it is still a draft or was sent/deleted, without a full sync

No parameter schema in public metadata yet.

ofw_statusOne live call for "where does everything stand?" — the full verified draft inventory, and the current state of any ids or draft keys

One live call for "where does everything stand?" — the full verified draft inventory, and the current state of any ids or draft keys

No parameter schema in public metadata yet.

ofw_download_attachmentDownload a message attachment to disk, or inline as extracted content / bytes

Download a message attachment to disk, or inline as extracted content / bytes

No parameter schema in public metadata yet.

ofw_send_messageSend a message

Send a message

No parameter schema in public metadata yet.

ofw_list_draftsDraft messages

Draft messages

No parameter schema in public metadata yet.

ofw_save_draftCreate or update a draft

Create or update a draft

No parameter schema in public metadata yet.

ofw_delete_draftDelete a draft

Delete a draft

No parameter schema in public metadata yet.

ofw_upload_attachmentUpload a local file from the upload directory to My Files; returns a fileId to attach via ofw_send_message/ofw_save_draft

Upload a local file from the upload directory to My Files; returns a fileId to attach via ofw_send_message/ofw_save_draft

No parameter schema in public metadata yet.

ofw_list_eventsCalendar events and custody handoffs in a date range

Calendar events and custody handoffs in a date range

No parameter schema in public metadata yet.

ofw_save_calendar_icsSave a date range as an .ics file — custody schedule included

Save a date range as an .ics file — custody schedule included

No parameter schema in public metadata yet.

ofw_create_eventCreate a calendar event

Create a calendar event

No parameter schema in public metadata yet.

ofw_update_eventUpdate a calendar event

Update a calendar event

No parameter schema in public metadata yet.

ofw_delete_eventDelete a calendar event

Delete a calendar event

No parameter schema in public metadata yet.

ofw_get_expense_totalsExpense summary totals

Expense summary totals

No parameter schema in public metadata yet.

ofw_list_expensesExpense history

Expense history

No parameter schema in public metadata yet.

ofw_list_expense_categoriesExpense category ids and split metadata

Expense category ids and split metadata

No parameter schema in public metadata yet.

ofw_upload_expense_pdfUpload a receipt PDF to My Files for an expense

Upload a receipt PDF to My Files for an expense

No parameter schema in public metadata yet.

ofw_create_expenseLog a new expense; supports private entries and one receipt PDF

Log a new expense; supports private entries and one receipt PDF

No parameter schema in public metadata yet.

ofw_mark_expense_reimbursedIrreversibly record full remaining external reimbursement; no transfer or partial payment

Irreversibly record full remaining external reimbursement; no transfer or partial payment

No parameter schema in public metadata yet.

ofw_update_expenseChange an expense, e.g. publish a private one. Pass only the fields to change

Change an expense, e.g. publish a private one. Pass only the fields to change

No parameter schema in public metadata yet.

ofw_list_journal_entriesJournal entries

Journal entries

No parameter schema in public metadata yet.

ofw_create_journal_entryCreate a journal entry

Create a journal entry

No parameter schema in public metadata yet.

Sponsors

Configuration

OFW_USERNAME

Your OurFamilyWizard login email address. Optional — if omitted, the server falls back to the fetchproxy browser extension (requires being signed in to ourfamilywizard.com).

OFW_PASSWORDsecret

Your OurFamilyWizard password. Optional — see OFW_USERNAME.

OFW_WRITE_MODE

Write-tool gate: "none" registers no write tools; "drafts" registers draft-level writes only (save/delete drafts, upload attachments); "all" registers everything (default). Unrecognized values fail closed to "none".

OFW_CALENDAR_WRITES

Set to "true" to register calendar write tools (create/update/delete event) in "drafts" write mode. Events have no draft stage but are reversible. Never overrides "none".

OFW_ALLOW_MARK_READ

Default "true". Set "false" to forbid any tool from marking a message read on OurFamilyWizard - reading a body for the first time stamps a co-parent-visible "First Viewed" time that cannot be undone. A ceiling: no per-call argument can raise it.

OFW_CONFIRM_MARK_READ

Default "false". Set "true" to show an unread message's subject, sender and sent time and ask for confirmation before opening it marks it read. Sync fetchUnreadBodies asks too; allowMarkRead probes are disabled.

OFW_FETCH_UNREAD_BODIES

Default "false". Whether ofw_sync_messages fetches unread inbox bodies by default (each fetch stamps a First Viewed time). Capped by OFW_ALLOW_MARK_READ.

OFW_READ_DAYS

Allow list of days message content may be read, e.g. "mon,thu" (weekdays, YYYY-MM-DD, or YYYY-MM-DD..YYYY-MM-DD, in DISPLAY_TZ). Other days: unread inbox messages show subject only and are never marked read; sent and read messages stay readable. Unset = every day.

OFW_NO_READ_DAYS

Deny list of days unread inbox messages may NOT be opened (same format as OFW_READ_DAYS; wins over it). Unset = none.

OFW_SESSION_CACHE

Set to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled.

OFW_SESSION_FILE

Absolute path for the session cache file. Defaults to $MCP_DATA_DIR/.ofw-mcp/session.json.

OFW_EXPENSE_ONLY

Set true to register only healthcheck plus expense tools. All profile/dashboard, message, calendar, and journal tools are structurally absent.

OFW_EXPENSE_UPLOAD_ONLY

Set true for strict reimbursement upload mode: only healthcheck, ofw_upload_expense_pdf, ofw_create_expense, and ofw_update_expense register. Excludes ofw_mark_expense_reimbursed. Implies OFW_EXPENSE_ONLY.

OFW_INLINE_ATTACHMENTS

Set "true" to return attachments as MCP content blocks by default (images render directly; other files come back as embedded resources) instead of writing to disk. Callers can still override per call via the tool's `inline` argument.

OFW_ATTACHMENTS_DIR

Where ofw_download_attachment writes (default ~/Downloads/ofw-mcp). Every disk write is confined to it: a saveTo outside it (after resolving symlinks) is refused, and an existing file is replaced only with force:true.

OFW_UPLOAD_DIR

The only directory ofw_upload_attachment may read from (default: OFW_ATTACHMENTS_DIR). Paths outside it after resolving symlinks, hidden files/dirs, and files over 25 MiB are refused.

OFW_CACHE_IDENTITY

Explicit cache-key label; overrides OFW_USERNAME for fetchproxy-only multi-account setups. If you have multiple OFW accounts and want them to use separate caches, set it to a label per profile.

OFW_CACHE_DIR

Overrides the message cache directory (default ~/.cache/ofw-mcp).

OFW_DISABLE_FETCHPROXY

Skip the fetchproxy fallback, so missing credentials become a hard error (useful in headless CI).

OFW_AUTO_REFRESH

When a cached read comes back EMPTY from a non-fresh cache, the read tools sync the backing folders and answer from the refreshed cache instead of refusing with UNVERIFIED_EMPTY (default off, i.e. refuse). Per-call autoRefresh overrides it. A refresh that does not make the read v

OFW_FRESHNESS_TTL_SECONDS

How long a verified-against-OFW folder stays labelled `fresh` in read tools' `freshness` block (default 300). Unusable values fall back to the default — a typo must never widen the window in which stale data reads as current.

OFW_SYNC_MAX_REQUESTS

Per-call OFW-request budget for ofw_sync_messages: a positive integer caps how many OFW requests one sync call may make before pausing; the next call resumes where it left off. Unset means unbounded (local installs walk fully in one call).

OFW_REQUEST_TIMEOUT_MS

Per-request timeout for OFW API calls, in milliseconds (default 30000). Each retry gets its own fresh window.

OFW_DEBUG_LOG

Log every OFW request/response to stderr (Authorization redacted). Diagnostic only.

Readme

OurFamilyWizard MCP

CI npm license

A Model Context Protocol server that connects Claude to OurFamilyWizard, giving you natural-language access to your co-parenting messages, calendar, expenses, and journal.

[!WARNING] AI-developed project. This codebase was entirely built and is actively maintained by Claude Sonnet 4.6. No human has audited the implementation. Review all code and tool permissions before use.

What you can do

Ask Claude things like:

  • "Show me my recent OFW messages"
  • "What's on the kids' calendar next week?"
  • "List recent expenses and tell me what I owe"
  • "Add a journal entry about today's pickup"
  • "Draft a reply to the last message from my co-parent"

Requirements


View the full README on GitHub

Details

Repository
github.com/chrischall/ofw-mcp
Category
Productivity & Office
Package
ofw-mcp
Transport
STDIO
Auth
Required
Registry
MCP registry, active

More from chrischall

Related Productivity & Office MCP servers

View all
1jhostinaleck avatarBrightspacejhostinaleck/brightspace-mcpD2L Brightspace MCP server: courses, grades, rubrics, feedback, course files, calendar. Multi-auth.15stars
2drolosoft avatargo-docs-mcpdrolosoft/go-docs-mcpLets your AI read PDF, Office files, EPUB, HTML, Jupyter and images, with OCR, search and paging.12stars
3jackdark425 avatarAigroup Mdtoword Mcpjackdark425/aigroup-mdtoword-mcp本地 Markdown 到 Word 文档转换工具,支持最新 MCP 协议特性、完整的页眉页脚页码功能、增强的表格功能、数据导入和数学公式支持,修复本地相对路径图片嵌入问题12stars
4high5-ventures avatarApple Remindershigh5-ventures/apple-reminders-for-claudeFast, native macOS Apple Reminders via EventKit. 10-200x faster than AppleScript alternatives.0stars
5paulbreuler avatarLimpspaulbreuler/limpsMCP planning server for AI agents — plan management, full-text search, and task lifecycle10stars
6temporal-cortex avatarTemporal Cortex Calendar MCPtemporal-cortex/mcp18 deterministic calendar tools: contact resolution, temporal context, availability, booking0stars