Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

Notion_MCP_advanced

MCP.Pizza Chef: Ruijian-Zha

Notion_MCP_advanced is a lightweight Model Context Protocol (MCP) server designed to integrate seamlessly with Notion's API. It enables efficient management of a minimalist personal to-do list through Claude, focusing on a simple Notion database structure with four key properties: Task, Checkbox, Description, and Link. This server provides basic, tailored functionality for users seeking streamlined task management without unnecessary complexity. While optimized for a specific personal setup, it serves as a flexible foundation for developers to customize and extend for their own Notion database structures and workflows.

Use This MCP server To

Manage personal to-do lists via Notion API Integrate Notion task data with Claude LLM Automate task completion tracking in Notion Customize Notion database interactions for task management Build minimalist task management workflows Extend Notion MCP server for personalized task setups

README

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)

Example Notion Database

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

  1. Clone the repository:
git clone https://github.com/yourusername/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
  3. Create a .env file:

NOTION_API_KEY=your-api-key-here
NOTION_DATABASE_ID=your-database-id-here
  1. 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:

  1. Directly from the command line:
# From the project directory with virtual environment activated
python -m notion_mcp
  1. 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

Notion_MCP_advanced FAQ

How do I set up Notion_MCP_advanced with my Notion account?
You need to configure the server with your Notion API token and ensure your database matches the expected structure or modify the code accordingly.
Can I use Notion_MCP_advanced with other LLMs besides Claude?
Yes, while designed for Claude, it can be adapted to work with other LLM providers like OpenAI and Anthropic by adjusting the integration layer.
What Notion database properties does Notion_MCP_advanced support?
It supports four properties: Task (title), Checkbox (completion status), Description, and Link (URL or reference).
Is Notion_MCP_advanced suitable for complex Notion databases?
It is optimized for simple, minimalist to-do lists; complex databases may require code modifications.
How secure is the integration with Notion API?
The server uses your Notion API token securely; ensure you follow best practices for token management and environment security.
Can I customize the task properties handled by Notion_MCP_advanced?
Yes, the code is open source and can be modified to support additional or different properties as needed.
Does Notion_MCP_advanced support real-time updates from Notion?
It primarily fetches and updates data on request; real-time sync would require additional implementation.
What license governs Notion_MCP_advanced?
It is based on danhilses/notion_mcp and is available under the MIT license.