mcpField
N
notion

notion

github.com/openclaw生产力393.3k5.7k 次安装今天更新
代码仓库

关于 notion

notion 是指导通过 ntn 命令行和 Notion API 管理工作区内容的技能,适用于自动化脚本和日常内容操作。它涵盖 Markdown 页面、数据源、文件与 Workers,并提供原始 API 请求方式。

主要功能

  1. 01用 Markdown 创建和更新页面
  2. 02查询数据源并筛选排序
  3. 03管理文件与上传内容
  4. 04通过 ntn api 调用 Notion API
  5. 05创建和部署 Workers

适用场景

  1. 01从 Markdown 文件创建 Notion 页面
  2. 02按条件查询数据源记录
  3. 03脚本中执行 Notion API 请求
  4. 04查看 Workers 运行记录

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/openclaw/openclaw --skill notion

安装后在 Claude Code 中输入/notion确认已加载。

详细介绍

Notion

优先使用官方 ntn CLI。仅在 ntn 不可用或原始请求更清晰时使用 curl。

设置

npm install -g ntn
ntn --version
ntn login

脚本/无头认证:

export NOTION_API_TOKEN=secret_or_ntn_token
export NOTION_API_VERSION=2026-03-11

ntn api 会自动设置 Authorization 和 Notion-Version。默认使用 CLI 登录;如果设置了 NOTION_API_TOKEN,则使用该令牌。

检查

ntn doctor
ntn api ls
ntn api ls --json
ntn api v1/comments --help
ntn api v1/comments --spec -X POST
ntn api v1/comments --docs -X POST

页面

优先使用 Markdown 的辅助工具:

ntn pages get <page-id>
ntn pages get <page-id> --json
ntn pages create --parent page:<page-id> --content '# Title\n\nBody'
ntn pages create --parent data-source:<data-source-id> < page.md
ntn pages update <page-id> --content '# Updated'
ntn pages update <page-id> < page.md
ntn pages trash <page-id> --yes

注意:

  • pages get 会以页面属性作为前置元数据输出 Markdown。
  • 内容输入方式:--content、标准输入,或在 TTY 中使用编辑器。
  • 父级引用:page:<id>、database:<id>、data-source:<id>。
  • 如需使用属性、模板或完整的 Pages API,请使用 ntn api v1/pages。

数据源

ntn datasources resolve <database-id>
ntn datasources resolve <database-id> --json
ntn datasources query <data-source-id>
ntn datasources query <data-source-id> --limit 50 --json
ntn datasources query <data-source-id> --sort 'Date desc'
ntn datasources query <data-source-id> --filter '{"property":"Done","checkbox":{"equals":true}}'

拥有数据库 ID 时使用 resolve。查询需要数据源 ID。

原始 API

ntn api v1/users/me
ntn api v1/search query=roadmap page_size:=10
ntn api v1/pages 'parent[data_source_id]='"$DS_ID" 'properties[Name][title][0][text][content]=New item'
ntn api "v1/pages/$PAGE_ID" -X PATCH in_trash:=true
ntn api "v1/blocks/$PAGE_ID/children" -X PATCH \
  'children[0][type]=paragraph' \
  'children[0][paragraph][rich_text][0][text][content]=Hello'

输入语法:

  • path=value:字符串正文字段。
  • path:=json:强类型 JSON 正文字段。
  • name==value:查询参数。
  • Header:Value:请求标头。
  • 对于较大的正文,使用 --data '<json>' 或标准输入 JSON。
  • 每个请求只能使用一种正文来源。

文件

ntn files create < image.png
ntn files create --filename photo.png --content-type image/png < /tmp/photo
ntn files create --external-url https://example.com/photo.png
ntn files get <upload-id>
ntn files list

工作器

ntn workers new
ntn workers deploy
ntn workers list --json
ntn workers runs list --json
ntn workers runs logs <run-id>

工作器可能需要 Business/Enterprise 套餐,并需在工作区中启用。

curl 回退方案

curl -sS "https://api.notion.com/v1/users/me" \
  -H "Authorization: Bearer $NOTION_API_TOKEN" \
  -H "Notion-Version: 2026-03-11" \
  -H "Content-Type: application/json"

版本说明

  • 当前最新 API 版本:2026-03-11。
  • 使用 in_trash,而不是 archived。
  • 附加块的位置设置使用 position,而不是扁平的 after。
  • transcription 块已重命名为 meeting_notes。
  • 数据库可以包含多个数据源;页面父级通常使用 data_source_id。

评论

支持 Markdown