mcpField
N
notion

notion

github.com/openclaw生産性393.3k5.7k 回インストール今日更新
リポジトリ

notion について

notionは、ntnコマンドラインツールとNotion APIでワークスペースの内容を管理するためのスキルです。日常の編集やスクリプト利用に向け、Markdownページ、データソース、ファイル、Workers、APIリクエストを扱います。

主な機能

  1. 01Markdownでページを作成・更新
  2. 02データソースの検索・絞り込み・並べ替え
  3. 03ファイルとアップロードの管理
  4. 04ntn apiでNotion APIを呼び出し
  5. 05Workersの作成とデプロイ

活用シーン

  1. 01MarkdownファイルからNotionページを作成
  2. 02条件を指定してデータソースを検索
  3. 03スクリプトからNotion APIを呼び出し
  4. 04Workersの実行記録を確認

インストール

コマンドをコピーしてターミナルで実行します。

$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 を使用します。
  • 1 リクエストにつきボディソースは 1 つだけです。

ファイル

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。
  • archived ではなく in_trash を使用してください。
  • ブロックの追加時の位置指定には、フラットな after ではなく position を使用します。
  • transcription ブロックは meeting_notes に名称変更されました。
  • データベースには複数のデータソースを含められます。ページの親には通常 data_source_id を使用します。

コメント