esa CLIとesa Skillsを公開しました

今回のリリース内容

2026-08-10-2.png (711.7 KB)

esa の公式 CLI esa CLI と、AI エージェント向けのスキル集 esa Skills を公開しました。

esa CLI では、記事・コメント・カテゴリ・添付ファイルなどの操作をコマンドラインから操作できます。

はじめかた

  1. Owner がチームの「アクセス設定 > リモートMCP・esa CLI の OAuth」でアクセス方針を設定する
  2. 各メンバー が esa CLI をインストールし、esa auth login で認可する
Important

SETTINGS > API・アプリ・MCP > アクセス設定 > リモートMCP・esa CLI の OAuth

  • デフォルトは「すべてのアクセスをブロックする」です。まず Owner が許可しないとメンバーは利用できません。
  • リモートMCPサーバーと共通の設定です。すでにリモートMCPサーバーを許可しているチームでは、そのまま esa CLI もご利用いただけます。

インストール

Tip

Node.js 24.18.0 以降が必要です。

npm install --ignore-scripts -g @esaio/esa-cli

--ignore-scripts はインストール時のスクリプト実行を無効にする npm のオプションです。esa CLI はインストールスクリプトを使わないので、付けたままで問題なく動きます。
README: https://github.com/esaio/esa-cli

npxでもお試し可能です。

sh
npx --ignore-scripts @esaio/esa-cli auth status

認証

以下のコマンドでログイン可能です。

sh
esa auth login

ブラウザが開くので、内容を確認して許可します。

image.png (180.8 KB)

許可すると端末に戻り、そのままコマンドが使えるようになります。

image.png (60.8 KB)

取得したトークンは OS 標準の資格情報ストア(macOS Keychain / Windows Credential Manager / Linux Secret Service)に保存されます。

必要な権限だけを渡したい場合は、要求するスコープを絞れます。

sh
esa auth login --scopes "read:post read:comment"   # 読み取りのみ

CI などブラウザを開けない環境では、環境変数 ESA_ACCESS_TOKEN に Personal Access Token(PAT v2 を推奨)を設定すれば、OAuth なしで利用できます。この場合、チームの PAT v2 の設定が「Ownerの承認により許可する」になっていれば、APIアクセスリクエスト として Owner の承認が必要です。

Owner によるチーム単位のアクセス制御

esa CLI は OAuth App v2 のアプリとしてチームにアクセスします。SETTINGS > API・アプリ・MCP > アクセス設定 > リモートMCP・esa CLI の OAuth から、チームの方針を次の4つから選べます。

  • すべてのアクセスを許可する
    • リモートMCP・esa CLI のアクセスを制限なく許可します。
  • ポリシーにより制限する
    • ポリシーを設定して、リモートMCP・esa CLI がアクセスできるスコープやカテゴリを制限できます。
  • ポリシーにより制限し、Owner の承認を必要とする
    • ポリシーでスコープ・カテゴリを制限したうえで、メンバーが利用しようとしたリモートMCP・esa CLI を Owner が個別に承認・拒否できます。承認したアプリのみがチームのデータにアクセスできます。
  • すべてのアクセスをブロックする(初期設定)
    • リモートMCP・esa CLI による一切のアクセスをチームで禁じる設定です。
Tip

ポリシーは リモートMCP と esa CLI で別々に設定できます。アクセスポリシーの画面内のタブで切り替えてください。用途が違うので、たとえば「リモートMCP は読み取り中心・esa CLI は特定カテゴリのみ書き込み可」といった使い分けができます。

承認申請は、Webhook で「APIアクセスリクエストがあったとき」を有効にすると通知されます。承認・拒否の結果は、申請者へメールで通知されます。

コマンドの例

記事の一覧を表示します。

sh
esa post list --per-page 5
monospace
NUMBER  TITLE                                                     STATE  UPDATED BY  UPDATED
27      Docs/Getting Started/esa の基本的な使い方 #docs #guide    Ship   ppworks     2 days ago
26      Team/Onboarding/新メンバー向けチェックリスト #onboarding  WIP    ppworks     3 days ago
25      Team/Meeting Notes/2026-08-03 定例メモ #meeting           Ship   ppworks     last week
24      Docs/API/Webhook の設定手順 #api #docs                    Ship   ppworks     last week
23      Projects/2026 Q3/ロードマップ #roadmap #wip               WIP    ppworks     2 weeks ago

Showing 5 of 27 (page 1/6)

記事を作成すると、URL が返ります。

sh
esa post create "Sandbox/esa-cli 動作確認" --body "本文" --wip
✓ Created post #36 Sandbox/esa-cli 動作確認.
https://example.esa.io/posts/36

記事の内容を表示します。

sh
esa post view 36
Sandbox/esa-cli 動作確認 (#36)
  - State: WIP
  - Category: Sandbox
  - Tags: -
  - Updated by: ppworks
  - Updated: 14 seconds ago
  - Revision: 1
  - Comments: 0
  - URL: https://example.esa.io/posts/36

本文

--json を付けると、指定したフィールドだけを JSON で取り出せます。パイプで jq に渡せば、そのままスクリプトに組み込めます。

sh
# WIP のままの記事の URL を並べる
esa post list -q "wip:true" --json url | jq -r '.posts[].url'

AI エージェントから使う

esa Skills は、AI エージェントに esa CLI を使わせるためのスキル集です。導入すると「先週の議事録を探して」「この内容で WIP を作って」のような自然言語の指示で esa を操作できるようになります。

Claude Code / Cursor Agent / Gemini CLI / Codex CLI に対応しています。セットアップ手順は README を参照してください(esa CLI のインストールと esa auth login が済んでいることが前提です)。

フィードバック

使ってみての要望や気づいたことは、CLI からそのまま送れます。

sh
esa feedback create -m "こんなコマンドが欲しいです"

(\( ⁰⊖⁰)/) ヒトコト

何かをCLIで操作するのは楽しいですね。作るのも楽しかったです!

[ProTip] Webhookでdocs.esa.ioの更新通知を受け取ることができます

Enjoy "(\( ⁰⊖⁰)/)"
https://esa.io

END

  • Close