Skip to main content
Glama
chrischall

OurFamilyWizard MCP

by chrischall

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OFW_PASSWORDNoYour OurFamilyWizard password. Required unless using fetchproxy extension.
OFW_USERNAMENoYour OurFamilyWizard username/email. Required unless using fetchproxy extension.
OFW_WRITE_MODENoWrite protection level: 'none' (read-only), 'drafts' (draft-only writes), or 'all' (all writes). Unrecognized values default to 'none'.all
OFW_CACHE_IDENTITYNoOptional label to distinguish cache for multiple accounts when using fetchproxy.
OFW_DISABLE_FETCHPROXYNoSet to '1' to disable the fetchproxy fallback auth method.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
ofw_get_profileA

Get current user and co-parent profile information from OurFamilyWizard

ofw_get_notificationsA

Get OurFamilyWizard dashboard summary: unread message count, upcoming events, outstanding expenses. Note: updates your last-seen status.

ofw_list_message_foldersA

List OurFamilyWizard message folders (inbox, sent, etc.) and their unread counts. Returns folder IDs needed to call ofw_list_messages. Does NOT return message content.

ofw_list_messagesA

List messages from the local OurFamilyWizard cache. Supports filtering by folder, date range, and a substring query on subject+body. Pagination is offset-based but if you know what you want (a date range, a topic), prefer the filters over walking pages — the cache may have 1000+ messages. Call ofw_sync_messages first if the cache is empty or stale.

ofw_get_messageA

Get a single OurFamilyWizard message OR draft by ID. Reads from local cache when available; otherwise fetches from OFW (which will mark unread inbox messages as read on OFW). For ids that match a draft (in the drafts cache), the response carries folder="drafts" and the body/subject/recipients reflect the drafts cache (which ofw_sync_messages keeps fresh) — drafts have no fromUser, and sentAt/fetchedBodyAt mirror the draft's modifiedAt. For inbox/sent messages, folder is "inbox" or "sent" as before.

ofw_send_messageA

Send a message via OurFamilyWizard. To send an existing draft, pass messageId — subject/body/recipientIds become optional overrides (missing fields default to the draft's cached values) and the draft is deleted after sending. To send a fresh message, supply subject/body/recipientIds directly. draftId is the legacy spelling of messageId and works the same way. If replyToId is provided, the cache may rewrite it to the latest reply in the same thread (a note is included in the response when this happens). Attach files by passing their fileIds (from ofw_upload_attachment) in myFileIDs. After sending, the tool re-fetches the message from OFW to populate the local cache and link attachments to the new message id.

ofw_list_draftsA

List draft messages from the local OurFamilyWizard cache. Call ofw_sync_messages first if the cache is empty.

ofw_save_draftA

Save a message as a draft in OurFamilyWizard. Recipients are optional. Pass messageId to replace an existing draft — note that under the hood this creates a NEW draft and deletes the old one (OFW's update-in-place endpoint silently no-ops while echoing the posted body, so we don't use it); the response.id will be the NEW id, not the messageId you passed, and the change is documented in a transparency NOTE in the response. If replyToId is provided, the cache may rewrite it to the latest reply in the thread (note included in response). Attach files by passing their fileIds (from ofw_upload_attachment) in myFileIDs. After saving, the tool re-fetches the draft from OFW to populate the local cache from authoritative server state.

ofw_delete_draftA

Delete a draft message from OurFamilyWizard. Also removes the draft from the local cache.

ofw_get_unread_sentA

List sent messages that have not been read by one or more recipients. Reads from local cache; call ofw_sync_messages first if cache is stale.

ofw_upload_attachmentA

Upload a local file to OurFamilyWizard's "My Files" so it can be attached to a message. Returns the fileId — pass that to ofw_send_message or ofw_save_draft in myFileIDs to attach it. The file is uploaded as PRIVATE (visible only to you) by default; pass shareClass:"SHARED" to share with co-parents directly via the My Files area.

ofw_download_attachmentA

Download an OFW message attachment by fileId. By default, bytes are saved to disk (~/Downloads/ofw-mcp/) and the response carries the absolute path, mime type, and size for the caller to read back. Pass inline:true to skip disk entirely and return the bytes as MCP content blocks — images come back as ImageContent (the model sees them directly); other files come back as an EmbeddedResource blob. Use inline for small files where you want the model to read content immediately and the host is sandboxed; use disk for large files or when you want a persistent local copy. The default for inline can be flipped server-side via the OFW_INLINE_ATTACHMENTS env var (set to "true" to make inline the default). fileId comes from attachments[].fileId on ofw_get_message. Override disk destination with OFW_ATTACHMENTS_DIR or saveTo. Re-downloading to the same path is a no-op (disk mode only).

ofw_sync_messagesA

Sync messages from OurFamilyWizard into the local cache. Returns counts per folder and a list of unread inbox messages whose bodies were NOT fetched (to avoid mark-as-read on OFW). Call ofw_get_message(id) on those to read them. Pass deep:true to walk all OFW pages instead of stopping at the first all-cached page (use to backfill suspected gaps).

ofw_list_eventsA

List OurFamilyWizard calendar events in a date range

ofw_create_eventB

Create a calendar event in OurFamilyWizard

ofw_update_eventC

Update an existing OurFamilyWizard calendar event

ofw_delete_eventB

Delete an OurFamilyWizard calendar event

ofw_get_expense_totalsA

Get OurFamilyWizard expense summary totals (owed/paid)

ofw_list_expensesA

List OurFamilyWizard expenses with pagination

ofw_create_expenseA

Log a new expense in OurFamilyWizard

ofw_list_journal_entriesC

List OurFamilyWizard journal entries

ofw_create_journal_entryB

Create a new journal entry in OurFamilyWizard

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrischall/hemnet-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server