Notion Todo Manager
STDIOModel Context Protocol server that integrates with Notion API to manage todo lists.
Model Context Protocol server that integrates with Notion API to manage todo lists.
A simple Model Context Protocol (MCP) server that integrates with Notion's API to manage my personal todo list.
To install Notion MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @Badhansen/notion-mcp --client claude
git clone https://github.com/Badhansen/notion-mcp.git cd notion-mcp
uv venv source .venv/bin/activate uv pip install -e .
.env
file:cp .env.example .env
.env
:NOTION_TOKEN=<your-notion-api-token> PAGE_ID=<your-notion-page-id> NOTION_VERSION="2022-06-28" NOTION_BASE_URL="https://api.notion.com/v1"
claude_desktop_config.json
file.
Go to Claude Desktop -> Settings -> Developer -> Edit Config
. Now add the Notion
server configuration.{ "mcpServers": { "notion-mcp": { "command": "uv", "args": [ "--directory", "/Users/username/Projects/Python/notion-mcp/src" /* Path to your project */, "run", "server.py" ] } } }
Project structure:
notion-mcp/ ├── docs/ ├── src/ │ └── server.py ├── .env ├── .python-version ├── README.md ├── pyproject.toml └── uv.lock
To show all tasks from your Notion workspace, use the show_all_todos
function:
{ "name": "show_all_todos", "arguments": {} }
To add a new task to your Notion workspace, use the add_todo
function:
{ "name": "add_todo", "arguments": { "task": "Your task description" } }
To update an existing task in your Notion workspace, use the complete_todo
function:
{ "name": "complete_todo", "arguments": { "task_id": "your-task-id" } }
MIT License. See LICENSE file for details.