1. Conduid
  2. Healthcare
  3. io.github.chrischall/ofw-mcp
MCP server · Healthcare

io.github.chrischall/ofw-mcp

OurFamilyWizard co-parenting for Claude — messages, calendar, expenses, and journal

Unclaimed healthcare
37Low

Scored 5 months ago · breakdown

About io.github.chrischall/ofw-mcp

io.github.chrischall/ofw-mcp is an MCP server in the Healthcare category: ourFamilyWizard co-parenting for Claude — messages, calendar, expenses, and journal.

Install

Claude Code
claude mcp add io-github-chrischall-ofw-mcp -- npx -y ofw-mcp
npx
npx -y ofw-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (24)

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

Parameters not published.

ofw_create_eventCreate a calendar event

Parameters not published.

ofw_create_expenseLog a new expense

Parameters not published.

ofw_create_journal_entryCreate a journal entry

Parameters not published.

ofw_delete_draftDelete a draft

Parameters not published.

ofw_delete_eventDelete a calendar event

Parameters not published.

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

Parameters not published.

ofw_get_expense_totalsExpense summary totals

Parameters not published.

ofw_get_messageFull content of a single message

Parameters not published.

ofw_get_notificationsDashboard counts (unread messages, upcoming events, outstanding expenses)

Parameters not published.

Show all 24 tools
ofw_get_profileYour profile and co-parent info

Parameters not published.

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

Parameters not published.

ofw_list_draftsDraft messages

Parameters not published.

ofw_list_eventsCalendar events in a date range

Parameters not published.

ofw_list_expensesExpense history

Parameters not published.

ofw_list_journal_entriesJournal entries

Parameters not published.

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

Parameters not published.

ofw_list_messagesMessages in a folder

Parameters not published.

ofw_save_draftCreate or update a draft

Parameters not published.

ofw_send_messageSend a message

Parameters not published.

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

Parameters not published.

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

Parameters not published.

ofw_update_eventUpdate a calendar event

Parameters not published.

ofw_upload_attachmentUpload a local file to My Files; returns a fileId to attach via `ofw_send_message`/`ofw_save_draft`

Parameters not published.

Ask AI

✦

Ask AI about io.github.chrischall/ofw-mcp

Powered by Claude · Grounded in docs

I know everything about io.github.chrischall/ofw-mcp. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

OurFamilyWizard MCP

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

Installation

1. Clone and build

git clone https://github.com/chrischall/ofw-mcp.git
cd ofw-mcp
npm install
npm run build

2. Add to Claude Desktop

Edit your Claude Desktop config file:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the ofw entry inside "mcpServers" (create the key if it doesn't exist):

{
  "mcpServers": {
    "ofw": {
      "command": "node",
      "args": ["/absolute/path/to/ofw-mcp/dist/index.js"],
      "env": {
        "OFW_USERNAME": "your-email@example.com",
        "OFW_PASSWORD": "your-ofw-password"
      }
    }
  }
}

Replace /absolute/path/to/ofw-mcp with the actual path where you cloned the repo. On Mac, run pwd inside the cloned directory to get it.

3. Restart Claude Desktop

Quit completely (Cmd+Q on Mac, not just close the window) and relaunch.

4. Verify

Ask Claude: "What does my OFW dashboard look like?" — it should show your unread message count, upcoming events, and outstanding expenses.

Credentials

Credentials are read from environment variables, with two ways to provide them:

Option A — env block in Claude Desktop config (shown above, recommended):

"env": {
  "OFW_USERNAME": "your-email@example.com",
  "OFW_PASSWORD": "your-ofw-password"
}

Option B — .env file in the project directory:

cp .env.example .env
# edit .env and fill in your credentials

Environment variables always take priority over the .env file. You can also pass them directly on the command line:

OFW_USERNAME=you@example.com OFW_PASSWORD=yourpass node dist/index.js

Available tools

Read-only tools run automatically. Write tools ask for your confirmation first.

Tool What it does Permission
ofw_get_profile Your profile and co-parent info Auto
ofw_get_notifications Dashboard counts (unread messages, upcoming events, outstanding expenses) Auto
ofw_list_message_folders Folders with unread counts — get folder IDs here before listing messages Auto
ofw_list_messages Messages in a folder Auto
ofw_get_message Full content of a single message Auto
ofw_send_message Send a message Confirm
ofw_list_drafts Draft messages Auto
ofw_save_draft Create or update a draft Confirm
ofw_delete_draft Delete a draft Confirm
ofw_list_events Calendar events in a date range Auto
ofw_create_event Create a calendar event Confirm
ofw_update_event Update a calendar event Confirm
ofw_delete_event Delete a calendar event Confirm
ofw_get_expense_totals Expense summary totals Auto
ofw_list_expenses Expense history Auto
ofw_create_expense Log a new expense Confirm
ofw_list_journal_entries Journal entries Auto
ofw_create_journal_entry Create a journal entry Confirm

Troubleshooting

"0 messages" — Claude may have read the notification counts rather than the actual messages. Ask explicitly: "List the messages in my OFW inbox" or "Use ofw_list_message_folders then ofw_list_messages".

"OFW_USERNAME and OFW_PASSWORD must be set" — credentials are missing. Check the env block in your Claude Desktop config or your .env file.

403 Forbidden — wrong credentials. Verify your username/password at ofw.ourfamilywizard.com.

Tools not appearing in Claude — go to Claude Desktop → Settings → Developer to see connected servers and any error output. Make sure you fully quit and relaunched after editing the config.

Can't find the config file on Mac — in Finder press Cmd+Shift+G and paste ~/Library/Application Support/Claude/.

Security

  • Credentials live only in your local config file or .env
  • They are passed to the server as environment variables and never logged
  • The server authenticates with OFW using the same login flow as the web app
  • Use a strong, unique OFW password

Development

npm test        # run the test suite
npm run build   # compile TypeScript → dist/

Project structure

src/
  client.ts       OFW auth and HTTP client
  index.ts        MCP server entry point
  tools/
    user.ts       ofw_get_profile, ofw_get_notifications
    messages.ts   folders, list, get, send
    calendar.ts   list, create, update, delete events
    expenses.ts   totals, list, create
    journal.ts    list, create entries
tests/
  client.test.ts
  tools/

Auth flow

OFW uses Spring Security form login:

  1. GET /ofw/login.form — establishes a session cookie
  2. POST /ofw/login — submits credentials, returns { auth: "<token>" }
  3. All API calls use Authorization: Bearer <token>
  4. On 401, re-authenticates automatically and retries once

Tokens are cached for 6 hours.

License

MIT

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About io.github.chrischall/ofw-mcp

How do I install io.github.chrischall/ofw-mcp?

Run claude mcp add io-github-chrischall-ofw-mcp -- npx -y ofw-mcp, then add the server to your MCP client's configuration.

Is io.github.chrischall/ofw-mcp safe to use with an AI agent?

Its trust score is 37 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is io.github.chrischall/ofw-mcp still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.