MCP / Skill / Plugin
Claude Code プラグイン、MCP サーバーとスキルの導入方法、認証、ツールリファレンス。
TrayPage へのページ作成・公開・取得は MCP(Model Context Protocol)経由で行えます。Claude Code では、プラグインで MCP 接続設定とスキルをまとめて追加できます。他のクライアントでは MCP サーバーとスキルを個別に追加します。MCP を使えない環境やスクリプトでは CLI を使えます。
MCP server
TrayPage MCP は Streamable HTTP のエンドポイントとして公開されています。対応クライアントでは次の URL を登録します。
https://tray.page/api/mcpClaude Code
プラグインで接続設定とスキルを追加する
Claude Code 内で次のコマンドを実行します。配布元は 8d-inc/traypage-skills です。
/plugin marketplace add 8d-inc/traypage-skills
/plugin install traypage@traypage/reload-plugins で読み込み直すか、新しいセッションを開始します。その後 /mcp を開き、TrayPage サーバーを選んでブラウザ認証を完了します。認可画面でワークスペース、アクセスできるプロジェクト、既定プロジェクトを選びます。
接続後は「このレポートを TrayPage に下書きとして作って」のように自然文で依頼できます。明示的に呼び出す場合は、次のコマンドに依頼内容を続けます。
/traypage:page このレポートを下書きにしてレビュー URL を返してtraypage はプラグイン名、page はページの作成・レビュー・修正を行うコマンド名です。プラグインは既存の TrayPage スキルを使うため、スキルを別途インストールする必要はありません。
同じ URL の MCP サーバーをすでに登録している場合は、既存の接続が優先されることがあります。/mcp に表示される TrayPage 接続を使い、重複して追加する必要はありません。
プラグインを更新するには、配布元の一覧を更新してから次を実行します。更新後はプラグインを読み込み直すか、新しいセッションを開始してください。
claude plugin marketplace update traypage
claude plugin update traypage@traypageMCP サーバーを個別に追加する
プラグインを使わずに接続する場合は、次のコマンドを実行します。
claude mcp add --transport http --scope user traypage https://tray.page/api/mcp追加後、Claude Code 内で /mcp → traypage を選択して認証します。ブラウザが開き、サインインとアクセス許可(ワークスペース・アクセスできるプロジェクト・既定プロジェクトの選択)を行えば完了です。
この設定はユーザー全体で使えるため、普段使いにはこの形を推奨します。リポジトリごとに利用する TrayPage のワークスペースやプロジェクトを分けたい場合や、設定をリポジトリに閉じたい場合は、代わりに --scope project を指定します。
claude mcp add --transport http --scope project traypage https://tray.page/api/mcpCodex
codex mcp add traypage --url https://tray.page/api/mcp
codex mcp login traypagecodex mcp login traypage でブラウザ認証を完了します。CLI と IDE 拡張は同じ ~/.codex/config.toml を使うため、一度設定すれば両方で利用できます。リポジトリごとに利用する TrayPage のワークスペースやプロジェクトを分けたい場合や、リポジトリに閉じた設定にしたい場合は、リポジトリ内の .codex/config.toml に同じ設定を置きます。
設定ファイルに直接書く場合は次の形です。
[mcp_servers.traypage]
url = "https://tray.page/api/mcp"Cursor
Cursor Settings → MCP から追加するか、~/.cursor/mcp.json(全ワークスペース)または .cursor/mcp.json(現在のプロジェクト)に次を追加します。
{
"mcpServers": {
"traypage": {
"url": "https://tray.page/api/mcp"
}
}
}保存後、Cursor を再読み込みし、初回利用時の OAuth フローを完了します。
VS Code(GitHub Copilot Agent mode)
コマンドパレットで MCP: Add Server を実行して HTTP サーバーとして追加するか、.vscode/mcp.json に次を追加します。
{
"servers": {
"traypage": {
"type": "http",
"url": "https://tray.page/api/mcp"
}
}
}ワークスペースではなくユーザー全体に入れる場合は、コマンドパレットの MCP: Open User Configuration から同じ設定を追加します。
claude.ai / Claude Desktop
Settings → Connectors → Add custom connector で URL に https://tray.page/api/mcp を入力します。接続時にブラウザで同じ認可フローが走ります。
ChatGPT
Settings → Connectors からカスタムコネクタを追加し、MCP server URL に https://tray.page/api/mcp を入力します。組織やプランによって、カスタム MCP コネクタの利用可否・公開範囲・管理者承認の要件が異なる場合があります。
Windsurf / Antigravity
Windsurf や Antigravity のように mcp_config.json で serverUrl を使うクライアントでは、次の形で登録します。
{
"mcpServers": {
"traypage": {
"serverUrl": "https://tray.page/api/mcp"
}
}
}保存後、MCP 設定画面で refresh / authenticate を実行し、ブラウザ認証を完了します。
その他の MCP クライアント
Streamable HTTP と OAuth 2.1 に対応したクライアントであれば、URL https://tray.page/api/mcp を登録するだけで接続できます。OAuth に対応していないクライアントや自動化からは、後述の API トークンをヘッダで渡してください。
claude mcp add --transport http --scope user traypage https://tray.page/api/mcp \
--header "Authorization: Bearer tp_xxx"Agent skill
TrayPage MCP だけでもページ作成と公開はできますが、AI コーディングエージェントに「投稿 → レビュー → 公開 → コメント反映 → 新しいバージョン投稿」の流れを安定して実行させるには、公開スキルも追加します。スキルの公開レポジトリは 8d-inc/traypage-skills です。
npx skills add 8d-inc/traypage-skills -g-g はユーザー全体への追加です。Claude Code / Codex / Cursor など普段使いの複数リポジトリから TrayPage を使う場合は、この形を推奨します。特定のリポジトリにだけ閉じたい場合は -g を外し、対話プロンプトでリポジトリ内への追加を選びます。
このコマンドはスキルだけを追加します。Claude Code プラグインには同じスキルが含まれ、MCP 接続設定もまとめて追加されます。
スキルは、create_page / create_page_version / publish_version / get_page_comments / reply_page_comment / resolve_page_comment / get_page_revision_prompt を使った実作業の進め方をエージェントに教えます。MCP ツールを優先して使い、下書き投稿と公開を分け、review_url と share_url をユーザーに返します。CLI が使える場合は下書きや公開済みのバージョンのレビューセッションを始め、レビューを受け取ったら修正版を作ります。レビューセッションを始めても、下書きは公開されません。
レビューセッションを使う場合は、セッション起動時に表示される URL をユーザーに伝え、その URL から開いてもらいます。先に通常のレビュー画面を開いてから後で CLI のレビューセッションを開始しても、その既存タブはセッションに自動接続されません。
レビュー完了後にエージェントを再開させたい場合は、CLI の導入と認証も行ってください。プラグインや MCP の認証と、CLI の認証は別です。同じ環境とワークスペース・プロジェクトへのアクセスを設定して使います。
認証
| 方式 | 向いている用途 | 手順 |
|---|---|---|
| OAuth 2.1(推奨) | 普段使いの AI ツール | 接続時にブラウザで認可。トークン管理は不要 |
API トークン(tp_ プレフィックス) | CI・スクリプト・OAuth 非対応クライアント | プロジェクトのページで発行し、Authorization: Bearer tp_xxx ヘッダで渡す |
OAuth の認可時には、アクセスを許可するワークスペース、プロジェクト範囲(選択したプロジェクトのみ / すべてのプロジェクト)、既定プロジェクトを確認する画面が表示されます。API トークンはプロジェクト単位で発行され、そのプロジェクトの中だけで有効です。プロジェクトを指定せずに create_page を呼ぶと、トークンのプロジェクト(OAuth では既定プロジェクト)に投稿されます。
スコープは次のとおりです。OAuth でスコープ未指定の場合は、通常のページ作成・公開・閲覧に必要な既定スコープが付与されます。プロジェクトやワークスペースの管理操作は、対応する write スコープが明示的に必要です。
| スコープ | 許可される操作 |
|---|---|
page:read | ページ・バージョンの取得 |
page:write | 下書きページの作成・新しいバージョンの追加・バージョンの公開・ページのアーカイブ / 復元・公開範囲の変更・コメント返信・コメント解決 |
comment:read | レビューコメントの取得 |
revision_prompt:read | 修正指示の取得 |
project:read | プロジェクト一覧の取得 |
project:write | プロジェクト設定・プロジェクトメンバー・API トークンの管理 |
organization:read | ワークスペース設定・メンバー・監査ログの閲覧 |
organization:write | ワークスペース設定・メンバー・許可ドメインの管理 |
folder:read | フォルダ一覧の取得 |
どの方式・どのスコープでも、最終的な認可はページごとの権限(仕組み § 権限)で判定されます。
ツールリファレンス
このセクションでは、AI エージェントや MCP クライアントが実際に渡すツール名・引数名・値をそのまま code 表記で載せています。通常の使い方や画面上の意味は、各説明文で日本語のプロダクト表現に置き換えています。
create_page
HTML または Markdown から新しいページを作成します。最初のバージョンは下書きとして作成され、レビュー URL と共有 URL を返します。共有 URL で本文を表示するには、確認後に publish_version を呼びます。
| 引数 | 必須 | 説明 |
|---|---|---|
organization_id | 投稿先ワークスペースの ID(省略時はトークンのワークスペース) | |
project_id | 投稿先プロジェクトの ID(省略時はトークン / OAuth の既定プロジェクト) | |
page_title | ✓ | ページのタイトル |
content | ✓ | HTML または Markdown の全文 |
content_type | text/html(デフォルト)または text/markdown | |
folder_path | プロジェクト内のフォルダパス | |
changelog | この版の変更内容 |
Markdown でページやバージョンを作成した場合は、表示時に TrayPage がスタイル付きの HTML に変換します。変換には marked を使っており、GitHub Flavored Markdown(GFM)の記法 — テーブル・打ち消し線・タスクリスト・コードブロックなど — に対応しています。
create_page_version
既存のページに新しい下書きバージョンを追加します。共有 URL は、publish_version を呼ぶまで現在の公開中バージョンを表示し続けます。
| 引数 | 必須 | 説明 |
|---|---|---|
page_id | ✓ | 対象ページの ID |
content | ✓ | HTML または Markdown の全文 |
content_type | text/html(デフォルト)または text/markdown | |
changelog | この版の変更内容 |
publish_version
指定したバージョンを公開中にし、安定した共有 URL で表示される内容にします。対象ページの page.publish 権限が必要です。公開中にできるバージョンは1つだけで、新しいバージョンを公開すると前の公開中バージョンは下書きに戻ります。この操作は公開範囲を変更しません。
| 引数 | 必須 | 説明 |
|---|---|---|
page_id | ✓ | 対象ページの ID |
version_number | ✓ | 公開中にするバージョン番号 |
list_pages
プロジェクト内のページを一覧します。
| 引数 | 必須 | 説明 |
|---|---|---|
organization_id | ワークスペースの ID(省略時はトークンのワークスペース) | |
project_id | プロジェクトの ID(省略時はトークン / OAuth の既定プロジェクト) | |
folder_path | フォルダで絞り込み | |
archived | true の場合はアーカイブ済みページを一覧。省略時は通常のページだけを一覧 |
archive_page
ページをアーカイブします。アーカイブ済みページは通常の一覧から隠れ、アクティブページ数の枠を空けます。ページ本文やバージョンは削除されません。対象ページの page.manage_access 権限が必要です。
| 引数 | 必須 | 説明 |
|---|---|---|
page_id | ✓ | 対象ページの ID |
unarchive_page
アーカイブ済みページを復元します。復元するとアクティブページ数の枠を消費するため、プラン上限に達している場合は失敗します。対象ページの page.manage_access 権限が必要です。
| 引数 | 必須 | 説明 |
|---|---|---|
page_id | ✓ | 対象ページの ID |
set_page_visibility
ページの公開範囲を変更します。対象ページの page.manage_access 権限が必要です。公開範囲は「誰が共有 URL を開けるか」を決める設定で、どのバージョンを共有 URL に表示するかは publish_version で決めます。
| 引数 | 必須 | 説明 |
|---|---|---|
page_id | ✓ | 対象ページの ID |
visibility | ✓ | private(非公開)/ project_members(プロジェクトメンバー)/ organization_domain_users(会社ドメインのユーザー)/ public_link(リンクを知っている全員) |
share_expires_at | 共有リンクの有効期限。ISO 8601 文字列、null、または省略。省略時は既存設定を維持し、通常は無期限 |
get_page_comments
ページのレビューコメントを取得します。
| 引数 | 必須 | 説明 |
|---|---|---|
page_id | ✓ | 対象ページの ID |
version_number | 特定のバージョンに絞り込み | |
status | open(デフォルト)または resolved |
reply_page_comment
レビューコメントのスレッドに返信します。依頼された修正を反映した後の補足や、ページ変更ではなく回答が適切な質問コメントへの返信に使います。対象ページの comment.write 権限が必要です。
| 引数 | 必須 | 説明 |
|---|---|---|
thread_id | ✓ | get_page_comments で取得したコメントスレッド ID |
body | ✓ | 返信本文 |
resolve_page_comment
レビューコメントのスレッドを解決済みにします。依頼された修正が完了した後、または質問への回答が済んだ後にだけ resolve してください。対象ページの comment.resolve 権限が必要です。
| 引数 | 必須 | 説明 |
|---|---|---|
thread_id | ✓ | get_page_comments で取得したコメントスレッド ID |
get_page_revision_prompt
未解決コメントから、AI に渡せる修正指示を組み立てて返します。
| 引数 | 必須 | 説明 |
|---|---|---|
page_id | ✓ | 対象ページの ID |
version_number | 特定のバージョンを基準にする | |
language | ja または en。省略時は接続元の言語設定に合わせる |
修正指示は、コメントを機械的な修正依頼として扱いません。質問や確認コメントで、正しい対応がファイル変更ではなく回答である場合は、ページを変更せずに回答するよう指示します。
トラブルシューティング
- 認証画面が開かない / 401 が続く — Claude Code で
/mcpから再認証してください。プラグインを使っている場合は/reload-pluginsまたは新しいセッションで接続を読み込み直します。MCP サーバーを個別に登録した場合は、claude mcp remove traypageしてから追加し直す方法もあります。 Organization not found— ワークスペース ID が正しいか、OAuth 認可時にそのワークスペースへのアクセスを許可したかを確認してください。ID はアプリの URL(/app/organizations/{organization-id})で確認できます。Project not found/project_restricted— トークンは発行したプロジェクト専用です。別のプロジェクトにページを作成するには、そのプロジェクトのトークンを発行するか、OAuth の認可でそのプロジェクトへのアクセスを許可してください。- 投稿や公開はできるがコメントが取れない — API トークンのスコープに
comment:readが含まれているか確認してください。 - コメント返信や resolve が失敗する — API トークンのスコープに
page:writeが含まれているか、ページ上の権限でコメント・resolve が許可されているか確認してください。