An MCP server for managing Thomas Frank's Ultimate Brain Notion system. Provides 26 workflow-oriented tools for Tasks, Projects, Notes, Tags, and Goals using the PARA methodology.
-
Create a Notion integration and share your Ultimate Brain databases with it.
-
Run the setup command for your client. It will auto-discover your data sources from Notion and write the config file.
# Project scope (writes .mcp.json in current directory)
uvx --from ultimate-brain-mcp ultimate-brain-setup --client claude-code --scope project
# User scope (writes ~/.claude.json)
uvx --from ultimate-brain-mcp ultimate-brain-setup --client claude-code --scope useruvx --from ultimate-brain-mcp ultimate-brain-setup --client claude-desktopYou can also pass your Notion secret via environment variable to skip the prompt:
NOTION_INTEGRATION_SECRET=secret_... uvx --from ultimate-brain-mcp ultimate-brain-setup --client claude-code --scope projectsearch_tasks— Filter by name, status, project, priority, due date, My Day, labels, parent task, completion datecreate_task— Create with name, status, due, priority, project, labelsupdate_task— Patch any task propertiescomplete_task— Mark done with recurrence handlingget_my_day— My Day tasks sorted by priorityget_inbox_tasks— Unprocessed tasks needing triage
search_projects— Filter by status, tagget_project_detail— Properties + task breakdown + recent notescreate_project— Create with name, status, deadline, tag, goalupdate_project— Patch project properties
search_notes— Filter by type, project, tag, favorite, dateget_note_content— Properties + page body as plain textcreate_note— Create with type, project, tags, URLupdate_note— Patch note properties
search_tags— Filter by PARA typecreate_tag— Create with name, type, parentupdate_tag— Patch tag properties
search_goals— Filter by statusget_goal_detail— Properties + linked projectscreate_goal— Create with name, status, deadlineupdate_goal— Patch goal properties
daily_summary— My Day, overdue, inbox, active projects/goalsarchive_item— Archive any UB item
query_database— Query any secondary databaseget_page— Fetch any page by IDupdate_page— Update any page properties
uv run pytest tests/
uv run mcp dev src/ultimate_brain_mcp/server.py