Wraps Notion's API to give Claude direct access to your workspace through MCP. You can query databases, create and update pages, search across content, and retrieve block children without switching contexts. Sets up cleanly via Smithery or manual config, requires a Notion integration token and database sharing permissions. Built on httpx with Pydantic v2 models and proper async support. Solid choice when you need Claude to read from databases, draft pages, or search through your Notion content as part of larger workflows.
A Model Context Protocol (MCP) server implementation for Notion integration, providing a standardized interface for interacting with Notion's API. Compatible with Claude Desktop and other MCP clients.
To install Notion Integration Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ccabanillas/notion-mcp --client claude
git clone https://github.com/ccabanillas/notion-mcp.git
cd notion-mcp
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
Alternatively, using standard venv:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e .
.env file in the project root:NOTION_API_KEY=your_notion_integration_token
python -m notion_mcp
claude_desktop_config.json file (located at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):{
"servers": {
"notion-mcp": {
"command": "/Users/username/Projects/notion-mcp/.venv/bin/python",
"args": ["-m", "notion_mcp"],
"cwd": "/Users/username/Projects/notion-mcp"
}
}
}
Be sure to replace /Users/username/ with your actual home directory path.
notion-mcp/
├── src/
│ └── notion_mcp/
│ ├── models/
│ │ ├── __init__.py
│ │ └── notion.py # Pydantic models for Notion objects
│ ├── __init__.py
│ ├── __main__.py # Entry point
│ ├── client.py # Notion API client
│ └── server.py # MCP server implementation
├── .env # Environment variables (add your Notion API key here)
├── .gitignore
├── pyproject.toml # Project dependencies
└── README.md
pytest
The server requires a Notion integration token. To set this up:
.env file in the project root directory:NOTION_API_KEY=your_notion_integration_token
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)MIT License - Use at your own risk
csoai-org/pdf-document-mcp
xt765/mcp-document-converter
io.github.xjtlumedia/markdown-formatter
io.github.ai-aviate/better-notion
suekou/mcp-notion-server
meterlong/mcp-doc