Notion MCP Integration
Manages a personal todo list in Notion, allowing adding tasks with descriptions and links, viewing all todos, and marking tasks as complete.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Notion MCP IntegrationAdd a todo: buy groceries"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Notion MCP Integration
A simple Model Context Protocol (MCP) server that integrates with Notion's API to manage my personal todo list through Claude. This is a basic implementation tailored specifically for my minimalist todo list setup in Notion.
This project is based on danhilse/notion_mcp, which is available under the MIT license.
Important Note
This is a personal project designed for a very specific use case: my simple Notion todo list that has just four properties:
Task (title)
Checkbox (marks if completed)
Description (additional details)
Link (URL or reference)
While you can use this as a starting point for your own Notion integration, you'll likely need to modify the code to match your specific database structure and requirements.
Features
Add new todo items with descriptions and links
View all todos
Check off tasks as complete
Link external resources to tasks
Prerequisites
Python 3.10 or higher
A Notion account
A Notion integration (API key)
A Notion database that matches the exact structure described above (or willingness to modify the code for your structure)
Setup
Clone the repository:
git clone https://github.com/yourusername/notion-mcp.git
cd notion-mcpSet up Python environment:
python -m venv .venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
uv pip install -e .Create a Notion integration:
Go to https://www.notion.so/my-integrations
Create new integration
Copy the API key
Share your database with the integration:
Open your todo database in Notion
Click "..." menu → "Add connections"
Select your integration
Create a
.envfile:
NOTION_API_KEY=your-api-key-here
NOTION_DATABASE_ID=your-database-id-hereConfigure Claude Desktop:
{
"mcpServers": {
"notion-todo": {
"command": "/path/to/your/.venv/bin/python",
"args": ["-m", "notion_mcp"],
"cwd": "/path/to/notion-mcp"
}
}
}Running the Server
The server can be run in two ways:
Directly from the command line:
# From the project directory with virtual environment activated
python -m notion_mcpAutomatically through Claude Desktop (recommended):
The server will start when Claude launches if configured correctly in
claude_desktop_config.jsonNo manual server management needed
Server stops when Claude is closed
Note: When running directly, the server won't show any output unless there's an error - this is normal as it's waiting for MCP commands.
Usage
Basic commands through Claude:
"Show all my todos"
"Add a todo: check emails"
"Add a todo: review project docs, with link: https://example.com/docs"
"Mark todo [ID] as complete"
Limitations
Only works with a specific Notion database structure
No support for complex database schemas
Basic error handling
No support for additional properties or custom fields
No advanced features like recurring tasks, priorities, or tags
Project Structure
notion_mcp/
├── pyproject.toml
├── README.md
├── .env # Not included in repo
└── src/
└── notion_mcp/
├── __init__.py
├── __main__.py
└── server.py # Main implementationLicense
MIT License - Use at your own risk
Acknowledgments
Built to work with Claude Desktop
Uses Notion's API
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/Ruijian-Zha/Notion_MCP_advanced'
If you have feedback or need assistance with the MCP directory API, please join our Discord server