N.I.L.O. Docs

設定

この文書では、Notion internal connection の準備、グローバル token の保存、プロジェクトローカル .notion_mcp/ context の作成方法を説明します。

Notion access を準備する

nilo を設定する前に、Notion internal connection を作成し、操作したい page または database にアクセス権を付与します。

  1. Notion internal connection を作成します。
  1. connection capabilities を設定します。
  1. connection を対象 content に共有します。
  1. page ID を取得します。
nilo page attach "https://www.notion.so/Example-3799a1afb97a80489bb0e7384f334958?source=copy_link"
nilo page retrieve "[Example](https://www.notion.so/Example-3799a1afb97a80489bb0e7384f334958?source=copy_link)"
  1. database ID を取得します。
  1. data source ID を取得します。
nilo database sources <database_id>
  1. token identity を確認します。
nilo config --global user.token ntn_xxx
nilo auth whoami --json

グローバル設定

グローバル設定は、Notion token、表示名、Notion API version、timeout、retry などのユーザー単位の runtime 設定を保存します。

デフォルトパス:

~/.notion_mcp/config.json

別ファイルを使う場合:

NOTION_MCP_CONFIG=/path/to/config.json nilo config --global --show

よく使うコマンド:

nilo config --global user.token ntn_xxx
nilo config --global user.name "Ada"
nilo config --global --show
nilo config --global --show --json

nilo config --global --show は token の有無を表示しますが、生の token は表示しません。

プロジェクトローカル設定

プロジェクトローカル設定は、Git のように現在の directory から上位へ context を探索します。プロジェクト内で作業するとき、page ID、database ID、data source ID を毎回指定しなくて済みます。

保存場所:

.notion_mcp/config.json

ここには token は保存されません。token はグローバル設定に保存されます。

初期化:

nilo init --project-name "Demo"
nilo init --workspace-hint "Team Workspace" --json

確認:

nilo config --local --show
nilo config --local --show --json
nilo pwd

設定例:

{
  "schema_version": 1,
  "project_name": "Demo",
  "workspace_hint": "Team Workspace",
  "settings": {
    "prefer_attached_page": true,
    "prefer_attached_database": true,
    "json_output_default": false
  }
}

Page attachment

page attach は現在のプロジェクトの default page を binding します。ファイル添付ではありません。

nilo page attach <page_id>
nilo page status
nilo page retrieve
nilo page blocks

解除:

nilo page detach

ローカル状態の更新:

nilo page refresh

page refresh は Notion から title、URL、status を取得してローカル状態だけを更新します。リモート page は変更しません。

Database attachment

database は container、data source はその中の table です。database attachment は bound database と active data source を保存します。

nilo database attach <database_id>
nilo database attach <database_id> --data-source <data_source_id_or_name>
nilo database status
nilo database query --payload '{"page_size": 10}'

解除:

nilo database detach

ローカル状態の更新:

nilo database refresh

database refresh は Notion から database title、URL、data sources、status を取得してローカル状態だけを更新します。リモート database は変更しません。

よく使う workflow

グローバル token を設定して現在の repository を初期化します。

nilo config --global user.token ntn_xxx
nilo config --global user.name "Ada"
nilo config --global --show
nilo init --project-name "Demo"
nilo config --local --show

page を attach して読む:

nilo page attach <page_id>
nilo page retrieve
nilo page blocks --tree

database を attach して active data source を query する:

nilo database attach <database_id> --data-source Tasks
nilo database sources
nilo database query --payload '{"page_size": 10}'

data source を明示的に操作する:

nilo data-source query <data_source_id> --payload '{"page_size": 10}'
nilo data-source property rename <data_source_id> Status State