概念标签迁移MCP
模型上下文协议(MCP)服务器,用于将Notion数据库标签从多个多选列迁移到统一的类别和标签列。
🎯 目的
此MCP服务器有助于将现有的具有分散的多选标签列的Notion数据库迁移到一个干净、统一的标签系统中,该系统具有:
- 类别:用于主要分类的单选列
- 标签:所有合并标签的多选列
非常适合组织具有3-4年累积数据的“第二大脑”系统等长时间运行的数据库。
🚀 快速开始
先决条件
- Node.js 18+
- Notion集成令牌
- 要迁移的数据库ID
安装
# Install dependencies
pnpm install
# Copy environment template
cp .env.example .env
# Edit .env with your Notion token and database ID
# Then build the project
pnpm build配置
编辑 .env 使用您的设置:
NOTION_TOKEN=secret_your_notion_integration_token
DATABASE_ID=your-database-id-here🛠️ MCP工具
该服务器提供5个主要工具:
1. analyze_database
分析数据库结构并提供迁移建议。
{
database_id: string,
notion_token?: string // optional if set in env
}2. dry_run
预览迁移更改而不执行它们。
{
database_id: string,
notion_token?: string,
limit?: number, // max pages to analyze (default: 10)
config_path?: string // custom config file
}3. migrate_pages
执行实际迁移。
{
database_id: string,
notion_token?: string,
batch_size?: number, // pages per batch (default: 10)
limit?: number, // max pages to migrate
from_page_id?: string, // resume from specific page
dry_run?: boolean // preview mode
}4. get_progress
检查当前迁移进度。
{
migration_id?: string // optional migration ID
}5. backup_database
在迁移之前创建备份。
{
database_id: string,
notion_token?: string,
format?: "json" | "csv" | "both" // default: json
}📋 迁移工作流
- 分析:
analyze_database了解您的数据 - 备份:
backup_database为了安全 - 预览:
dry_run查看拟议的更改 - 迁移:
migrate_pages执行 - 监视器:
get_progress跟踪状态
使用Claude代码的示例用法
# Analyze database structure
mcp__notion-tag-migrate__analyze_database database_id="your-db-id"
# Create backup
mcp__notion-tag-migrate__backup_database database_id="your-db-id" format="both"
# Preview changes (first 10 pages)
mcp__notion-tag-migrate__dry_run database_id="your-db-id" limit=10
# Execute migration
mcp__notion-tag-migrate__migrate_pages database_id="your-db-id" batch_size=5
# Check progress
mcp__notion-tag-migrate__get_progress⚙️ 配置
默认列映射
OLD_MULTI_SELECT_COLUMNS = [
"AI labels", "MCP labels", "AI Agents",
"Site labels", "Web Dev labels", "Brand labels"
]
CATEGORY_SOURCE_COLUMNS = ["Category", "カテゴリ"]
NEW_CATEGORY_COLUMN = "Category"
NEW_TAG_COLUMN = "Tag"安全功能
- 标签标准化:删除重复项、规范间距、处理全角字符
- 速率限制:内置延迟和重试逻辑
- 简历支持:从移民中断的地方继续
- 进度跟踪:实时状态和错误报告
- 备份集成:自动数据保存
📊 报告和输出
所有输出都保存到:
./reports/:模拟运行报告和迁移摘要(JSON/CSV)./backups/:数据库备份(JSON/CSV)./logs/:迁移日志./migration-state/:进度跟踪
🔧 发展
# Development mode
pnpm dev
# Build
pnpm build
# Lint
pnpm lint
# Type check
pnpm typecheck📝 许可证
麻省理工学院
🤝 贡献
欢迎在
______________________________________________________________________
内置于❤️ 适用于管理复杂知识库的Notion高级用户。
