About Notion MCP Integration
Notion MCP Integration is a Python server for managing a personal todo list through Notion's API and Claude. It targets a specific four-property database structure and supports basic task operations rather than complex schemas.
Key features
- 01Add todos with descriptions and links
- 02List all todos
- 03Mark tasks complete
- 04Works with a fixed Notion schema
Use cases
- 01Manage a personal Notion todo list through Claude
- 02Attach external links to todo items
MCP support
The MCP server connects Claude to Notion's API and exposes operations to add, list, and complete todo items, as well as associate links. It requires a database matching the documented structure.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMENotion 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-mcp
- Set 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-here
- Configure 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_mcp
- Automatically through Claude Desktop (recommended):
- The server will start when Claude launches if configured correctly in
claude_desktop_config.json - No 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 implementation
License
MIT License - Use at your own risk
Acknowledgments
- Built to work with Claude Desktop
- Uses Notion's API
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.