Notion AI助手服务

一个为AI助手提供Notion工作空间全面访问的MCP服务器,支持搜索、读取、创建和更新页面、数据库及内容块。

  • by m2ai-mcp-servers
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 m2ai-mcp-servers/notion-mcp

使用说明

概念顾问

MCP(模型上下文协议)服务器,为AI助手提供对Notion工作区的完全访问权限。使Claude能够搜索、读取、创建和更新页面、数据库和块。

特性

  • 搜索与发现:搜索工作区中的所有页面和数据库
  • 页面操作:创建、读取、更新和存档页面
  • 内容管理:使用markdown支持添加、更新和删除内容块
  • 数据库操作:使用筛选器和排序查询数据库,创建新数据库
  • 用户管理:列出工作区用户并获取用户详细信息
  • 速率限制:根据通知API限制的内置速率限制(3 req/sec)
  • Markdown转换:markdown和Notion块之间的自动转换

安装

npm install -g @m2ai-mcp/notion-advisor

或者直接与npx一起使用(无需安装):

npx @m2ai-mcp/notion-advisor

配置

1.创建概念集成

  1. 首选 概念整合
  2. 点击“新建集成”
  3. 选择“内部集成”
  4. 授予所需能力:
    • 阅读内容
    • 更新内容
    • 插入内容
    • 读取用户信息(可选)
  5. 复制“内部集成令牌”

2.通过集成共享内容

对于访问页面和数据库的集成:

  1. 在Notion中打开页面或数据库
  2. 点击右上角的“…”菜单
  3. 点击“添加连接”
  4. 选择您的集成

3.设置环境变量

export NOTION_API_KEY=secret_your_integration_token_here

或者创建一个 .env 文件:

NOTION_API_KEY=secret_your_integration_token_here

使用Claude Desktop

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["@m2ai-mcp/notion-advisor"],
      "env": {
        "NOTION_API_KEY": "secret_your_token_here"
      }
    }
  }
}

或者,如果全局安装:

{
  "mcpServers": {
    "notion": {
      "command": "notion-advisor",
      "env": {
        "NOTION_API_KEY": "secret_your_token_here"
      }
    }
  }
}

可用工具

搜索与发现

工具 说明
search 按关键字或标题在所有页面和数据库中搜索

页面操作

工具 说明
get_page 检索页面的属性和元数据
create_page 在数据库中创建新页或作为另一页的子页
update_page 更新页面的属性(不是内容块)
get_page_content 从页面检索所有内容块

区块操作

工具 说明
append_blocks 向页面添加新内容块(支持markdown)
update_block 更新现有块的内容
delete_block 删除(存档)块

数据库操作

工具 说明
get_database 检索数据库架构和属性
query_database 使用筛选器和排序查询数据库
create_database 作为页面的子级创建新数据库

用户操作

工具 说明
list_users 列出工作区中的所有用户
get_user 获取特定用户的详细信息

Markdown支持

服务器支持将普通markdown转换为Notion块:

  • 标题(H1、H2、H3)
  • 粗体、斜体、删除线、内联代码
  • 项目符号和编号列表
  • 复选框/待办事项
  • 带有语言的代码块
  • 链接
  • 引用块
  • 水平线

示例

# My Page Title

This is a paragraph with **bold** and *italic* text.

- Bullet item 1
- Bullet item 2

1. Numbered item
2. Another item

- [ ] Todo item
- [x] Completed item

> A blockquote

\`\`\`javascript
const greeting = "Hello, World!";
\`\`\`

例子

搜索页面

{
  "query": "meeting notes",
  "filter_type": "page",
  "page_size": 10
}

在数据库中创建页面

{
  "parent_id": "database-id-here",
  "parent_type": "database_id",
  "title": "New Task",
  "properties": {
    "Status": { "select": { "name": "In Progress" } }
  },
  "content": "## Task Description\n\nThis is the task content."
}

查询数据库

{
  "database_id": "database-id-here",
  "filter": {
    "property": "Status",
    "select": { "equals": "Done" }
  },
  "sorts": [
    { "property": "Due Date", "direction": "ascending" }
  ]
}

将内容附加到页面

{
  "parent_id": "page-id-here",
  "content": "## New Section\n\nAdding more content to this page.\n\n- Item 1\n- Item 2"
}

已知限制

  • 无法访问未与集成共享的页面
  • 不支持文件/图像上传(请使用URL)
  • API有限公司评论
  • 同步块是只读的

发展

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Run with coverage
npm run test:coverage

许可证

麻省理工学院

作者

我,我自己加AI有限责任公司