notion-mcp
A simple Model Context Protocol (MCP) server that integrates with Notion's API to manage my personal todo list.
Documentation
notion-mcp
A simple Model Context Protocol (MCP) server that integrates with Notion's API to manage my personal todo list.
Demo

Visual Guide
Notion MCP Query 1

Notion MCP Query 2

Notion MCP Query 3

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:
npx -y @smithery/cli install @Badhansen/notion-mcp --client claude1. Clone the repository:
git clone https://github.com/Badhansen/notion-mcp.git
cd notion-mcp2. Set up Python environment:
uv venv
source .venv/bin/activate
uv pip install -e .3. Create a Notion integration:
4. Share your database/page with the integration:
Configuration
1. Create `.env` file:
cp .env.example .env2. Configure Notion credentials in `.env`:
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.
{
"mcpServers": {
"notion-mcp": {
"command": "uv",
"args": [
"--directory",
"/Users/username/Projects/Python/notion-mcp/src" /* Path to your project */,
"run",
"server.py"
]
}
}
}Development
Project structure:
notion-mcp/
├── docs/
├── src/
│ └── server.py
├── .env
├── .python-version
├── README.md
├── pyproject.toml
└── uv.lockSupport Functions
Show Tasks
To show all tasks from your Notion workspace, use the `show_all_todos` function:
{
"name": "show_all_todos",
"arguments": {}
}Add Task
To add a new task to your Notion workspace, use the `add_todo` function:
{
"name": "add_todo",
"arguments": {
"task": "Your task description"
}
}Update Task
To update an existing task in your Notion workspace, use the `complete_todo` function:
{
"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.
Frequently asked questions
What is notion-mcp?
notion-mcp is A simple Model Context Protocol (MCP) server that integrates with Notion's API to manage my personal todo list.
How do I install notion-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is notion-mcp open source?
Yes — it is hosted on GitHub at https://github.com/Badhansen/notion-mcp and has 26 stars.
Related MCP tools
🙌 OpenHands: Code Less, Make More for the Model Context Protocol. Enhance AI assistants with powerful integrations. Python-based implementation.
Universal memory layer for AI Agents; Announcing OpenMemory MCP - local and secure memory management. Python-based implementation.
基于大模型搭建的聊天机器人,同时支持 微信公众号、企业微信应用、飞书、钉钉 等接入,可选择ChatGPT/Claude/DeepSeek/文心一言/讯飞星火/通义千问/ Gemini/GLM-4/Kimi/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。
An LLM agent that conducts deep research (local and web) on any given topic and generates a long report with citations. Built for the Model Context Protocol to
🚀 The fast, Pythonic way to build MCP servers and clients Trusted by 19900+ developers. Trusted by 19900+ developers. Trusted by 19900+ developers.
🔥 MaxKB is an open-source platform for building enterprise-grade agents. MaxKB 是强大易用的开源企业级智能体平台。 for the Model Context Protocol. Enhance AI assistants with po
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP