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,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。
Cognee is the open-source AI memory platform for agents. Give your AI agents persistent long-term memory across sessions with a self-hosted knowledge graph engine.
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.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP