Notion Task Management
STDIOMCP server providing todo list management and content organization through Notion's API.
MCP server providing todo list management and content organization through Notion's API.
A Model Context Protocol (MCP) server that provides advanced todo list management and content organization capabilities through Notion's API. MCP enables AI models to interact with external tools and services, allowing seamless integration with Notion's powerful features.
Python-based MCP server that enables AI models to interact with Notion's API, providing:
# Clone and setup git clone https://github.com/yourusername/notion-api-mcp.git cd notion-api-mcp uv venv && source .venv/bin/activate # Install and configure uv pip install -e . cp .env.integration.template .env # Add your Notion credentials to .env: # NOTION_API_KEY=ntn_your_integration_token_here # NOTION_PARENT_PAGE_ID=your_page_id_here # For new databases # NOTION_DATABASE_ID=your_database_id_here # For existing databases # Run the server python -m notion_api_mcp
NOTION_API_KEY
You'll need either a parent page (for creating new databases) or an existing database ID:
https://notion.so/myworkspace/123456abcdef...
, the ID is 123456abcdef...
NOTION_PARENT_PAGE_ID
https://notion.so/myworkspace/123456abcdef...?v=...
, the ID is 123456abcdef...
NOTION_DATABASE_ID
cd notion-api-mcp uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
cp .env.integration.template .env
NOTION_API_KEY=ntn_your_integration_token_here # Choose one or both of these depending on your needs: NOTION_PARENT_PAGE_ID=your_page_id_here # For creating new databases NOTION_DATABASE_ID=your_database_id_here # For working with existing databases
IMPORTANT: While the server supports both .env files and environment variables, Claude Desktop specifically requires configuration in its config file to use the MCP.
Add to Claude Desktop's config (~/Library/Application Support/Claude/claude_desktop_config.json
):
{ "mcpServers": { "notion-api": { "command": "/path/to/your/.venv/bin/python", "args": ["-m", "notion_api_mcp"], "env": { "NOTION_API_KEY": "ntn_your_integration_token_here", // Choose one or both: "NOTION_PARENT_PAGE_ID": "your_page_id_here", "NOTION_DATABASE_ID": "your_database_id_here" } } } }
Note: Even if you have a .env file configured, you must add these environment variables to the Claude Desktop config for Claude to use the MCP. The .env file is primarily for local development and testing.
The server uses modern Python async features throughout:
The server includes comprehensive logging:
Set PYTHONPATH
to include the project root when running directly:
PYTHONPATH=/path/to/project python -m notion_api_mcp
Planned enhancements:
Performance Optimization
Advanced Features
Developer Experience
Testing Enhancements