MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

N
Notion Workflow MCP

Personal workflow management via Claude CLI + Notion API (MCP Server)

Created 3/21/2026
Updated about 7 hours ago
Repository documentation and setup instructions

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
Quick Setup
Installation guide for this server

Install Package (if required)

uvx notion-workflow-mcp

Cursor configuration (mcp.json)

{ "mcpServers": { "wauwaya-notion-workflow-mcp": { "command": "uvx", "args": [ "notion-workflow-mcp" ] } } }