Notion集成任务管理工具

一个与Notion集成的Next.js应用,提供看板、数据表和AI建议等功能,用于敏捷开发和任务管理。

  • by KevinCotoCarrera
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 KevinCotoCarrera/notion_mcp

使用说明

概念MCP-Sprint仪表板和任务管理

Next.js应用程序与Notion集成,使用DeepSeek LLM提供冲刺仪表板、看板、表格查看器和AI支持的建议。

特性

  • 🔐 OAuth集成概念 -使用Notion工作区进行安全身份验证
  • 📊 Sprint仪表板 -用图表和指标可视化冲刺进度
  • 📋 用看板图 -拖放任务管理
  • 📑 表格查看器 -以表格式查看和管理Notion数据库
  • 🤖 AI建议 -使用DeepSeek LLM获取基于AI的任务建议
  • 🌍 多语言支持 -英语和泰语本地化

入门指南

先决条件

  • 已安装Node.js 18+
  • Notion账户
  • (可选)用于AI功能的DeepSeek API密钥

步骤1:创建概念集成

  1. 首选 https://www.notion.so/my-integrations
  2. 点击 “+新集成”
  3. 填写详细信息:
    • 名字: Notion MCP (或您喜欢的任何名称)
    • 关联工作空间:选择您的工作区
    • 类型:选择 “公共融合” (适用于OAuth)
  4. 在...之下 能力,启用:
    • ✅ 阅读内容
    • ✅ 更新内容
    • ✅ 插入内容
  5. 点击 “提交”

步骤2:配置OAuth设置

  1. 在集成设置中,转到 “分布” 标签
  2. 配置OAuth:
    • 重定向URI:添加 http://localhost:3000/api/notion/callback
    • 对于生产,还添加: https://yourdomain.com/api/notion/callback
  3. 复制这些值(接下来您将需要它们):
    • OAuth客户端ID
    • OAuth客户端密钥

步骤3:设置环境变量

  1. 复制环境模板:

    cp .env.example .env.local
    
  2. 编辑 .env.local 并添加您的Notion凭据:

    # Required for Notion integration
    NOTION_CLIENT_ID=your_client_id_here
    NOTION_CLIENT_SECRET=your_client_secret_here
    NOTION_REDIRECT_URI=http://localhost:3000/api/notion/callback
    
    # Optional: For AI-powered suggestions
    DEEPSEEK_API_KEY=your_deepseek_api_key_here
    

步骤4:安装依赖项并运行

# Install dependencies
npm install

# Run the development server
npm run dev

打开 http://localhost:3000 在您的浏览器中。

步骤5:连接您的Notion帐户

  1. 导航到任何Notion功能页面(例如。, /notion/sprint-dashboard)
  2. 点击 “连接到Notion” 按钮
  3. 您将被重定向到Notion以授权该应用程序
  4. 选择要与应用程序共享的页面/数据库
  5. 点击 “允许访问”
  6. 您将被重定向回带有真实Notion数据的应用程序!

步骤6:与集成共享数据库

连接后,您需要与集成共享特定的Notion数据库:

  1. 打开您的Notion工作区
  2. 导航到要使用的数据库
  3. 点击 "•••" 右上角的菜单
  4. 选择 “添加连接”
  5. 搜索并选择您的集成(例如,“Notion MCP”)
  6. 点击 “确认”

对要在应用程序中访问的每个数据库重复此操作。

数据库架构要求

为了使应用程序正常工作,您的Notion数据库应该具有以下属性:

任务/SSprint数据库

  • 标题 (title)-任务名称
  • 状态 (选择)-值: Backlog, To Do, In Progress, Review, Done
  • 优先级 (选择)-值: Low, Medium, High
  • 故事点 (数量)-工作量估算
  • 截止日期 (日期)-任务截止日期
  • 标签/标记 (多选)-任务类别
  • 描述 (富格文本)-可选任务描述

应用程序将自动检测并使用这些属性。

项目结构

src/
├── app/                      # Next.js app directory
│   ├── api/notion/          # Notion API routes
│   │   ├── auth/            # OAuth initiation
│   │   ├── callback/        # OAuth callback handler
│   │   ├── databases/       # Database operations
│   │   └── pages/           # Page operations
│   └── notion/              # Notion feature pages
│       ├── sprint-dashboard/
│       ├── table-viewer/
│       └── llm-suggestions/
├── components/
│   ├── notion/              # Notion-specific components
│   ├── d3/                  # Data visualization
│   └── ui/                  # UI components
├── lib/
│   ├── services/notion/     # Notion service layer
│   │   ├── client.ts        # API client
│   │   ├── auth.ts          # OAuth implementation
│   │   └── transformers.ts  # Data transformers
│   └── config/
│       └── env.ts           # Environment configuration
└── app-types/               # TypeScript types

可用脚本

  • npm run dev -启动开发服务器
  • npm run build -为生产而建
  • npm start -启动生产服务器
  • npm run lint -运行ESLint
  • npm run lint:fix -修复掉毛问题

详细功能

Sprint仪表板

查看冲刺指标、燃尽图和任务分配。包括:

  • 冲刺速度和完成率
  • 故事点细分
  • 任务状态分布
  • 优先级分析
  • 团队成员工作量

用看板图

用于跨不同阶段管理任务的拖放界面:

  • 待办事项→ 待办→ 进行中→ 审查→ Done
  • 视觉故事点和优先级指标
  • 快速筛选和搜索

表格查看器

浏览和管理多个Notion数据库:

  • 可排序列
  • 状态和文本过滤
  • 快速任务编辑
  • 批量操作

LLM建议

使用DeepSeek进行AI驱动的任务分析和建议:

  • 任务优先级建议
  • Sprint计划协助
  • 工作量的均衡
  • 风险识别

故障排除

“需要通知API密钥或访问令牌”错误

  • 确保您已设置 NOTION_CLIENT_ID 和 NOTION_CLIENT_SECRET 在 .env.local
  • 添加环境变量后重新启动开发服务器

“未找到数据库”

  • 确保您与集成共享了至少一个数据库
  • 集成需要连接到Notion中的特定页面

OAuth重定向不起作用

  • 验证重定向URI在以下两者中是否完全匹配:
    • 你的 .env.local 文件
    • 您的Notion集成设置
  • 对于本地开发,请使用: http://localhost:3000/api/notion/callback

“状态参数无效”错误

  • 这是一次安全检查。清除您的Cookie,然后尝试重新进行身份验证
  • 确保您的系统时钟准确

技术栈

  • 框架:Next.js 15,带应用路由器
  • 语言:TypeScript
  • 样式:顺风CSS
  • UI组件:根UI+shadcn/UI
  • 数据可视化:D3.js
  • API集成:通知API+DeepSeek LLM
  • 国际化:下一个intl

贡献

这是一个个人项目,但请随时根据您的需求进行分叉和定制!

许可证

麻省理工学院

支持

对于Notion API问题,请检查:

对于DeepSeek问题: