Skip to main content
Glama

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

  • 19 MCP tools covering task lifecycle, note-taking, subtask management, and aggregations

  • 2 independent Notion databases: 工作流库 (tasks, with project & subtasks) + 笔记库 (notes)

  • 8 slash commands: /capture, /subtask, /task_list, /status, /progress, /note, /daily, /weekly

  • 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, /daily) 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.

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 summary
/daily

# 9. Friday weekly report
/weekly

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

Notes

list_notes get_note create_note append_note search_notes

Aggregations

get_overview get_today_tasks generate_standup generate_weekly_review

Slash Commands

Command

Description

/capture <task> [-p project] [-pri priority] [-d date]

Quick-create a task

/subtask <task_id> <name> [-pri priority]

Add a subtask to a task

/task_list [-p project] [-s status]

View incomplete tasks grouped by project

/status <task_id> <doing|done> <subtask>

Change subtask status

/progress <task_id>

Summarize & save progress to Notion

/note

Summarize current conversation into a note

/daily

Today's progress report (by project)

/weekly

This week's progress report (by project)

Database Schema

工作流库 (Tasks) 名称 · 状态 · 优先级 · 项目 · 截止日期 · 标签 · 备注

Subtasks are embedded in the task page body as structured Markdown:

## 子目标
- [ ] 待办子目标 (🟢 普通)
- [~] 进行中子目标 (🟡 高)
- [x] 已完成子目标 (🔴 紧急)

笔记库 (Notes) 名称 · 类型 · 标签

Notes

  • Built against notion-client 3.0 (data_sources.* API)

  • Two databases are independent — no bidirectional relation between tasks and notes

  • Subtasks use three states: [ ] todo, [~] doing, [x] done

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wauwaya/notion-workflow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server