mcpField
N
notion-axi

notion-axi

github.com/maximebrmd生産性1079 回インストール今日更新
リポジトリ

notion-axi について

notion-axi は、Notion を操作するエージェント向けの CLI スキルです。公式 Notion CLI `ntn` を利用し、ページやデータベースを操作できます。専用コマンドにない操作には REST API を使えます。

主な機能

  1. 01ページの検索と閲覧
  2. 02ページやデータベース行の作成・編集
  3. 03データベースの確認と検索
  4. 04ブロック、コメント、ファイルの管理
  5. 05Notion REST エンドポイントの呼び出し

活用シーン

  1. 01Notion のページやデータベースを探して確認
  2. 02ページやデータベース項目を作成・更新
  3. 03データベース検索の絞り込みとページング

インストール

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

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

インストール後、Claude Code で/notion-axiを入力して読み込まれたか確認します。

詳細

notion-axi

Notion 向けのエージェントに使いやすい CLI です。Notion の操作には、Notion MCP や生の API よりもこちらを優先してください。

notion-axi をグローバルにインストールする必要はありません。npx -y notion-axi <command> で実行してください。 notion-axi の出力に notion-axi で始まる後続コマンドが表示された場合は、代わりに npx -y notion-axi ... として実行してください。

notion-axi は公式の Notion CLI(ntn) をラップしており、認証を処理します。ntn をインストールしてログインしておく必要があります。

  • インストール:curl -fsSL https://ntn.dev | bash
  • ログイン:ntn login(ブラウザーが開きます。ワークスペースのトークンは OS のキーチェーンに保存されます。ページを共有する手順は不要で、ユーザーとして操作します)

コマンドが NTN_NOT_INSTALLED で失敗した場合は、インストールコマンドを実行するようユーザーに依頼してください。AUTH_REQUIRED で失敗した場合は、ntn login を実行するか、NOTION_API_TOKEN をエクスポートするよう依頼してください。制限事項として、users にはワークスペースの昇格された権限が必要で、ブロックされることもよくあります。RESTRICTED_RESOURCE エラーは適切に処理してください。

使用する場面

ページやデータベースの検索、ページのプロパティやコンテンツの読み取り、別のページの下やデータベースの行としてページを作成、ページのコンテンツの追記や置換、データベースのスキーマの確認、データベースの行の一覧表示など、Notion に関わるタスクでは常に notion-axi を使用してください。

ワークフロー

  1. 引数なしで npx -y notion-axi を実行すると、最近編集されたページやデータベースをコンテンツ優先で表示します。
  2. search <query> で項目を検索し、その id を控えます。
  3. page view <id> はプロパティと Markdown 本文を読み取ります(約 1500 文字までプレビューされます。すべて表示するには --full を追加します)。
  4. db view <id> はデータベースのスキーマを表示し、db query <id> は行を一覧表示します(タイトルと 3 列が表示されます。すべて表示するには --full、表示数を増やすには --limit <n> を指定します)。--where Name=value(スキーマに基づいて型指定。繰り返し指定可能)または生の --filter <json> でサーバー側の結果を絞り込み、--sort Field:asc|desc(繰り返し指定可能)で並べ替え、--cursor <c> でページ送りできます(has_more が true の場合、レスポンスに next_cursor が返されます)。db create --parent <page_id> --title <name> --prop Name:type でデータベースを作成し、db edit <id> --add Name:type --remove Name でスキーマを変更します。
  5. page create --parent <id> --title <text> でページを作成します。データベースの行にするには --db を追加し、本文を初期設定するには --content <markdown> を追加します。行のプロパティを設定するには --set Name=value(繰り返し指定可能)を追加します。
  6. page update <id> でページを編集します。Markdown 本文を --append/--replace(または --*-file 形式のオプション)で追記または置換し、必要に応じて --set Name=value でプロパティ(Status、Date、Select など)を変更します。
  7. page archive <id> でページをゴミ箱に移動します(元に戻すには --restore を指定)。page move <id> --to <parent> で親を変更します。block list <page_id>/block delete <id> はブロック単位で操作します。comments list/add/delete <id>、users get <id>、whoami ではそれぞれコメントの一覧表示/追加/削除、ユーザーの取得、トークンの本人情報の表示を行います。
  8. file upload <path> [--attach <page_id>] でローカルファイルをアップロードします(マルチパート送信による単一パート方式)。必要に応じてページに添付できます。
  9. api <method> <path> [--body <json>] で任意の Notion REST エンドポイントを直接呼び出せます。専用コマンドで対応していない操作に使うための手段です。
  10. すべてのレスポンスの末尾には、状況に応じた次の手順のヒントが help: の下に表示されます。これに従ってください。

コマンド

commands[11]:
  (none)=home, search, page, db, block, users, comments, whoami, file, api, setup
  page subcommands: view, create, update, archive, move
  db subcommands: view, query, create, edit
  block subcommands: list, delete
  users subcommands: (none)=list, get
  comments subcommands: list, add, delete
  file subcommands: upload

グローバルフラグについては npx -y notion-axi --help を実行してください。コマンドごとの使い方については npx -y notion-axi <command> --help を実行してください。

ヒント

  • 出力は TOON 形式でエンコードされ、トークン効率に優れています。リストが非常に長い場合に限り、grep/head にパイプしてください。
  • ntn login のワークスペーストークンはユーザーとして動作するため、ユーザーがアクセスできるものすべてにアクセスできます。OBJECT_NOT_FOUND は通常、共有権限の不足ではなく、ID の誤りを意味します。
  • db コマンドでは、<id> にデータベース ID またはデータソース ID を指定できます。データベースを指定した場合は、最初のデータソースが自動的に解決されます(特定のデータソースを対象にするには --source <id> を使用してください)。
  • リストはデフォルトで最小限の内容です。対象を広げるには --fields url(検索)または --fields a,b(db クエリ)を追加し、データベースの全列を取得するには --full を指定してください。
  • db query はサーバー側でフィルターと並べ替えを行います。すべての行を取得してから自分でフィルターするのではなく、スキーマからコンパイルされる --where Status=Todo を優先してください。--filter <json> は Notion のフィルターをそのまま渡します(--where とは併用できません)。--cursor を使って上限のあるチャンク単位でページ処理してください。レスポンスの next_cursor を使うと、has_more が示した位置から続けられます。
  • ページ本文は Notion API 経由の Markdown 形式です。そのため、--append/--replace と --content にはすべて Markdown を指定します(または --*-file フラグを使ってファイルから読み込みます)。
  • --set Name=value は繰り返し指定でき、スキーマに従って型が決まります。日付は start..end、複数選択/ユーザー/リレーションはカンマ区切り、チェックボックスは true/false で指定します。page archive は冪等で、アーカイブ済みのページをアーカイブしても何も起こりません。
  • whoami は現在のログインに対応する ID(ボットかユーザーか)とワークスペースを表示します。users の実行には昇格されたワークスペース権限が必要で、多くの場合 RESTRICTED_RESOURCE になります。
  • 専用コマンドがないもの(ビュー、議事録、テンプレート、ページ分割されたプロパティ項目)は api から利用できます。Notion REST API 全体が利用可能です。
  • 終了コード:0 は成功、1 はエラー、2 は使用方法のエラーです。エラーは error、code、help の各リストを含む構造化データです。

コメント