Back to MCP Catalog

Notion Todo Manager MCP Server

Knowledge & MemoryPython
Manage your Notion todo list through Claude
Available Tools

list_todos

List all todos from your Notion database

list_today_todos

List todos scheduled for today from your Notion database

create_todo

Create a new todo item in your Notion database

titlewhen

complete_todo

Mark a todo item as complete in your Notion database

task_name

Notion Todo Manager is a simple integration that connects Claude to your personal Notion todo list. It allows you to view, add, and complete tasks directly through Claude's interface, making task management more conversational and accessible. This integration is designed for a minimalist todo list setup in Notion with a specific structure, focusing on today's tasks versus future tasks. While simple in design, it provides a seamless way to interact with your Notion database without leaving your Claude conversation.

Overview

Notion Todo Manager is a Model Context Protocol (MCP) server that integrates Claude with Notion's API to manage a personal todo list. This integration allows you to interact with your Notion todo database through natural language conversations with Claude.

Prerequisites

Before setting up this integration, you'll need:

  • Python 3.10 or higher
  • A Notion account
  • A Notion integration (API key)
  • A Notion database with a specific structure:
    • Task (title)
    • When (select with only two options: "today" or "later")
    • Checkbox (marks if completed)

Installation

  1. Clone the repository
git clone https://github.com/danhilse/notion_mcp.git
cd notion_mcp
  1. Set up Python environment
python -m venv .venv
source .venv/bin/activate  # On Windows use: .venv\Scripts\activate
uv pip install -e .
  1. Create a Notion integration

  2. Share your database with the integration

    • Open your todo database in Notion
    • Click "..." menu → "Add connections"
    • Select your integration
    • Copy your database ID from the URL (it's the part after the workspace name and before the question mark)
  3. Create a .env file in the project directory

NOTION_API_KEY=your-api-key-here
NOTION_DATABASE_ID=your-database-id-here
  1. Configure Claude Desktop

Add the following to your Claude Desktop configuration:

{
  "mcpServers": {
    "notion-todo": {
      "command": "/path/to/your/.venv/bin/python",
      "args": ["-m", "notion_mcp"],
      "cwd": "/path/to/notion-mcp"
    }
  }
}

Replace /path/to/your/.venv/bin/python with the actual path to the Python executable in your virtual environment, and /path/to/notion-mcp with the actual path to the cloned repository.

Usage

Once the integration is set up, you can interact with your Notion todo list through Claude using natural language commands such as:

  • "Show all my todos"
  • "What's on my list for today?"
  • "Add a todo for today: check emails"
  • "Add a task for later: review project"
  • "Mark the 'check emails' task as complete"

The integration will handle these requests by communicating with your Notion database and returning the results to Claude, which will then present them to you in a readable format.

Customization

This integration is designed for a specific Notion database structure. If your database has a different structure, you'll need to modify the code to match your setup:

  1. Open the server.py file in the src/notion_mcp/ directory
  2. Modify the create_todo() function to match your database properties
  3. Update the todo formatting in call_tool() to handle your data structure
  4. Adjust the input schema in list_tools() if you want different options

Limitations

  • Works only with the specific Notion database structure described above
  • Limited to "today" or "later" task scheduling
  • No support for additional properties or custom fields
  • Basic error handling
  • No advanced features like recurring tasks, priorities, or tags

Troubleshooting

If you encounter issues:

  1. Check that your .env file contains the correct API key and database ID
  2. Ensure your Notion database has the expected structure
  3. Verify that your database is shared with the integration
  4. Check the Python environment is activated when running the server manually

Related MCPs

Knowledge Graph Memory
Knowledge & MemoryTypeScript

A persistent memory system using a local knowledge graph

MemoryMesh
Knowledge & MemoryTypeScript

A knowledge graph server for structured memory persistence in AI models

Cognee
Knowledge & MemoryPython

Knowledge management and retrieval system with code graph capabilities

About Model Context Protocol

Model Context Protocol (MCP) allows AI models to access external tools and services, extending their capabilities beyond their training data.

Generate Cursor Documentation

Save time on coding by generating custom documentation and prompts for Cursor IDE.