X

notion mcp

Information

# notion-mcp [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/Badhansen/notion-mcp) [![smithery badge](https://smithery.ai/badge/@Badhansen/notion-mcp)](https://smithery.ai/server/@Badhansen/notion-mcp) A simple Model Context Protocol (MCP) server that integrates with Notion's API to manage my personal todo list. ## Demo ![Demo](docs/assets/videos/notion-mcp.gif) ## Visual Guide #### Notion MCP Query 1 ![Notion MCP Query 1](docs/assets/images/query1.jpg) #### Notion MCP Query 2 ![Notion MCP Query 1](docs/assets/images/query2.jpg) #### Notion MCP Query 3 ![Notion MCP Query 1](docs/assets/images/query3.jpg) ## Prerequisites - Python 3.11 or higher - A Notion account with API access - A Notion integration token - A Notion page where you want to manage your todo list - Claude Desktop clint ## Setup ### Installing via Smithery To install Notion MCP for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@Badhansen/notion-mcp): \`\`\`bash npx -y @smithery/cli install @Badhansen/notion-mcp --client claude \`\`\` 1. Clone the repository: \`\`\`sh git clone https://github.com/Badhansen/notion-mcp.git cd notion-mcp \`\`\` 2. Set up Python environment: \`\`\`sh uv venv source .venv/bin/activate uv pip install -e . \`\`\` 3. Create a Notion integration: - Go to https://www.notion.so/my-integrations - Create new integration - Copy the API key 4. Share your database/page with the integration: - Open your notion workspace with a database/table present or a page. - Click "..." menu → "Add connections" - Select your integration (Search by name) ## Configuration 1. Create \`.env\` file: \`\`\`sh cp .env.example .env \`\`\` 2. Configure Notion credentials in \`.env\`: \`\`\`markdown NOTION_TOKEN= PAGE_ID= NOTION_VERSION="2022-06-28" NOTION_BASE_URL="https://api.notion.com/v1" \`\`\` 3. To use it with Claude Desktop as intended you need to adjust your \`claude_desktop_config.json\` file. Go to \`Claude Desktop -> Settings -> Developer -> Edit Config\`. Now add the \`Notion\` server configuration. \`\`\`json \{ "mcpServers": \{ "notion-mcp": \{ "command": "uv", "args": [ "--directory", "/Users/username/Projects/Python/notion-mcp/src" /* Path to your project */, "run", "server.py" ] \} \} \} \`\`\` ## Development Project structure: \`\`\`markdown notion-mcp/ ├── docs/ ├── src/ │ └── server.py ├── .env ├── .python-version ├── README.md ├── pyproject.toml └── uv.lock \`\`\` ## Support Functions #### Show Tasks To show all tasks from your Notion workspace, use the \`show_all_todos\` function: \`\`\`json \{ "name": "show_all_todos", "arguments": \{\} \} \`\`\` #### Add Task To add a new task to your Notion workspace, use the \`add_todo\` function: \`\`\`json \{ "name": "add_todo", "arguments": \{ "task": "Your task description" \} \} \`\`\` #### Update Task To update an existing task in your Notion workspace, use the \`complete_todo\` function: \`\`\`json \{ "name": "complete_todo", "arguments": \{ "task_id": "your-task-id" \} \} \`\`\` ## Contributing 1. Fork the repository 2. Create feature branch 3. Submit pull request ## License MIT License. See LICENSE file for details.

Prompts

Reviews

Tags

Write Your Review

Detailed Ratings

ALL
Correctness
Helpfulness
Interesting
Upload Pictures and Videos

Name
Size
Type
Download
Last Modified

Upload Files

  • Community

Add Discussion

Upload Pictures and Videos