{"name":"io.github.chrischall/ofw-mcp","slug":"chrischall-ofw-mcp","title":null,"description":"OurFamilyWizard co-parenting for Claude — messages, calendar, expenses, and journal","url":"https://mcp.market/server/chrischall-ofw-mcp","rating":null,"grade":"B","score":75,"certified":false,"status":"active","category":"productivity","tags":["productivity"],"presence":{"score":39,"stars":10,"forks":3,"downloads_week":800,"last_push_at":"2026-09-17T12:26:16.000Z","license":"MIT"},"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/chrischall/ofw-mcp","website":null,"version":"2.17.0","remotes":[],"packages":[{"registryType":"npm","identifier":"ofw-mcp","version":"2.17.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your OurFamilyWizard login email address. Optional — 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 — 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"},{"description":"Set to false to disable the on-disk session cache and re-authenticate on every process start. Defaults to enabled.","format":"string","name":"OFW_SESSION_CACHE"},{"description":"Absolute path for the session cache file. Defaults to $MCP_DATA_DIR/.ofw-mcp/session.json.","format":"string","name":"OFW_SESSION_FILE"}]}],"tools":[],"scan":{"score":75,"grade":"B","scanned_at":"2026-09-19T00:27:28.344Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T00:27:28.272Z","components":{"code":{"score":20,"max":25,"notes":["42 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 2 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"dist/bundle.js: …urceCode, sch); const validate2 = new Function(`${names_1.default.self}`, `${names_1.de…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"ofw-mcp","version":"2.17.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":5,"publishedAt":"2026-09-17T12:26:48.591Z","repositoryUrl":"git+https://github.com/chrischall/ofw-mcp.git","weeklyDownloads":800}],"repo":{"found":true,"owner":"chrischall","repo":"ofw-mcp","archived":false,"pushedAt":"2026-09-17T12:26:16Z","stars":10,"forks":3,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/10564245?v=4","ownerCreatedAt":"2015-01-16T16:58:09Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":10,"forks":3,"downloadsWeek":800,"license":"MIT","lastPushAt":"2026-09-17T12:26:16.000Z","score":39}}}},"grade_history":[{"kind":"restore","fromGrade":"C","toGrade":"B","reason":"score 75: eval / new Function used","createdAt":"2026-09-19T00:27:28.869Z"}],"reviews":[]}