mcpField
D
docmost

docmost

github.com/dapi生産性385 回インストール33 週間前に更新
リポジトリ

docmost について

Docmost API を介してワークスペースやコンテンツを管理する、AI エージェント向け CLI スキルです。エンティティ名-操作名のコマンドと一貫した JSON 応答を備え、ページ編集、検索、アクセス管理、インポートとエクスポートに対応します。

主な機能

  1. 01ワークスペース、スペース、メンバーを管理
  2. 02ページの作成、編集、整理
  3. 03ページ検索と履歴の確認
  4. 04招待、グループ、共有を管理
  5. 05ファイルのインポート、エクスポート、転送

活用シーン

  1. 01Docmost ドキュメントを作成・更新
  2. 02ページの検索と変更履歴の確認
  3. 03ワークスペースやスペースのアクセス権を調整
  4. 04ドキュメントや添付ファイルをインポート・エクスポート

インストール

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

$npx skills add https://github.com/dapi/docmost-cli --skill docmost

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.envrc
.env.test.example
docker-compose.test.yml
README.md
LICENSE
.gitignore
CLAUDE.md
mcp_config_example.json
mise.toml
package-lock.json
package.json
.claude/
pr-review-loop-report.local.md
settings.local.json
.github/workflows/
ci.yml
docs/plans/
2026-02-27-skill-md-plan.md
2026-03-03-agent-friendly-output-design.md
2026-02-27-cli-full-crud-expansion-plan.md
2026-02-27-skill-md-design.md
2026-02-27-cli-full-crud-expansion-design.md
2026-03-07-integration-tests-plan.md
2026-03-07-integration-tests-design.md
scripts/
wait-for-docmost.sh
src/__tests__/
cli-utils.test.ts
filters.test.ts
discovery.test.ts
envelope.test.ts
src/__tests__/integration/
comment.test.ts
discovery.test.ts
file.test.ts
src/__tests__/integration/helpers/
run-cli.ts

詳細

docmost

AI エージェント向け Docmost CLI スキルです。

インストール

このスキルを GitHub からインストールします。

npx skills add dapi/docmost-cli --skill docmost --agent '*' -g -y

CLI をインストールします。

npm install -g github:dapi/docmost-cli

環境変数を設定します(推奨)。

export DOCMOST_API_URL=https://docs.example.com/api
export DOCMOST_TOKEN=<token>
# or login with email/password:
export DOCMOST_EMAIL=<email>
export DOCMOST_PASSWORD=<password>

簡単な確認を行います。

docmost workspace-public --format json

コマンドの命名規則:entity-action(action-entity ではありません)

すべてのコマンドは entity-action 形式を使用します:page-update、space-create、comment-delete。 update-page、create-space、delete-comment は絶対に使用しないでください。これらのコマンドは存在せず、実行に失敗します。

実行ルール

  • 実行前の確認は不要です。必要なコマンドを直接実行してください。docmost が見つからない場合は、インストールして(npm install -g github:dapi/docmost-cli)再試行してください。
  • すべての --format json 出力は、成功時は { "ok": true, "data": ... }、エラー時は { "ok": false, "error": ... } のエンベロープでラップされます。
  • エージェントのワークフローでは --format json を優先してください。
  • ユーザーが人間に読みやすい表形式を明示的に希望した場合は、--format table を使用してください。
  • --format text がサポートされるのは次のコマンドのみです。
    • page-info(Markdown コンテンツを返します)
    • page-history-detail(Markdown コンテンツを返します)
    • invite-link(生のリンクを返します)
  • 認証情報には環境変数を優先し、コマンド履歴やプロセス一覧に --password を残さないでください。
  • 認証の優先順位:--token > DOCMOST_TOKEN > --email/--password > DOCMOST_EMAIL/DOCMOST_PASSWORD。
  • リスト/履歴コマンドでは、共通のページネーション制御を使用してください。
    • --limit <n>(1~100、デフォルトは 100)
    • --max-items <n>(合計レコード数が N 件に達した時点で停止)
  • Markdown/散文のコンテンツ(page-update、comment-create、comment-update)には、次のいずれかを使用してください。
    • 文字列リテラル、@path/to/file.md、または -(標準入力)
  • バイナリのエクスポート/ダウンロードコマンドは、--output が指定されていない場合、標準出力にバイト列を書き込みます。
    • page-export、space-export、file-download
  • 終了ステータスのみが必要な場合は --quiet を使用してください。

出力形式

すべての --format json 応答は、予測可能なエンベロープを使用します。

成功(単一オブジェクト)
{ "ok": true, "data": { "id": "abc", "title": "Runbook" } }
成功(リスト)
{ "ok": true, "data": [{ "id": "abc" }], "meta": { "count": 2, "hasMore": false } }
エラー(stderr)
{ "ok": false, "error": { "code": "NOT_FOUND", "message": "Page not found", "details": null } }
エージェント向け解析ルール
  • 常に最初に ok フィールドを確認してください
  • リストの場合:項目は data 配列にあります。ページネーションでは meta.hasMore を確認してください
  • 変更操作の場合:作成/更新されたオブジェクトが data に返されます
  • エラーには型付きの code が含まれます:AUTH_ERROR、NOT_FOUND、VALIDATION_ERROR、NETWORK_ERROR、INTERNAL_ERROR
  • 終了コード:0=成功、1=内部エラー、2=認証、3=見つからない、4=検証、5=ネットワーク
  • 利用可能なすべてのコマンドとオプションを確認するには、docmost commands を使用してください

コアコマンドのパターン

検索
docmost commands                          # list all commands with options as JSON
ワークスペースとメンバー
docmost workspace-info --format json
docmost workspace-public --format json
docmost workspace-update --name "Docs" --description "Team docs" --format json
docmost workspace-update --enforce-sso true --enforce-mfa true --format json

docmost member-list --format table
docmost member-role --user-id <userId> --role admin --format json
docmost member-remove --user-id <userId> --format json
ユーザー
docmost user-me --format json
docmost user-update --name "Alice" --locale en --page-edit-mode edit --full-page-width true --format json
スペース
docmost space-list --format table
docmost space-info --space-id <spaceId> --format json

docmost space-create --name "Engineering" --slug engineering --description "Tech docs" --format json
docmost space-update --space-id <spaceId> --name "Platform" --format json
docmost space-delete --space-id <spaceId> --format json

docmost space-member-list --space-id <spaceId> --format table
docmost space-member-add --space-id <spaceId> --role writer --user-ids "u1,u2" --format json
docmost space-member-add --space-id <spaceId> --role reader --group-ids "g1,g2" --format json
docmost space-member-remove --space-id <spaceId> --user-id <userId> --format json
docmost space-member-role --space-id <spaceId> --group-id <groupId> --role admin --format json

docmost space-export --space-id <spaceId> --export-format markdown --output ./space.zip --format json
docmost space-export --space-id <spaceId> --export-format html --include-attachments > ./space.zip
ページ
docmost page-list --format table
docmost page-list --space-id <spaceId> --format table

docmost page-info --page-id <pageId> --format json
docmost page-info --page-id <pageId> --format text

docmost page-create --space-id <spaceId> --title "Runbook" --icon "book" --format json
docmost page-create --space-id <spaceId> --title "Child" --parent-page-id <parentId> --format json

docmost page-update --page-id <pageId> --title "Runbook v2" --format json
docmost page-update --page-id <pageId> --content @./content.md --format json
echo "# Updated" | docmost page-update --page-id <pageId> --content - --format json

docmost page-move --page-id <pageId> --parent-page-id <parentId> --position a00000 --format json
docmost page-move --page-id <pageId> --root --format json
docmost page-move-to-space --page-id <pageId> --space-id <targetSpaceId> --format json

docmost page-delete --page-id <pageId> --format json
docmost page-delete --page-id <pageId> --permanently-delete --format json
docmost page-delete-bulk --page-ids "id1,id2,id3" --format json

docmost page-restore --page-id <pageId> --format json
docmost page-trash --space-id <spaceId> --format table
docmost page-duplicate --page-id <pageId> --format json
docmost page-duplicate --page-id <pageId> --space-id <targetSpaceId> --format json

docmost page-breadcrumbs --page-id <pageId> --format table
docmost page-tree --space-id <spaceId> --format json
docmost page-tree --page-id <pageId> --format json

docmost page-history --page-id <pageId> --limit 50 --max-items 200 --format table
docmost page-history-detail --history-id <historyId> --format json
docmost page-history-detail --history-id <historyId> --format text
ページのインポート/エクスポート
docmost page-export --page-id <pageId> --export-format markdown --output ./page.zip
docmost page-export --page-id <pageId> --export-format html --include-children --include-attachments > ./page.zip

docmost page-import --file ./page.md --space-id <spaceId> --format json
docmost page-import-zip --file ./notion.zip --space-id <spaceId> --source notion --format json

page-import-zip --source がサポートする値:generic、notion、confluence。

検索
docmost search --query "onboarding" --format table
docmost search --query "oauth" --space-id <spaceId> --creator-id <userId> --format json

docmost search-suggest --query "auth" --format json
docmost search-suggest --query "auth" --space-id <spaceId> --include-pages --include-groups --max-results 20 --format json
招待
docmost invite-list --format table
docmost invite-info --invitation-id <inviteId> --format json

docmost invite-create --emails "[email protected],[email protected]" --role member --format json
docmost invite-create --emails "[email protected]" --role admin --group-ids "g1,g2" --format json

docmost invite-revoke --invitation-id <inviteId> --format json
docmost invite-resend --invitation-id <inviteId> --format json
docmost invite-link --invitation-id <inviteId> --format text
グループ
docmost group-list --format table
docmost group-info --group-id <groupId> --format json

docmost group-create --name "Tech Writers" --description "Docs team" --format json
docmost group-create --name "Maintainers" --user-ids "u1,u2" --format json

docmost group-update --group-id <groupId> --name "Platform Writers" --format json
docmost group-delete --group-id <groupId> --format json

docmost group-member-list --group-id <groupId> --format table
docmost group-member-add --group-id <groupId> --user-ids "u1,u2" --format json
docmost group-member-remove --group-id <groupId> --user-id <userId> --format json
コメント
docmost comment-list --page-id <pageId> --format table
docmost comment-info --comment-id <commentId> --format json

docmost comment-create --page-id <pageId> --content @./comment.md --format json
docmost comment-create --page-id <pageId> --content "Please clarify" --selection "Auth flow" --format json
docmost comment-create --page-id <pageId> --content "Reply text" --parent-comment-id <commentId> --format json

docmost comment-update --comment-id <commentId> --content "Updated comment" --format json
docmost comment-delete --comment-id <commentId> --format json
共有
docmost share-list --format table
docmost share-info --share-id <shareId> --format json
docmost share-for-page --page-id <pageId> --format json

docmost share-create --page-id <pageId> --include-subpages true --search-indexing false --format json
docmost share-update --share-id <shareId> --include-subpages false --format json
docmost share-delete --share-id <shareId> --format json
ファイル
docmost file-upload --file ./diagram.png --page-id <pageId> --format json
docmost file-upload --file ./diagram-v2.png --page-id <pageId> --attachment-id <attachmentId> --format json

docmost file-download --file-id <fileId> --file-name diagram.png --output ./diagram.png
docmost file-download --file-id <fileId> --file-name report.pdf > ./report.pdf

エージェントのワークフロー

ページの CRUD(推奨されるデフォルト)

「ドキュメントページを作成/更新/移動/削除」といったリクエストの場合:

  1. ワークスペースと対象のスペースを特定します。
    • docmost workspace-info --format json → .ok を確認し、.data を使用します
    • docmost space-list --format json → .data[] を順に確認し、.meta.hasMore を確認します
  2. 既存のページを調べます。
    • docmost page-list --space-id <spaceId> --format json → .data[] を順に確認します
  3. 変更する場合は、ソースページを読み取ります。
    • docmost page-info --page-id <pageId> --format text
  4. 変更を適用します。
    • page-create/page-update/page-move/page-delete → .ok を確認し、.data.id を取得します
  5. 検証します。
    • docmost page-info --page-id <pageId> --format json → .ok を確認します
検索と履歴の調査

「これがどこに記載されているか見つけて」や「誰がこれを変更したか」といったリクエストの場合:

  1. docmost search --query "..." --format table
  2. docmost page-info --page-id <pageId> --format text
  3. docmost page-history --page-id <pageId> --format table
  4. docmost page-history-detail --history-id <historyId> --format text
アクセス制御

「アクセスを追加/削除」のようなリクエストの場合:

  1. ワークスペースレベル:
    • member-list、member-role、member-remove、invite-*
  2. スペースレベル:
    • space-member-list、space-member-add、space-member-remove、space-member-role
  3. 公開ページの共有:
    • share-for-page、share-create、share-update、share-delete
エクスポート/インポートと添付ファイル
  1. コンテンツをエクスポート:page-export / space-export
  2. コンテンツをインポート:page-import / page-import-zip
  3. ファイルを添付:file-upload
  4. ファイルをダウンロード:file-download

リクエストの意味

  • 「自分の workspace / 自分のスペース」 -> docmost workspace-info
  • 「spaces / セクション」 -> docmost space-list
  • 「pages / ページ」 -> docmost page-list
  • 「探して / 検索」 -> docmost search --query "..."
  • 「変更履歴」 -> docmost page-history
  • 「削除済みページ / ゴミ箱」 -> docmost page-trash
  • 「アクセス / access」 -> member-* / space-member-* / share-*

トリガーの例

トリガーする
  • 「Docmost にページを作成して」
  • 「runbook ページを更新して」
  • 「oauth に関する内容をすべて Wiki から探して」
  • 「このページの変更履歴を表示して」
  • 「削除したページを復元して」
  • 「ページを別の space に移動して」
  • 「space を markdown にエクスポートして」
  • 「ユーザーを reader として space に追加して」
  • 「ページの公開 share を作成して」
  • 「ファイルをページにアップロードして」
  • 「Docmost の space をすべて一覧表示して」
  • 「新しいユーザーを workspace に招待して」
  • 「メンバーのロールを admin に変更して」
  • 「Notion の zip を Docmost にインポートして」
  • 「ページツリーを表示して」
  • 「ページを複製して」
トリガーしない
  • Docmost API を使わずにローカルの markdown ファイルを編集する
  • Git/GitHub の操作
  • Slack/Telegram/メールでのメッセージ送信タスク
  • Docmost 以外の Web スクレイピングやブラウザーの自動操作

コメント