Notion API MCP
About
Interact with Notion's API to manage todo lists, databases, and content organization.
Details
- Author
- pbohannon
- Categories
- Productivity, Other, Project Management, Database
Jump to
Setup
Install Notion API MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/pbohannon/notion-api-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
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:
- 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
# 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
- Should start with "ntn_"
You'll need either a parent page (for creating new databases) or an existing database ID:
- 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: Inhttps://notion.so/myworkspace/123456abcdef..., the ID is123456abcdef...
- This will be yourNOTION_PARENT_PAGE_ID
- Open your existing Notion database
- Make sure it's connected to your integration (••• menu > Add connections)
- Copy the database ID from the URL
- Example: Inhttps://notion.so/myworkspace/123456abcdef...?v=..., the ID is123456abcdef...
- This will be yourNOTION_DATABASE_ID
cd notion-api-mcp uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
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.
- 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
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
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
SetPYTHONPATHto include the project root when running directly:
PYTHONPATH=/path/to/project python -m notion_api_mcp
- Add request caching
- Optimize database queries
- Implement connection pooling
- Multi-workspace support
- Batch operations
- Real-time updates
- Advanced search capabilities
- Interactive API documentation
- CLI tools for common operations
- Additional code examples
- Performance monitoring
- Performance benchmarks
- Load testing
- Additional edge cases
- Extended integration tests
Interact with Notion's API to read, create, and modify content using natural language.
Connects AI assistants to your Notion workspace, allowing you to search, create, and manage content using natural language.
An MCP server for interacting with your Notion workspace, enabling LLMs to manage pages and databases.
Official Notion MCP server for searching, reading, creating, and updating Notion pages, databases, and workspace content from AI agents.
Multi-device file sync, dev-doc CRUD, task management, and session handoffs for AI agents - MCP + OpenAPI dual surface.
Markdown-first Notion MCP server with 9 composite tools, 39 actions, and ~77% token reduction via tiered docs.
Shared workspace your AI agents write to — 184+ MCP tools for CMMN case management.
An MCP server for integrating with Clio practice management software, tailored for Australian legal professionals.
Markdown-first Notion MCP server — 26 tools, 92% fewer tokens, full round-trip fidelity
Freelance business manager — clients, proposals, invoices, time tracking, scope, and follow-ups. 37 MCP tools.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





