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:
- 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).
- Clone the repository (specific commands not provided).
- Set up the Python environment (specific steps not provided).
- Create a Notion integration: visit https://www.notion.so/my-integrations,创建新集成,复制 API key.
- Share the database with the integration: open the to-do database in Notion, click the "..." menu → "Add connections", and select your integration.
- Create a .env file (specific contents not provided).
- 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