How to Connect Claude to Notion Using MCP
Step-by-step tutorial to connect Claude Desktop to your Notion workspace using the official MCP Notion server. Search, read, and create pages directly from Claude.
Imagine asking Claude to search your Notion workspace, summarize your meeting notes, or draft a new page based on existing content. With MCP, this is not only possible — it's straightforward to set up.
This tutorial walks you through connecting Claude Desktop to Notion using the official MCP Notion server.
What You'll Achieve
After completing this guide, Claude will be able to:
If you're new to MCP, read our introduction to the Model Context Protocol first.
Prerequisites
Before starting, you'll need:
Step 1: Create a Notion Integration
First, we need to create an internal Notion integration to get an API key.
1. Go to notion.so/my-integrations
2. Click "+ New integration"
3. Give it a name like "Claude MCP"
4. Select the workspace you want to connect
5. Under Capabilities, enable:
6. Click Submit
7. Copy the Internal Integration Token (starts with
ntn_)Keep this token secure — it grants access to your Notion data.
Step 2: Share Pages with Your Integration
Notion integrations can only access pages explicitly shared with them.
1. Open a Notion page or database you want Claude to access
2. Click the "..." menu in the top right
3. Select "Connections" → "Connect to"
4. Find and select your "Claude MCP" integration
5. Repeat for other pages/databases as needed
Tip: Share a parent page to grant access to all child pages automatically.
Step 3: Install the MCP Notion Server
The official Notion MCP server is available via npm:
npm install -g @modelcontextprotocol/server-notion
Verify the installation:
npx @modelcontextprotocol/server-notion --help
Step 4: Configure Claude Desktop
Now we connect Claude Desktop to the Notion server.
On macOS
Edit the Claude Desktop configuration file:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows
Edit:
%APPDATA%\Claude\claude_desktop_config.json
Add the Notion Server Configuration
Add or update the mcpServers section:
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-notion"],
"env": {
"NOTION_API_KEY": "ntn_your_integration_token_here"
}
}
}
}
Replace ntn_your_integration_token_here with your actual token from Step 1.
Security Note
Storing API keys in configuration files isn't ideal for production. For better security practices, see our MCP Security Best Practices guide.
Step 5: Restart Claude Desktop
Close Claude Desktop completely and reopen it. The Notion MCP server should now be active.
You can verify by looking for the hammer icon (🔨) in the Claude interface, which indicates available tools.
Step 6: Test the Connection
Try asking Claude:
Claude will use the Notion MCP tools to search and retrieve content.
Available Tools
The Notion MCP server provides these tools:
notion_search
Search across your workspace:
"Search Notion for quarterly reports"
notion_get_page
Retrieve a specific page's content:
"Get the content from page ID abc123"
notion_create_page
Create new pages:
"Create a new page titled 'Project Kickoff Notes' under my Projects database"
notion_append_block
Add content to existing pages:
"Add a bullet point to my todo list page"
notion_add_comment
Comment on pages:
"Add a comment asking for review on the proposal page"
Practical Use Cases
Meeting Notes Assistant
"Search my Notion for last week's meeting notes and create a summary page with action items."
Research Aggregator
"Find all my notes tagged 'research' and compile them into a new page called 'Research Overview'."
Project Updates
"Look at my active projects database and create a weekly status update page."
Knowledge Base Q&A
"Based on my Notion documentation, explain how our deployment process works."
For more use case inspiration, see our MCP Real-World Examples.
Troubleshooting
Claude doesn't show any Notion tools
1. Verify the configuration JSON is valid (no trailing commas, proper quotes)
2. Check the API key is correct
3. Restart Claude Desktop completely
4. Check Claude's logs for errors:
# macOS
tail -f ~/Library/Logs/Claude/mcp*.log
"Page not found" errors
Remember: integrations only access explicitly shared pages. Make sure you've connected the page to your integration (Step 2).
Rate limiting
Notion has API rate limits. If you're making many requests, you may need to wait before trying again.
Server won't start
Verify Node.js is installed and accessible:
node --version # Should be 18+
npx --version
Advanced Configuration
Using Environment Variables
Instead of hardcoding the API key, use environment variables:
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-notion"],
"env": {
"NOTION_API_KEY": "${NOTION_API_KEY}"
}
}
}
}
Then set the environment variable in your shell profile:
export NOTION_API_KEY="ntn_your_token"
Multiple Workspaces
To connect multiple Notion workspaces, create separate integrations and server configurations:
{
"mcpServers": {
"notion-work": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-notion"],
"env": {
"NOTION_API_KEY": "ntn_work_token"
}
},
"notion-personal": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-notion"],
"env": {
"NOTION_API_KEY": "ntn_personal_token"
}
}
}
}
What's Next?
Now that Claude can access your Notion, explore other integrations:
You can combine multiple MCP servers — imagine Claude accessing your Notion, calendar, and email all at once for a truly integrated assistant experience.
Conclusion
Connecting Claude to Notion via MCP unlocks powerful workflows. Your notes, documentation, and databases become part of Claude's context, enabling it to help you in ways that weren't possible before.
The setup takes about 10 minutes, and the productivity gains are immediate. Give it a try and see how much more useful Claude becomes when it can actually access your information.