Notion AI助手连接服务

一个连接Claude等AI助手与Notion工作空间的协议服务器,实现AI对Notion数据库、页面和内容块的交互管理。

  • by emmanuelsystems
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 emmanuelsystems/mcpnotionslack

使用说明

MCP服务器概念

一个模型上下文协议(MCP)服务器,将Claude和其他AI助手连接到您的Notion工作区。这种集成允许AI助手与您的Notion数据库、页面和块进行交互。

这是什么?

该工具充当AI助手(如Claude)和您的Notion工作区之间的桥梁。它允许AI:

  • 查看和搜索您的Notion数据库
  • 创建和更新页面
  • 管理内容块
  • 还有更多!

分步设置指南

先决条件

  • Node.js (版本14或更高)
  • Notion账户
  • Claude桌面应用程序(如果与Claude一起使用)

1.获取您的Notion API密钥

  1. 首选 https://www.notion.so/my-integrations
  2. 点击蓝色 “+新集成” 按钮
  3. 填写详细信息:
    • 名字:选择一个名称,如“Claude Assistant”或“AI Helper”
    • 标志:可选
    • 关联工作空间:选择您的Notion工作区
  4. 点击 “提交”
  5. 在下一页,找到 “内部集成令牌” 章节
  6. 点击 “显示” 并复制令牌(它以开头 secret_)

2.设置此服务器

  1. 将此存储库下载到您的计算机

    • 如果你有Git: git clone [repository-url]
    • 或者下载并解压缩ZIP文件
  2. 打开命令提示符或终端

    • Windows:按 Win+R,类型 cmd,然后按Enter键
    • Mac:从应用程序>实用程序打开终端
  3. 导航到下载此存储库的文件夹:

    cd path/to/notion-mcp-server
    
  4. 安装所需的依赖项:

    npm install
    
  5. 创建配置文件:

    • 复制 .env.example 并命名它 .env
    • 打开 .env 文本编辑器中的文件
    • 替换 your_notion_api_key_here 使用您之前复制的令牌
    • 保存文件

3.连接到Notion页面

为了安全起见,Notion要求您明确授予对每个页面或数据库的访问权限:

  1. 打开Notion并导航到您希望AI访问的页面或数据库
  2. 点击 "•••" (三个点)在右上角
  3. 选择 “添加连接”
  4. 查找并选择您之前创建的集成
  5. 对要访问的任何其他页面或数据库重复此操作

4.连接到克劳德桌面

  1. 找到您的Claude Desktop配置文件:

    • 窗户: %APPDATA%\Claude\claude_desktop_config.json (在文件资源管理器地址栏中键入此路径)
    • 雨衣: ~/Library/Application Support/Claude/claude_desktop_config.json (在Finder中,按Cmd+Shift+G并粘贴此路径)
  2. 在文本编辑器中打开文件。如果它不存在,请使用以下内容创建它:

    {
      "mcpServers": {
        "notion": {
          "command": "node",
          "args": [
            "C:\\path\\to\\notion-mcp-server\\server.js"
          ],
          "env": {
            "NOTION_API_KEY": "your_notion_api_key_here"
          }
        }
      }
    }
    
  3. 替换:

    • C:\\path\\to\\notion-mcp-server\\server.js 带有server.js文件的实际路径
      • Windows:在路径中使用双反斜杠(\\)
      • Mac:使用正斜杠(/)
    • your_notion_api_key_here 使用您的Notion API密钥
  4. 保存文件并重新启动Claude Desktop

5.测试连接

  1. 在Claude中开始新的对话
  2. 让Claude与您的Notion工作区进行交互,例如:
    • “显示我的Notion数据库列表”
    • “在我的任务数据库中创建一个标题为“测试任务”的新页面”

可用工具

服务器为AI助手提供以下工具:

  • 列表数据库:查看所有可访问的数据库
  • 查询数据库:从数据库中获取条目
  • 创建页面:向数据库添加新页面
  • 更新页面:修改现有页面
  • 创建数据库:创建新数据库
  • 更新数据库:修改数据库结构
  • 获取页面:查看特定页面
  • 得到阻塞儿童:查看内容块
  • 附加块子项:向页面添加内容
  • 更新块:编辑内容块
  • 获取块:查看特定块
  • 搜索:在工作区中查找内容

故障排除

常见问题:

  1. Claude中的“连接失败”

    • 确保claude_desktop_config.json中的服务器路径正确
    • 检查您的Notion API密钥是否有效
    • 确保Node.js安装正确
  2. 访问Notion内容时“拒绝访问”

    • 确保您已将页面/数据库与集成共享
    • 检查您的API密钥是否具有必要的权限
  3. 服务器无法启动

    • 确保安装了所有依赖项(npm install)
    • 请检查带有API密钥的.env文件是否存在

获取帮助

如果您遇到此处未涵盖的问题,请:

  • 检查控制台输出是否有错误消息
  • 确保您的Notion API密钥有效
  • 验证您的集成是否可以访问页面/数据库

运行测试

环境设置

  1. 复制 .env.example 向 .env
  2. 填写所有必需的令牌,例如 NOTION_API_KEY, NOTION_DATABASE_ID, SLACK_BOT_TOKEN,以及 SLACK_APP_TOKEN

Python测试

直接用Python运行每个测试文件:

python test_notion.py
python test_database.py
python test_create_entry.py
python test_add_content.py
python test_read_content.py
python test_update_entry.py

节点测试

使用Node执行单个Node测试脚本。例如:

node slack-mcp/test_mcp_server.js

许可证

麻省理工学院