{
    "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
    "name": "io.github.chrischall/ofw-mcp",
    "description": "OurFamilyWizard co-parenting for Claude \u2014 messages, calendar, expenses, and journal",
    "repository": {
        "url": "https://github.com/chrischall/ofw-mcp",
        "source": "github"
    },
    "version": "2.9.1",
    "packages": [
        {
            "registryType": "npm",
            "identifier": "ofw-mcp",
            "version": "2.9.1",
            "transport": {
                "type": "stdio"
            },
            "environmentVariables": [
                {
                    "description": "Your OurFamilyWizard login email address. Optional \u2014 if omitted, the server falls back to the fetchproxy browser extension (requires being signed in to ourfamilywizard.com).",
                    "format": "string",
                    "name": "OFW_USERNAME"
                },
                {
                    "description": "Your OurFamilyWizard password. Optional \u2014 see OFW_USERNAME.",
                    "format": "string",
                    "isSecret": true,
                    "name": "OFW_PASSWORD"
                },
                {
                    "description": "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\".",
                    "format": "string",
                    "name": "OFW_WRITE_MODE"
                },
                {
                    "description": "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\".",
                    "format": "string",
                    "name": "OFW_CALENDAR_WRITES"
                },
                {
                    "description": "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.",
                    "format": "string",
                    "name": "OFW_ALLOW_MARK_READ"
                },
                {
                    "description": "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.",
                    "format": "string",
                    "name": "OFW_FETCH_UNREAD_BODIES"
                }
            ],
            "registryBaseUrl": "https://registry.npmjs.org"
        }
    ],
    "_meta": {
        "io.modelcontextprotocol.registry/official": {
            "status": "active",
            "statusChangedAt": "2026-07-29T03:02:18.57484Z",
            "publishedAt": "2026-07-29T03:02:18.57484Z",
            "updatedAt": "2026-07-29T03:02:18.57484Z",
            "isLatest": false
        },
        "io.modelcontextprotocol.registry/publisher-provided": {
            "publishedAt": "2026-07-29T03:02:18+00:00",
            "updatedAt": "2026-07-29T03:02:18+00:00"
        }
    }
}