smithery.ai

noti

Notion CLI tool for managing pages, databases, and content. Use when working with Notion data, creating/updating pages, querying databases, or syncing content.

First seen Apr 15, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 10,341 B
  • docs SUMMARY.md 171 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

noti - Notion CLI Tool Skill

noti is a CLI tool for operating Notion from the command line. With this skill, you can create/edit pages, manipulate databases, search, and more.

Command Selection Guide (AI向け判断フロー)

Q: 何を操作したいか?

やりたいこと コマンド 例
ページの本文を読む page get noti page get <id>
ページを新規作成 page create noti page create <parent_id> doc.md
ページの本文を書き換え page update noti page update <id> new.md -f
ページの末尾に追記 page append noti page append <id> extra.md
ページを削除 page remove noti page remove <id> -f
DB一覧を確認 database list noti database list
DBのプロパティ定義を確認 database schema noti database schema <db_id>
DBを条件検索 database query noti database query <db_id> -f "Status=Done"
DBを一括エクスポート database export noti database export <db_id> -f csv -o data.csv
DBにCSVインポート database import noti database import -f data.csv -d <db_id>
DB行のプロパティを読む database page get noti database page get <page_id>
DB行を新規追加 database page add noti database page add <db_id> data.json
DB行のプロパティを更新 database page update noti database page update <page_id> data.json
DB行を削除 database page remove noti database page remove <page_id> -f
ワークスペース横断検索 search noti search "キーワード"
コメントを操作 page comment noti page comment add <id> "コメント"

重要な区別:

  • page update = Markdownで本文コンテンツを置換(既存ブロックをすべて削除して新規作成)
  • database page update = JSONでプロパティ値(Status, Priority等)のみ更新(本文は変更しない)
  • page create = 親ページ配下に子ページを作成
  • database page add = データベースに新しい行を追加

Installing noti

# Install from npm
npm install -g @hirokidaichi/noti

Or build from source:

git clone https://github.com/hirokidaichi/noti.git
cd noti
npm install && npm run build && npm link

Installing the Skill

# Install to user directory (available for all projects)
noti setup-skills --user

# Install to project directory (this project only)
noti setup-skills --project

Initial Setup

Set your Notion API token:

noti configure --token <your_token>

# Check current settings
noti configure --show

Get your Notion Integration Token from https://www.notion.so/my-integrations

Page Operations

Get Page

# Get as Markdown (default)
noti page get <page_id_or_url>

# Get as JSON
noti page get <page_id_or_url> --format json

# Output to file
noti page get <page_id_or_url> -o output.md

Create Page

# Create page from Markdown file
noti page create <parent_page_id> content.md

# Create with specific title
noti page create <parent_page_id> content.md -t "New Page"

The first # heading in the Markdown file is used as the title (can be overridden with -t option).

Update Page

# Replace page content (-f required)
noti page update <page_id> new_content.md -f

Append to Page

noti page append <page_id> additional_content.md

Delete Page

# -f option required
noti page remove <page_id> -f

Database Operations

List Databases

# Tab-separated list
noti database list

# JSON output
noti database list --json

Show Database Schema

# Table format (human/AI readable)
noti database schema <database_id>

# JSON format (full property definitions)
noti database schema <database_id> --json

# Output to file
noti database schema <database_id> --json -o schema.json

Shows property names, types, and available options (select/multi_select/status). Use --json to get detailed type information for programmatic use.

Query Database

# Basic query
noti database query <database_id>

# Query with filter
noti database query <database_id> -f "Status=Done"
noti database query <database_id> -f "Priority!=Low" -f "Status=In Progress"

# Query with sort
noti database query <database_id> -s "Name:asc"
noti database query <database_id> -s "created_time:desc"

# Combined query
noti database query <database_id> -f "Status=Done" -s "Name:asc" --limit 10

Filter Operators:

演算子 意味 例 対応プロパティ型
= 一致 "Status=Done" all
!= 不一致 "Status!=Todo" all
> より大きい "Priority>3" number, date
< より小さい "Priority<5" number, date
>= 以上 "Score>=80" number, date
<= 以下 "Score<=100" number, date
contains 含む "Tags contains Feature" text, multi_select
!contains 含まない "Tags !contains Bug" text, multi_select

複数フィルタは AND 条件: -f "Status=Done" -f "Priority>3"

Export Database

# JSON format
noti database export <database_id> -f json -o data.json

# CSV format
noti database export <database_id> -f csv -o data.csv

# Markdown format
noti database export <database_id> -f markdown -o data.md

Import to Database

# Import from CSV
noti database import -f data.csv -d <database_id>

# Dry run (validation only)
noti database import -f data.csv -d <database_id> --dry-run

# Use mapping file
noti database import -f data.csv -d <database_id> --map-file mapping.json

Create Database

# Create with schema JSON file
noti database create <parent_page_id> schema.json

Schema JSON format:

{
  "title": "Task Management",
  "properties": {
    "Name": { "type": "title" },
    "Status": { "type": "select", "options": ["Todo", "In Progress", "Done"] },
    "Priority": { "type": "number" },
    "DueDate": { "type": "date" }
  }
}

Database Page Operations

# Add page from JSON file
noti database page add <database_id> page_data.json

# Get page
noti database page get <page_id>

# Update page properties from JSON file
noti database page update <page_id> page_data.json

# Delete page (-f required)
noti database page remove <page_id> -f

Page data JSON format (used for both add and update):

{
  "properties": {
    "Name": "Task Name",
    "Status": "Todo",
    "Priority": 1
  }
}

For update, only the specified properties are changed; other properties remain unchanged.

Comment Operations

# Get comments
noti page comment get <page_id>

# Display as threads
noti page comment get <page_id> -f thread

# Add comment
noti page comment add <page_id> "Comment content"

# Reply to thread
noti page comment reply <page_id> <thread_id> "Reply content"

# List threads
noti page comment list-threads <page_id>

Search

# Keyword search
noti search "search keyword"

# JSON output
noti search "keyword" --json

# Limit results
noti search "keyword" --limit 50

Block Operations

# Get block
noti block get <block_id>

# Get with children
noti block get <block_id> -c

# List blocks
noti block list <page_id>

# Delete block (-f required)
noti block delete <block_id> -f

Alias Management

Set aliases for frequently used pages:

# Add alias
noti alias add mypage <page_id_or_url>

# Set alias (same as add)
noti alias set mypage <page_id_or_url>

# List aliases
noti alias list

# Remove alias
noti alias remove mypage

# Open page using alias
noti open mypage

User Information

# Current user
noti user me

# List workspace users
noti user list

# Get specific user
noti user get <user_id>

Open in Browser

noti open <page_id_or_url_or_alias>

Examples: Typical Workflows

1. Create and Save Meeting Notes

# Write meeting notes in Markdown and save to Notion
echo "# Meeting Notes 2024-01-15

## Attendees
- Alice
- Bob

## Agenda
1. Project progress
2. Next actions

## Decisions
- Finalize design by next week
" > meeting.md

noti page create <parent_page_id> meeting.md

2. Search and Update Tasks

# Search incomplete tasks
noti database query <task_db_id> -f "Status!=Done" -s "Priority:desc"

# Check specific task
noti database page get <task_page_id>

3. Data Backup

# Export entire database as CSV
noti database export <database_id> -f csv -o backup_$(date +%Y%m%d).csv

4. Bulk Data Import

# Import to database from CSV
noti database import -f new_data.csv -d <database_id> --dry-run  # Validate first
noti database import -f new_data.csv -d <database_id>            # Execute

Property Types Reference

以下のプロパティ型がサポートされています(database page add/update のJSONで使用):

型 JSONでの値の例 説明
title "タイトル文字列" ページのタイトル(DB内で1つ)
rich_text "テキスト文字列" リッチテキスト
number 42 数値
select "Option1" 単一選択
multi_select ["Tag1", "Tag2"] 複数選択(配列)
checkbox true / false チェックボックス
date "2026-01-01" 日付(ISO 8601)
url "https://example.com"; URL
email "[email protected]" メールアドレス
phone_number "+81-90-1234-5678" 電話番号

Notes

  • Page ID, database ID, or Notion URL can be specified
  • Set aliases to access with short names instead of IDs or URLs
  • Use --debug or -d option for detailed logs
  • Destructive operations (delete, update) require -f option
  • --json 出力は他のコマンドやスクリプトとの連携に便利です
  • 出力のIDは他のnotiコマンドにそのまま渡せます
  • エラーメッセージは stderr、データ出力は stdout に出力されます(パイプ対応)