agilitycms について
Agility CMS公式のホスト型MCPサーバーで、AIツールからAgilityインスタンスのコンテンツ、モデル、ページ、メディアを操作できます。OAuth 2.0を使用し、各操作にはログインユーザーのAgility権限が適用されます。
主な機能
- 01コンテンツ項目の読み取りと編集
- 02ページ、サイトマップ、ワークフローの管理
- 03コンテンツモデルとコンテナーの作成・更新
- 04メディアアセットの一覧表示と管理
- 05ユーザー権限に基づくOAuth 2.0認証
活用シーン
- 01ローカライズされたコンテンツの作成と公開
- 02チャネル内の未公開ページの確認
- 03コンテンツモデルとコンテナーの変更
- 04メディアライブラリのアセット検索と管理
MCP 対応
https://mcp.agilitycms.com/api/mcp の Streamable HTTPを通じて、MCPクライアントに32個のツールを提供します。OAuth 2.0でユーザーのAgility組織に認証し、そのユーザーの権限に従って操作します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.agilitycms.com/api/mcpclaude mcp add --transport http com-agilitycms https://mcp.agilitycms.com/api/mcp{"mcpServers":{"com-agilitycms":{"type":"http","url":"https://mcp.agilitycms.com/api/mcp"}}}Cursor で開く{"servers":{"com-agilitycms":{"type":"http","url":"https://mcp.agilitycms.com/api/mcp"}}}VS Code で開く{"mcpServers":{"com-agilitycms":{"type":"http","url":"https://mcp.agilitycms.com/api/mcp"}}}{"mcpServers":{"com-agilitycms":{"serverUrl":"https://mcp.agilitycms.com/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Agility CMS MCP サーバー
Agility CMS の公式 MCP サーバーです。ホスト型のリモートサーバーを通じて、会話するだけで、すでにアクセス権を持っている Agility インスタンスのコンテンツ、モデル、ページ、メディアに AI ツールからリアルタイムでアクセスできます。API は不要です。
クライアントを接続する · 依頼できること · ツール · データとセキュリティ · トラブルシューティング · サポート
インストールは不要です。 クライアントを https://mcp.agilitycms.com/api/mcp に接続して、
Agility アカウントでサインインするだけで、アシスタントがすでにアクセス権を持っているインスタンスを操作できます。
- エンドポイント:
https://mcp.agilitycms.com/api/mcp(streamable HTTP) - 認証: Agility 組織に対する OAuth 2.0 — アクセス権限は Agility の権限設定に従います
- ツール: コンテンツ、モデル、コンポーネント、コンテナー、ページ、サイトマップ、メディアを扱う 32 個
- スクリーンショット付きセットアップガイド: mcp.agilitycms.com/instructions
- ライブツールカタログ: mcp.agilitycms.com/tools
クライアントを接続する
ワンクリック
対応しているすべてのクライアント
| クライアント | 追加方法 |
|---|---|
| VS Code(GitHub Copilot) | 上記のワンクリックバッジ、またはコマンドパレット → MCP: Add Server → HTTP |
| Cursor | 上記のワンクリックバッジ、または設定 → MCP → Add new MCP server → HTTP |
| LM Studio | 上記のワンクリックバッジ |
| Claude Code | claude mcp add --transport http "Agility-CMS" https://mcp.agilitycms.com/api/mcp |
| Claude(デスクトップおよびウェブ) | 公式コネクター — カスタマイズ → コネクター → 検出 → Agility CMS を検索 → 接続 |
| Windsurf | 設定 → Cascade → MCP servers → エンドポイントを追加 |
| Gemini CLI | gemini mcp add --transport http agility-cms https://mcp.agilitycms.com/api/mcp |
| ChatGPT | 設定 → Apps & Connectors → Advanced → Developer mode → コネクターを追加 |
| その他 | ストリーミング可能な HTTP に対応する任意のクライアント — または mcp-remote で stdio のみ対応するクライアントをブリッジ |
スクリーンショット付きの詳しい手順は mcp.agilitycms.com/instructions にあります。手動で設定する場合に 必要なのはエンドポイントだけです。クライアントごとの詳細は以下をご覧ください。
Claude Code
claude mcp add --transport http "Agility-CMS" https://mcp.agilitycms.com/api/mcp
Claude(デスクトップおよびウェブ)
Agility CMS は Claude のディレクトリにある公式コネクターなので、貼り付けるものはありません。
個人アカウントで使う場合 — カスタマイズ → コネクター → 検出 に進み、Agility CMS を検索して 接続をクリックし、プロンプトが表示されたら Agility にサインインします。または、次のエントリーに直接アクセスしてください: https://claude.ai/customize/connectors/directory?q=Agility%20CMS
Agility CMS を選択します。Agility CMS Knowledgebase はドキュメントサイト用の別のコネクターで、
Custom と表示されています。
Team または Enterprise ワークスペースを管理する場合 — 管理者設定から、組織で Agility CMS コネクターを 有効にします。これにより全員が利用できるようになりますが、誰かが接続された状態にはなりません。 各メンバーは引き続き個別に Agility にサインインする必要があり、すべての呼び出しには各自の Agility 権限が適用されます。 共有資格情報やサービス資格情報はありません。
ディレクトリーのエントリーがまだ表示されない場合も、エンドポイントは単独で使用できます — カスタマイズ → コネクター → 追加に進み、カスタムコネクターとして追加してください:
https://mcp.agilitycms.com/api/mcp
VS Code(GitHub Copilot)
コマンドパレット → MCP: Add Server → HTTP の順に進み、エンドポイントを貼り付けます。または、MCP 設定に追加します:
{
"servers": {
"agility-cms": {
"type": "http",
"url": "https://mcp.agilitycms.com/api/mcp"
}
}
}
Cursor
設定 → MCP → Add new MCP server → HTTP と入力し、上記の URL を指定します。または、~/.cursor/mcp.json に追加します:
{
"mcpServers": {
"agility-cms": {
"url": "https://mcp.agilitycms.com/api/mcp"
}
}
}
LM Studio
上記のワンクリックバッジを使うか、Program → Install → Edit mcp.json でエンドポイントを追加します:
{
"mcpServers": {
"agility-cms": {
"url": "https://mcp.agilitycms.com/api/mcp"
}
}
}
Windsurf
設定 → Cascade → MCP servers に進み、上記のエンドポイントを使ってサーバーを追加します。
Gemini CLI
gemini mcp add --transport http agility-cms https://mcp.agilitycms.com/api/mcp
または、~/.gemini/settings.json に追加します:
{
"mcpServers": {
"agility-cms": {
"httpUrl": "https://mcp.agilitycms.com/api/mcp"
}
}
}
ChatGPT
設定 → Apps & Connectors → Advanced → Developer mode に進み、上記のエンドポイントを使ってコネクターを追加します。
その他
ストリーミング可能な HTTP に対応するクライアントであれば利用できます。エンドポイントを指定して OAuth フローを実行してください — 貼り付ける API キーも、設定ファイルに保存しておくものもありません。
ローカル(stdio)サーバーにしか対応していないクライアントの場合は、
mcp-remote を使ってブリッジしてください:
{
"mcpServers": {
"agility-cms": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.agilitycms.com/api/mcp"]
}
}
}
このブリッジは汎用のクライアント側シムであり、Agility のパッケージではありません。agility-mcp-server という npm パッケージはなく、今後も提供されません —
ホスト型 HTTP サーバーにはインストールするものがないため、Agility の名前が付いた何かを npx で実行するよう指示する設定を見つけた場合、それは誤りです。
依頼できること
接続したら、コンテンツについてアシスタントに話しかけてください。適切なツールを選んでくれます。ほとんどのツールでは、(どの Agility インスタンスかを示す)instanceGuid と、コンテンツの場合はlocaleが必要です。まずインスタンスを一覧表示するよう依頼すれば、それ以降は適切なインスタンスを使ってくれます。
- 「アクセスできる Agility インスタンスを一覧表示してから、マーケティングサイトのコンテンツモデルを見せてください。」
- 「Blog Post モデルに、既存の SEO タブの下に
Subtitleテキストフィールドを追加してください。」 - 「名前、写真、プロフィール、投稿へのリンクを持つ Team Member モデルと、そのコンテナを作成してください。」
- 「この概要から
en-usでブログ投稿を作成して、エディターへのリンクを教えてください。」 - 「メインチャネルで、まだ未公開のページはどれですか?」
- 「先ほど作成した3つの投稿を公開してください。」
データとセキュリティ
認証には、Agility 組織に対する OAuth 2.0 を HTTPS 経由で使用します。 貼り付ける API キーも、設定ファイルに保存するものもありません。トークンは MCP クライアントが保持し、このリポジトリの設定や編集するファイルには保存されません。
Agility の権限が、実行可能な操作の上限です。 すべての呼び出しはユーザーとして実行されます。Management API は、ユーザー自身が実行できない操作を拒否するため、サーバーが現在のアクセス権を超えることはありません。つまり、アシスタントがアクセスできる範囲を実際に制限するには、許可したい範囲のアクセス権だけを持つ Agility ユーザーでサインインしてください。
破壊的な操作にはマークが付けられ、確認が求められます。 delete_*、unpublish_content、unpublish_pageの各ツールにはdestructiveHint: trueが設定されているため、対話型クライアントは実行前に確認を求めます。非対話型クライアントでは確認は行われず、代わりに各書き込みツールを許可リストに登録する必要があります。
コンテンツは信頼できない入力として扱ってください。 これは MCP の構造上の特性であり、Agility 固有のものではありません。アシスタントはコンテンツ項目、ページテキスト、フィールドの説明を読み取ります。そのいずれにも、指示のように見えるテキスト(プロンプトインジェクション)が含まれている可能性があります。それに基づいて動作するクライアントは、ユーザーの権限で操作します。信頼できるクライアントを使い、破壊的なツールの確認プロンプトを有効にしたままにし、広範な権限を持つ Agility アカウントを無人のエージェントに渡さないでください。
ログに記録される内容。 ホスト型サーバーは、運用テレメトリを Agility の Application Insights に記録します。記録されるのは、呼び出されたツールまたは API メソッド、所要時間、成功または失敗、Agility インスタンス GUID、Agility ユーザー ID です。デバッグ用にリクエストとレスポンスのペイロードも省略された形で記録されます(デフォルトでは上限 2 KB)。そのため、小さなコンテンツ値がログに含まれることがあります。ホスト型サーバーでは、クライアント側から記録を無効にすることはできません。何も収集しないようにするには、APP_INSIGHTS_CONNECTION_STRINGを設定せずにセルフホストしてください。
利用可能な MCP ツール
Agility CMS MCP Server には、カテゴリ別に整理された強力なツールが32個あります。
🔍 検索ツール
get_available_instances- アクセスできる Agility CMS インスタンスをすべて一覧表示しますget_current_user- 現在のトークンで認証されているユーザーを特定します(読み取り専用の whoami)get_containers- カテゴリ別に整理されたコンテンツコンテナにアクセスします
📋 モデル一覧表示ツール
get_content_models- インスタンスのすべてのコンテンツモデルを取得しますget_component_models- ページコンポーネントモデルにアクセスします
🔍 詳細取得ツール
get_content_model_details- コンテンツモデルの詳細なフィールド定義を取得しますget_component_model_details- コンポーネントモデルの詳細なフィールド定義を取得します
📝 コンテンツ管理ツール
get_locales- 多言語コンテンツで利用可能なロケールを取得しますget_content_items- フィルタリングとページネーションを使って複数のコンテンツ項目を取得しますget_content_item- ID を指定して単一のコンテンツ項目を取得しますsave_content_items- コンテンツ項目を作成または更新します(項目ごとにエディター URL を返します)publish_content- 1つ以上のコンテンツ項目を公開しますunpublish_content- 1つ以上のコンテンツ項目を非公開(オフライン)にします(破壊的)manage_content_workflow- コンテンツ項目を承認、却下、または承認申請しますdelete_content_item- コンテンツ項目を削除します(破壊的)
📄 ページ管理ツール
get_sitemaps- すべてのデジタルチャネル(サイトマップ)を一覧表示しますget_sitemap- チャネルの完全なページ階層を取得しますget_page- IDでページを取得しますget_page_models- 利用可能なページモデル(テンプレート)を一覧表示しますsave_page_model- ページモデル(テンプレート)とそのコンテンツゾーンを作成または更新しますsave_page- ページを作成または更新しますreorder_page_modules- ページゾーン内のモジュールの順序を変更しますpublish_page- 1つ以上のページを公開しますunpublish_page- 1つ以上のページを非公開にします(オフラインにします)(破壊的操作)manage_page_workflow- ページを承認、却下、または承認を申請しますdelete_page- ページを削除します (破壊的操作)
🖼️ メディアとアセットのツール
initialize_media_upload- メディアファイル用の署名付きアップロード URL を取得しますlist_media- メディアライブラリのアセットを一覧表示します(ページ分割)delete_media- IDでメディアアセットを削除します (破壊的操作)
⚡ モデルの作成と管理ツール
save_content_model- コンテンツモデルを作成または更新しますsave_component_model- コンポーネントモデルを作成または更新しますsave_container- コンテンツコンテナーを作成して設定します
🔒 破壊的操作にはマークが付いています。
delete_*ツールおよびunpublish_content/unpublish_pageツールにはdestructiveHint: trueが設定されているため、対話型 MCP クライアントは実行前に確認を求めます(「このツールの実行を許可しますか?」— **「常に許可」**を選択すると確認を省略できます)。公開および承認ワークフローは追加的で元に戻せるため、破壊的操作としてフラグ付けされていません。権限と確認の仕組みについてはデータとセキュリティを、ツールごとの詳細についてはドキュメントをご覧ください。
📚 ツールの完全なドキュメントと使用例: mcp.agilitycms.com/tools
サポートされているフィールドタイプ
Agility CMS MCP Server は、包括的なコンテンツモデルを構築するための20種類以上のフィールドタイプをサポートしています。
- 📝 基本フィールド:テキスト、長文テキスト、HTML、ブール値、整数、小数、日付
- 🎯 選択フィールド:ドロップダウンリスト、リンク、検索リストボックス、チェックボックス
- 🎨 メディアフィールド:画像添付、ファイル添付
- 🔗 コンテンツの関連付け:共有グリッド/リンク、ネストされたグリッド/リンク
- 📂 整理:タブフィールド、カスタムセクション
- ⚡ 高度なフィールド:複合オブジェクトフィールド、カスタムフィールドタイプ、リッチテキストエディター
📚 フィールドタイプの完全なドキュメント: mcp.agilitycms.com/tools
トラブルシューティング
| 症状 | 通常の原因 |
|---|---|
get_available_instances にインスタンスが表示されない | お使いの Agility ユーザーにアクセス権がないか、このサーバーが接続している本番環境の Agility テナントにインスタンスがありません。 |
| 認証エラーで呼び出しが失敗し始める | OAuth トークンの有効期限が切れたか、取り消されました。クライアントでサーバーに再接続してください。 |
| アシスタントが書き込みできないと言う、または読み取りしかしない | 非対話型クライアントでは、各書き込みツールを名前で許可リストに登録する必要があります。クライアントのツール権限を確認してください。 |
| ワンクリックインストールリンクをクリックしても何も起こらない | エディターが起動していないか、引き継ぎがブロックされました。代わりにエンドポイントを手動で追加してください。 |
| ツールがフィールド設定を拒否する | Agility はモデルの変更をサーバー側で検証し、エラーテキストをそのまま返します。たとえば、リンクされたコンテンツのフィールドには required、unique、copyAcrossAllLanguages の設定はありません。 |
解決しない場合:[email protected] または Slack コミュニティをご利用ください。
サポートとフィードバック
- 🌐 ウェブサイト:mcp.agilitycms.com
- 📖 セットアップ手順:mcp.agilitycms.com/instructions
- 🛠️ ツールカタログ:mcp.agilitycms.com/tools
- 📚 Agility CMS ドキュメント:agilitycms.com/docs
- 💬 サポート:[email protected]
- 👥 コミュニティ:Slack に参加
このリポジトリについて
このリポジトリは、Agility CMS MCP Server の公開リポジトリです。https://mcp.agilitycms.com で提供されるホスト型サービスのドキュメント、ライセンス、セキュリティポリシーを掲載しています。
このサーバーはホスト型のリモート MCP サーバーです。インストールもパッケージの取得も不要なため、ここで再現するビルドはありません。ソースコードは Agility CMS が管理しており、現在は公開されていません。サーバーを 使用する ために必要な情報は、すべて上記にあります。
ライセンス
このリポジトリのドキュメントは、Apache License 2.0 のもとでライセンスされています。
このライセンスで意図的に対象外としているものが2つあります。
- ホスト型サービス。
https://mcp.agilitycms.comは、Agility CMS 独自の利用規約に基づき Agility CMS が運営しています。このサービスおよびその背後にある Agility CMS Management API の利用には、これらの利用規約とお客様の Agility サブスクリプションが適用されます。 - Agility の名称および商標。 Apache 2.0 §6 は、商標権を付与しません。NOTICE を参照してください。
セキュリティに関する報告先:SECURITY.md。
Agility CMS が ❤️ を込めて開発 — 開発者とマーケターのための最速のヘッドレス CMS
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。