SuperAPI AI Directory

notion_mcp

Notion MCP Integration is a simple Model Context Protocol (MCP) server that allows Claude to read and manage a personal to-do list through the Notion API. This project is a personal project, designed for a minimal Notion to-do list structure, and supports only three properties: task name, When (options: today or later), and Checkbox (mark as complete). The main features include adding new to-dos, viewing today's tasks, and checking off completed items. It requires Python 3.10+, a Notion account, an integration API key, and a database matching the structure, and can be used by cloning the repository, configuring environment variables, and using Claude Desktop.

Open website

About this tool

Notion MCP Integration is a simple Model Context Protocol (MCP) server used to integrate Claude with the Notion API to manage a personal to-do list. This project is a basic implementation specifically for the author's minimal to-do list setup in Notion, with the following three properties:

  • When: select type, with only two options: "today" or "later"
  • Checkbox: marks whether the task is complete
  • Task name (implicit)

This project is a personal project, designed for a very specific use case. Although it can serve as a starting point for your own Notion integration, it will most likely require code modifications to match your database structure and needs.

The main capabilities include:

  • Add new to-do items
  • View today's tasks
  • Mark tasks as complete

How to use:

  1. Prerequisites: Python 3.10 or higher, a Notion account, a Notion integration (API key), a Notion database matching the exact structure above (or a willingness to modify the code to adapt to your own structure).
  2. Clone the repository (specific commands not provided).
  3. Set up the Python environment (specific steps not provided).
  4. Create a Notion integration: visit https://www.notion.so/my-integrations,创建新集成,复制 API key.
  5. Share the database with the integration: open the to-do database in Notion, click the "..." menu → "Add connections", and select your integration.
  6. Create a .env file (specific contents not provided).
  7. Configure Claude Desktop (specific configuration not provided).

Running the server:

  • Run directly from the command line (specific commands not provided).
  • Run automatically through Claude Desktop (recommended): if correctly configured in claude_desktop_config.json, the server will start when Claude starts, with no manual management required, and the server will stop when Claude closes.
  • Note: when run directly, the server will not display any output unless there is an error. This is normal, because it is waiting for MCP commands.

Basic command examples through Claude:

  • "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"

Limitations:

  • Only works with a specific Notion database structure
  • Does not support complex database schemas
  • Task scheduling is limited to "today" or "later"
  • Does not support additional properties or custom fields
  • Basic error handling
  • No advanced features, such as recurring tasks, priorities, or tags
  • If you want to use it with a different database structure, you need to modify the server.py file, specifically:
    • the create_todo() function to match database properties
    • the to-do formatting in call_tool() to handle the data structure
    • the input schema in list_tools() to support different options

Project structure (specific file list not provided).

License: MIT License - use at your own risk.

Acknowledgments: built for use with Claude Desktop, using Notion's API.

Category: Other AI Tools