Overview
This build wires Notion into Claude Desktop through the official Notion MCP server. Once connected, Claude can search across every page you grant access to, follow relations between databases, draft new pages from templates, and update properties inline. The result is a personal knowledge assistant that reads and writes your source of truth — not a copy of it.
How it works
- Install the Notion MCP server (npm package) and register it in claude_desktop_config.json.
- Create a Notion internal integration and share the specific databases/pages you want Claude to see.
- Claude discovers the tools (search_pages, read_page, create_page, update_page) at startup.
- Prompts routed through natural chat trigger tool calls; results are summarized back inline.
- Every write is confirmed before execution, giving you a review step.
Benefits
- Zero context-switching for daily standups, project updates, and doc drafting.
- Answers cite the exact Notion page — no hallucinated 'you told me last week' failures.
- Templates + relations make Claude the fastest path to a well-structured page.
Use cases
- Solo founders using Notion as a CRM + wiki + task tracker.
- PMs who spend an hour a day writing status updates across three databases.
- Consultants juggling multiple client workspaces from one Claude window.
Step-by-step guide
Step 1: Install the MCP server
npm install -g @notionhq/notion-mcp-server. Verify it runs from your terminal before wiring into Claude.
Step 2: Create a Notion integration
Settings → Integrations → New. Give it the specific capabilities you need; don't over-grant.
Step 3: Share databases explicitly
In Notion, share each database with the integration. Only shared content is visible — this is your safety boundary.
Step 4: Register the server in Claude Desktop
Edit claude_desktop_config.json under mcpServers. Set the NOTION_TOKEN env var. Restart Claude.
Step 5: Test with a read-only query
'Summarize my active projects from the Projects DB.' Confirm it lists the right pages before enabling writes.
Step 6: Add a write template
Create a system prompt snippet that describes your project-status template. Claude will apply it consistently.
Example
You: 'Draft this week's status update from the Projects DB — focus on anything blocked or shipping this week.'
Claude: fetches 12 pages, filters by status, produces a 6-bullet update, offers to write it back as a new page in the Updates DB.