Notion MCP Server
A Model Context Protocol server that provides a standardized interface for interacting with Notion's API, enabling users to list databases, create pages, and search across their Notion workspace.
ccabanillas
README
Notion MCP Server
A Model Context Protocol (MCP) server implementation for Notion integration, providing a standardized interface for interacting with Notion's API.
Features
- List and query Notion databases
- Create and update pages
- Search across Notion workspace
- Full async/await support
- Type-safe with Pydantic models
- Proper error handling
Installation
- Clone the repository:
git clone https://github.com/ccabanillas/notion-mcp.git
cd notion-mcp
- Create a virtual environment and install dependencies:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e .
- Create a
.env
file in the project root:
NOTION_API_KEY=your_notion_integration_token
Usage
- Test the server(it should just run without errors):
python -m notion_mcp
- To actually use it with Claude Desktop as intended you need to adjust your claude_desktop_config.json file
"notion-mcp": {
"command": "/Users/username/Projects/notion-mcp/venv/bin/python3", <--Path your virtual environment
"args": ["-m", "notion_mcp"],
"cwd": "/Users/username/Projects/notion-mcp" <-- Path to your project
},
Development
Project Structure
notion-mcp/
├── src/
│ └── notion_mcp/
│ ├── models/
│ │ ├── __init__.py
│ │ └── notion.py
│ ├── __init__.py
│ ├── __main__.py
│ ├── client.py
│ └── server.py
├── .env
├── .gitignore
├── pyproject.toml
└── README.md
Running Tests
pytest
Configuration
The server requires a Notion integration token. To set this up:
- Go to https://www.notion.so/my-integrations
- Create a new integration
- Copy the integration token
- Add it to your
.env
file
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
MIT License - Use at your own risk
Acknowledgments
- Built to work with Claude Desktop
- Uses Notion's API
- Special thanks to [danhilse], I referenced his notion-mcp-server project
Recommended Servers
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Apple MCP Server
Enables interaction with Apple apps like Messages, Notes, and Contacts through the MCP protocol to send messages, search, and open app content using natural language.
MCP DuckDB Knowledge Graph Memory Server
A memory server for Claude that stores and retrieves knowledge graph data in DuckDB, enhancing performance and query capabilities for conversations with persistent user information.
Todoist MCP
An MCP server that enables LLMs to interact with Todoist tasks, projects, and other features through the Todoist API.

Notion API MCP Server
Enables advanced todo list management and content organization using Notion's API, supporting features like creating databases, dynamic filtering, and collaborative task tracking.

Airtable MCP Server
A Model Context Protocol server that provides tools for programmatically managing Airtable bases, tables, fields, and records through Claude Desktop or other MCP clients.
Todoist MCP Server
Integrates Claude with Todoist for natural language task management, supporting project and section organization, task creation, updating, completion, and deletion using everyday language.
Todoist MCP Server
An MCP server that integrates Claude with Todoist, enabling natural language task management including creating, updating, completing, and deleting tasks.
Curri MCP Server
Enables interaction with Curri's API by managing text notes, offering tools for note creation, and generating summaries using structured prompts.
Inkdrop MCP Server
Integrates Inkdrop note-taking app with Claude AI through Model Context Protocol, allowing Claude to search, read, create, and update notes in your Inkdrop database.