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.
This is a personal project designed for a very specific use case: my simple Notion todo list that has just four properties:
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.
git clone https://github.com/yourusername/notion-mcp.git
cd notion-mcp
python -m venv .venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
uv pip install -e .
Create a Notion integration:
Share your database with the integration:
Create a .env
file:
NOTION_API_KEY=your-api-key-here
NOTION_DATABASE_ID=your-database-id-here
{
"mcpServers": {
"notion-todo": {
"command": "/path/to/your/.venv/bin/python",
"args": ["-m", "notion_mcp"],
"cwd": "/path/to/notion-mcp"
}
}
}
The server can be run in two ways:
# From the project directory with virtual environment activated
python -m notion_mcp
claude_desktop_config.json
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.
Basic commands through Claude:
notion_mcp/
├── pyproject.toml
├── README.md
├── .env # Not included in repo
└── src/
└── notion_mcp/
├── __init__.py
├── __main__.py
└── server.py # Main implementation
MIT License - Use at your own risk
{
"mcpServers": {
"notion-todo": {
"env": {},
"args": [
"-m",
"notion_mcp"
],
"command": "python"
}
}
}
Seamless access to top MCP servers powering the future of AI integration.