N.I.L.O. Docs

配置

本文面向使用者,说明如何准备 Notion connection、设置全局 token,以及如何在当前仓库中创建项目级 .notion_mcp 上下文。

Notion 侧准备

在配置 nilo 之前,先在 Notion 中创建一个 internal connection,并把它授权到要操作的 page 或 database。

  1. 创建 Notion internal connection。
  1. 配置 connection capabilities。
  1. 把 connection 授权到目标 page 或 database。
  1. 获取 page id。
nilo page attach "https://www.notion.so/Notion-MCP-3799a1afb97a80489bb0e7384f334958?source=copy_link"
nilo page retrieve "[Notion MCP](https://www.notion.so/Notion-MCP-3799a1afb97a80489bb0e7384f334958?source=copy_link)"
  1. 获取 database id。
  1. 获取 data source id。
nilo database sources <database_id>
  1. 查看当前 token 对应身份。
nilo config --global user.token ntn_xxx
nilo auth whoami --json

参考官方文档:

全局配置

全局配置保存当前用户的 token、用户名、Notion API version、timeout、retry 等运行参数。默认写入:

~/.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

config --global --show 会显示:

它不会输出 token 明文。

项目级配置

项目级配置让 CLI 像 Git 一样从当前目录向上查找项目上下文。这样在项目目录中工作时,不需要每次都手动输入 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 Attach

page attach 用于绑定当前项目默认 page,不是上传文件附件。

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

取消绑定:

nilo page detach

刷新本地状态:

nilo page refresh

page refresh 只重新从 Notion 拉取标题、URL 和状态并更新本地状态,不修改 Notion 远端 page。

Database Attach

Database 是容器,data source 是容器下的具体表。database attach 状态会保存当前绑定 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 标题、URL、data sources 和状态并更新本地状态,不修改 Notion 远端 database。

常见工作流

设置全局 token 并初始化当前仓库:

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 后读取页面:

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

绑定 database 后查询 active data source:

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

配置命令统一使用:

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