NotionMCP Server
A Python server that integrates MCP with Notion to automate documentation workflows and manage Notion via LLMs.
Features
- Exposes MCP tools for creating, updating, and searching Notion pages
- Converts plain text and markdown-like content into Notion blocks
- Supports appending and replacing content in Notion pages
- Provides debug information for troubleshooting
Requirements
- Python 3.10+
- Notion integration token and parent page ID
- MCP server and CLI
- See requirements.txt for Python dependencies
Setup
-
Clone the repository and navigate to the project directory.
-
Install dependencies:
pip install -r requirements.txt -
Configure environment variables:
- Find the related API key and parent page ID from your Notion
- API key is the integration key
- Parent page ID is the target page we use to interact with LLMs prompt
- Set
NOTION_API_KEYandNOTION_PARENT_IDin.envfile
-
Run the server:
python notionMCP_server.py -
Edit LLMs config file to recognize MCP server:
- In this project, I used Claude desktop, here is how to edit the config
- Find
claude_desktop_config.jsonand edit as follows:
{ "mcpServers": { "NotionMCP": { "command": "path_to_the_exe_python_file_running_your_server", "args": ["path_to_python_server_file(notionMCP_server.py)"], "env": {} } } }- Use
which pythonto find the executable python file running your server
License
MIT License
