# ofw-mcp

Connects an OurFamilyWizard account to Claude to view co-parenting chats, track shared expenses, inspect schedules, and log journal notes.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 14
- Author: chrischall
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/chrischall/ofw-mcp
- Updated: 2026-10-20
- HTML: https://affpapa.org/en/nevibecode/mcp/ofw-mcp

## What it does

This server connects your AI client to OurFamilyWizard using the Model Context Protocol. You can inspect co-parenting correspondence, check activities on the children's calendar, tally pending family expenses, and draft journal notes about daily pickups. It relies on the built-in `node:sqlite` module to handle local caching.

Running the tool requires Node.js 22.5 or higher and an active OurFamilyWizard subscription. Authentication accepts credentials via `OFW_USERNAME` and `OFW_PASSWORD`, or reads an active browser session from Chrome through the ContextMint Bridge extension.

Entries in OurFamilyWizard carry legal weight in custody proceedings. Never let the agent send messages, log expenses, or write events without reviewing every line yourself. The codebase was generated by Claude Sonnet 4.6 and lacks human security auditing.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `OFW_USERNAME`, `OFW_PASSWORD`, `OFW_WRITE_MODE`, `OFW_CALENDAR_WRITES`, `OFW_ALLOW_MARK_READ`, `OFW_FETCH_UNREAD_BODIES`, `OFW_SESSION_CACHE`, `OFW_SESSION_FILE`, `OFW_EXPENSE_ONLY`, `OFW_EXPENSE_UPLOAD_ONLY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env OFW_USERNAME=<OFW_USERNAME> --env OFW_PASSWORD=<OFW_PASSWORD> --env OFW_WRITE_MODE=<OFW_WRITE_MODE> --env OFW_CALENDAR_WRITES=<OFW_CALENDAR_WRITES> --env OFW_ALLOW_MARK_READ=<OFW_ALLOW_MARK_READ> --transport stdio ofw-mcp -- npx -y ofw-mcp
```
Replace <…> with your own values. 20 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add ofw-mcp --env OFW_USERNAME=<OFW_USERNAME> --env OFW_PASSWORD=<OFW_PASSWORD> --env OFW_WRITE_MODE=<OFW_WRITE_MODE> --env OFW_CALENDAR_WRITES=<OFW_CALENDAR_WRITES> --env OFW_ALLOW_MARK_READ=<OFW_ALLOW_MARK_READ> -- npx -y ofw-mcp
```
Replace <…> with your own values. 20 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "ofw-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "ofw-mcp"
            ],
            "env": {
                "OFW_USERNAME": "<OFW_USERNAME>",
                "OFW_PASSWORD": "<OFW_PASSWORD>",
                "OFW_WRITE_MODE": "<OFW_WRITE_MODE>",
                "OFW_CALENDAR_WRITES": "<OFW_CALENDAR_WRITES>",
                "OFW_ALLOW_MARK_READ": "<OFW_ALLOW_MARK_READ>"
            }
        }
    }
}
```
Replace <…> with your own values. 20 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "ofw-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "ofw-mcp"
            ],
            "env": {
                "OFW_USERNAME": "<OFW_USERNAME>",
                "OFW_PASSWORD": "<OFW_PASSWORD>",
                "OFW_WRITE_MODE": "<OFW_WRITE_MODE>",
                "OFW_CALENDAR_WRITES": "<OFW_CALENDAR_WRITES>",
                "OFW_ALLOW_MARK_READ": "<OFW_ALLOW_MARK_READ>"
            }
        }
    }
}
```
Replace <…> with your own values. 20 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e OFW_USERNAME=<OFW_USERNAME> -e OFW_PASSWORD=<OFW_PASSWORD> -e OFW_WRITE_MODE=<OFW_WRITE_MODE> -e OFW_CALENDAR_WRITES=<OFW_CALENDAR_WRITES> -e OFW_ALLOW_MARK_READ=<OFW_ALLOW_MARK_READ> ofw-mcp npx -y ofw-mcp
```
Replace <…> with your own values. 20 more environment variables are in the server README

## When to use it
- check upcoming activities on the co-parenting calendar
- review unread messages from a co-parent
- calculate pending shares for logged family expenses
- draft a reply to the latest custody message
- record a parenting handoff entry in the journal

## Example prompts
- Check my latest OurFamilyWizard messages and summarize them.
- What events are on the kids' schedule for next week?
- List recent expenses in OFW and calculate the balance I owe.

## Similar
- [Reactive Resume](https://affpapa.org/en/nevibecode/mcp/reactive-resume.md) — MCP server · ★ 44908
- [screenpipe](https://affpapa.org/en/nevibecode/mcp/screenpipe.md) — MCP server · ★ 22082
- [Inbox Zero](https://affpapa.org/en/nevibecode/mcp/inbox-zero.md) — MCP server · ★ 12826
- [kaneo](https://affpapa.org/en/nevibecode/mcp/kaneo.md) — MCP server · ★ 9623
- [Mindwtr](https://affpapa.org/en/nevibecode/mcp/mindwtr.md) — MCP server · ★ 2330
- [Azure DevOps (ADO)](https://affpapa.org/en/nevibecode/mcp/azure-devops-ado.md) — MCP server · ★ 2071

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
