Notion Workflow MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/wauwaya/notion-workflow-mcp
cd notion-workflow-mcp
uv venv --python python3.12
uv pip install -e .
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "NOTION_TOKEN=${NOTION_TOKEN}" -e "WORKFLOW_DATABASE_ID=${WORKFLOW_DATABASE_ID}" -e "NOTES_DATABASE_ID=${NOTES_DATABASE_ID}" notion-workflow -- node "<FULL_PATH_TO_NOTION_WORKFLOW_MCP>/dist/index.js"

Replace <FULL_PATH_TO_NOTION_WORKFLOW_MCP>/dist/index.js with the actual folder you prepared in step 1.

Required:NOTION_TOKENWORKFLOW_DATABASE_IDNOTES_DATABASE_ID
README.md

Personal workflow management via Claude CLI and Notion API

notion-workflow-mcp

Personal workflow management via Claude CLI + Notion API, built as an MCP Server.

Inspired by google-keep-mcp — turns Notion into a personal task and knowledge system driven by slash commands.

Features

  • 20 MCP tools covering task lifecycle, note-taking, subtask management, and aggregations
  • 2 independent Notion databases: 工作流库 (tasks, with project & subtasks) + 笔记库 (notes)
  • 12 slash commands: /capture, /subtask, /task_list, /status, /progress, /note, /review, /standup, /overview, /detail, /done, /find
  • Project-based task management: tasks belong to projects, with embedded subtasks (priority + status)
  • Conversation-to-note: /note auto-summarizes AI conversations into structured notes

Requirements

  • Python 3.11+
  • uv (recommended) or pip
  • Notion account + Integration token

Setup

1. Clone & install

git clone https://github.com/<your-username>/notion-workflow-mcp
cd notion-workflow-mcp
uv venv --python python3.12
uv pip install -e .

2. Configure environment

cp .env.example .env
# Fill in your NOTION_TOKEN, WORKFLOW_DATABASE_ID, NOTES_DATABASE_ID

Getting your IDs:

  • NOTION_TOKEN: notion.so/my-integrations → New integration → copy token
  • Database IDs: Use the init script to auto-discover them (see step 4)

3. Share databases with your Integration

In Notion: open each database → ...Connections → select your integration

4. Initialize database schema

python scripts/init_databases.py

This auto-adds all required properties (状态, 优先级, 项目, 截止日期, 标签, 备注) to your existing databases.

5. Register MCP Server with Claude CLI

claude mcp add notion-workflow -- /path/to/.venv/bin/python /path/to/server.py

Or add manually to ~/.claude/settings.json:

{
  "mcpServers": {
    "notion-workflow": {
      "command": "/path/to/notion-workflow-mcp/.venv/bin/python",
      "args": ["/path/to/notion-workflow-mcp/server.py"]
    }
  }
}

Restart Claude CLI — the MCP server loads automatically.

6. Install slash command skills

Slash commands (like /capture, /note, /review) are Claude Code skills defined in .claude/commands/. They need to be accessible from your working directory.

Option A: Work inside this project directory

If you run claude from the notion-workflow-mcp/ directory, skills are automatically available — Claude Code reads .claude/commands/ from the current directory.

Option B: Make skills globally available

To use the slash commands from any directory, copy them to your global Claude Code commands folder:

# Create global commands dir if it doesn't exist
mkdir -p ~/.claude/commands

# Copy all skills
cp notion-workflow-mcp/.claude/commands/*.md ~/.claude/commands/

Option C: Symlink (auto-sync with updates)

mkdir -p ~/.claude/commands
ln -sf $(pwd)/notion-workflow-mcp/.claude/commands/*.md ~/.claude/commands/

After installation, restart Claude CLI. Verify by typing /capture — it should be recognized as a slash command.

7. Install skills

Skills (like decompose-task) are AI-powered workflows in .claude/skills/. Unlike slash commands, skills are auto-discovered by Claude Code from the current directory — no manual registration needed.

Option A: Work inside this project directory

Skills are automatically available when you run claude from notion-workflow-mcp/.

Option B: Make skills globally available

# Copy all skills to global skills directory
cp -r notion-workflow-mcp/.claude/skills/* ~/.claude/skills/

Option C: Symlink (auto-sync with updates)

for dir in notion-workflow-mcp/.claude/skills/*/; do
  ln -sf "$(cd "$dir" && pwd)" ~/.claude/skills/
done

After installation, restart Claude CLI. Skills will appear in the skill list automatically.

Workflow

# 1. Create a task under a project
/capture 重构Notion MCP -p MCP改造 -d 2026-03-28

# 2. Add subtasks
/subtask abc123 去掉关联功能 -pri 高
/subtask abc123 增加项目字段 -pri 紧急
/subtask abc123 创建skill

# 3. View all incomplete tasks
/task_list

# 4. Start working on a subtask
/status abc123 doing 去掉关联功能

# 5. Ask AI a question, then save the answer as a note
> Go 的 context 包怎么用?
> [AI explains...]
/note

# 6. Mark subtask done
/status abc123 done 去掉关联功能

# 7. Update progress
/progress abc123

# 8. End of day review
/review today

# 9. Friday weekly report
/review this week

MCP Tools

Group Tools
Workflow list_tasks get_task create_task update_task start_task complete_task append_task search_tasks
Subtasks get_subtasks update_subtasks update_subtask_detail
Notes list_notes get_note create_note append_note search_notes
Aggregations get_overview get_today_tasks `generate_st

Tools (19)

list_tasksList all tasks from the workflow database
get_taskRetrieve details for a specific task
create_taskCreate a new task in the workflow database
update_taskUpdate an existing task
start_taskMark a task as started
complete_taskMark a task as completed
append_taskAppend information to a task
search_tasksSearch for tasks based on criteria
get_subtasksRetrieve subtasks for a specific task
update_subtasksUpdate subtask information
update_subtask_detailUpdate specific details of a subtask
list_notesList all notes from the notes database
get_noteRetrieve a specific note
create_noteCreate a new note
append_noteAppend content to an existing note
search_notesSearch through notes
get_overviewGet a high-level overview of tasks
get_today_tasksList tasks due or active today
generate_summaryGenerate a summary of tasks or notes

Environment Variables

NOTION_TOKENrequiredIntegration token from Notion
WORKFLOW_DATABASE_IDrequiredID of the Notion database used for tasks
NOTES_DATABASE_IDrequiredID of the Notion database used for notes

Configuration

claude_desktop_config.json
{"mcpServers": {"notion-workflow": {"command": "/path/to/notion-workflow-mcp/.venv/bin/python", "args": ["/path/to/notion-workflow-mcp/server.py"]}}}

Try it

/capture Refactor the authentication module -p ProjectAlpha -d 2026-04-01
/subtask abc123 Implement OAuth2 flow -pri High
/task_list
/status abc123 doing Implement OAuth2 flow
/note

Frequently Asked Questions

What are the key features of Notion Workflow?

20 integrated MCP tools for task and knowledge management. Project-based task tracking with subtask management. Automated conversation-to-note summarization. Slash command support for rapid workflow interaction. Automated database schema initialization.

What can I use Notion Workflow for?

Managing complex software development projects directly from the Claude CLI. Capturing AI-generated insights as structured notes in Notion. Performing end-of-day reviews of task progress. Tracking daily standup items and project status updates.

How do I install Notion Workflow?

Install Notion Workflow by running: git clone https://github.com/wauwaya/notion-workflow-mcp && cd notion-workflow-mcp && uv venv --python python3.12 && uv pip install -e .

What MCP clients work with Notion Workflow?

Notion Workflow works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Notion Workflow docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare