Provides advanced todo list management and content organization capabilities through Notion's API, including task management, database operations, content structuring, and real-time integration with Notion's workspace, pages, and databases.
Notion API MCP
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.
MCP Overview
Python-based MCP server that enables AI models to interact with Notion's API, providing:
Todo Management: Create, update, and track tasks with rich text, due dates, priorities, and nested subtasks
Database Operations: Create and manage Notion databases with custom properties, filters, and views
Content Organization: Structure and format content with Markdown support, hierarchical lists, and block operations
Real-time Integration: Direct interaction with Notion's workspace, pages, and databases through clean async implementation
Quick Start
Getting Started
1. Create a Notion Integration
Click "New integration"
Name your integration (e.g., "My MCP Integration")
Select the workspace where you'll use the integration
Copy the "Internal Integration Token" - this will be your
NOTION_API_KEY
Should start with "ntn_"
2. Set Up Notion Access
You'll need either a parent page (for creating new databases) or an existing database ID:
Option A: Parent Page for New Databases
Open Notion in your browser
Create a new page or open an existing one where you want to create databases
Click the ••• menu in the top right
Select "Add connections" and choose your integration
Copy the page ID from the URL - it's the string after the last slash and before the question mark
Example: In
https://notion.so/myworkspace/123456abcdef...
, the ID is123456abcdef...
This will be your
NOTION_PARENT_PAGE_ID
Option B: Existing Database
Open your existing Notion database
Make sure it's connected to your integration (••• menu > Add connections)
Copy the database ID from the URL
Example: In
https://notion.so/myworkspace/123456abcdef...?v=...
, the ID is123456abcdef...
This will be your
NOTION_DATABASE_ID
3. Install the MCP Server
Create virtual environment:
Install dependencies:
Configure environment:
Edit .env with your Notion credentials:
4. Configure Claude Desktop
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
):
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.
Documentation
Configuration Details - Detailed configuration options and environment variables
Features - Complete feature list and capabilities
Architecture - Overview of available tools and usage examples
API Reference - Detailed API endpoints and implementation details
Test Coverage Matrix - Test coverage and validation status
Dependencies - Project dependencies and version information
Changelog - Development progress and updates
Development
The server uses modern Python async features throughout:
Type-safe configuration using Pydantic models
Async HTTP using httpx for better performance
Clean MCP integration for exposing Notion capabilities
Proper resource cleanup and error handling
Debugging
The server includes comprehensive logging:
Console output for development
File logging when running as a service
Detailed error messages
Request/response logging at debug level
Set PYTHONPATH
to include the project root when running directly:
Future Development
Planned enhancements:
Performance Optimization
Add request caching
Optimize database queries
Implement connection pooling
Advanced Features
Multi-workspace support
Batch operations
Real-time updates
Advanced search capabilities
Developer Experience
Interactive API documentation
CLI tools for common operations
Additional code examples
Performance monitoring
Testing Enhancements
Performance benchmarks
Load testing
Additional edge cases
Extended integration tests
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Enables advanced todo list management and content organization using Notion's API, supporting features like creating databases, dynamic filtering, and collaborative task tracking.
Related Resources
Related MCP Servers
- -securityFlicense-qualityEnables interaction with Notion through the Notion API by exposing it as tools for LLMs, allowing operations like reading, creating, updating, and deleting Notion pages seamlessly via natural language.Last updated -822
- -securityAlicense-qualityA Model Context Protocol server that integrates with Notion's API to manage personal todo lists, allowing users to view, add, and update tasks directly from Claude.Last updated -26MIT License
- -securityFlicense-qualityProvides API tools to interact with Yonote documents and collections, serving as an alternative to Notion with capabilities to list documents/collections and retrieve detailed document information.Last updated -2
- -securityFlicense-qualityEnables interaction with Notion workspaces through the Notion API. Provides tools to search, read, create, and update Notion pages and databases with real-time synchronization.Last updated -305