mcpField
T
Total CMS

Total CMS

ローカル
github.com/totalcmsビジネス・マーケティング06 日前に更新

Total CMS について

Total CMS Desktop Extensionは、Claude DesktopをTotal CMSサイトのMCPエンドポイントにつなぐローカルstdioブリッジです。HTTPSでMCP通信を中継し、APIキーを付加して公開コンテンツやキーで許可された機能にアクセスできます。

主な機能

  1. 01ローカルstdioからHTTPへのMCPブリッジ
  2. 02設定したTotal CMSエンドポイントへの接続
  3. 03任意のAPIキーをヘッダーに付加
  4. 04キーなしでの公開アクセス
  5. 05OSの資格情報ストアでキーを保管
  6. 06エンドポイント接続にHTTPSを必須化

活用シーン

  1. 01Total CMSサイトの公開コンテンツを検索・閲覧
  2. 02APIキーの権限範囲でサイトを管理
  3. 03Total CMSドキュメントサーバーについて調べる
  4. 04ローカルサーバーを起動するMCPクライアントに接続

MCP 対応

この拡張機能はローカルのstdio MCPサーバーとして動作し、ストリーミングHTTPでTotal CMSの`/mcp`エンドポイントへプロトコルメッセージを中継します。`X-API-Key`ヘッダーを送信でき、カスタムヘッダー付きリモートMCPサーバーに対応するクライアントは直接接続することもできます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbtotalcms.mcpb

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Total CMS Desktop Extension(MCPB)

Claude Desktop 拡張機能 で、Claude をあらゆる Total CMS サイトに組み込まれている MCP サーバーに接続します。一度インストールすれば、Claude でドキュメントを検索したり、 コンテンツを閲覧したり、(API キーを使って)Total CMS サイトを直接管理したりできます。

これはホスト型コネクターではなく、ローカルブリッジです。お使いのマシン上で小さな Node プロセスとして実行され、サイトの /mcp エンドポイントに HTTPS 経由で MCP トラフィックを中継します。これにより、認証アクセス用のカスタム X-API-Key ヘッダーを付与できます。オプションの認証を通知するサーバーに対して、Claude Desktop の組み込みリモートコネクターではできないことです。

プライバシーポリシー

この拡張機能は、独自のデータを収集、送信、保存しません。お使いのマシンから、設定した Total CMS MCP エンドポイント(デフォルト:https://totalcms.co/mcp。Total CMS の公式ドキュメントサイト)へ直接 HTTPS 接続を開き、Claude Desktop とそのエンドポイント間で MCP プロトコルメッセージを中継します。オプションの API キーは、OS のセキュアな認証情報ストアに保存され(Claude Desktop の sensitive: true 設定処理を介します)、設定したサイトへのリクエストの X-API-Key ヘッダーとしてのみ送信されます。ログに記録されることも、ほかの場所に送信されることもありません。

Total CMS 製品および totalcms.co 自体のプライバシーポリシーについては、https://totalcms.co/privacy をご覧ください。

セットアップ

設定不要:Total CMS 自体について質問する

拡張機能をインストールするだけです。デフォルトで Total CMS の公式ドキュメントサーバーである https://totalcms.co/mcp に接続するため、「Total CMS でウェブフックを設定するには?」「Total CMS はどのスキーマフィールドに対応していますか?」といった質問に、Claude がすぐに回答できます。

自分のサイトに接続する
  1. Total CMS の管理画面で、Settings -> MCP に移動し、サイトの MCP エンドポイント URL をコピーします(https://yoursite.com/mcp のような形式です。Total CMS をサブパスにインストールしている場合は、サブパスも含まれます)。
  2. Claude Desktop の Total CMS 拡張機能の設定で、その URL を Total CMS MCP endpoint に貼り付けます。
  3. 再インストールまたは再接続します。これで Claude は、サイトの公開 コレクションを閲覧、検索できます。
認証済みアクセス
  1. Settings → API Keys で、サイト用の Total CMS API キーを作成します。キーの Scopes で許可される操作が、そのまま Claude に許可される操作になります。
    • 管理者権限でのフルアクセス: すべての HTTP メソッドで、すべてのエンドポイント(*)にアクセスできます。
    • アクセス制限: キーのパスに /mcp と、アクセスを許可するコレクション(/api/collections/blog など)を追加します。/mcp だけではエンドポイントに接続できますが、コンテンツにはアクセスできません。キーに設定された HTTP メソッドによって、使用できるツールが決まります。GET のみを許可したキーでは読み取り専用で接続します。アクセス制限付きのキーでコレクションにアクセスするには、そのコレクションの MCP アクセスが API keys 以上に設定されている必要があります。Keys over MCP をご覧ください。
  2. 拡張機能の設定にある API key (optional) フィールドにキーを貼り付けます。 キーは OS のキーチェーンに保存され、平文では保存されません。
  3. Claude は公開コンテンツに加えて、キーで許可された内容にアクセスできるようになります。 管理者権限をすべて含むキーでは、スキーマ管理、テンプレート、サイト情報、キャッシュの消去も利用できます。Claude のアクセスを公開された匿名アクセスに限定するには、このフィールドを空欄のままにします。
その他の MCP クライアント

ブリッジは標準的な stdio MCP サーバーなので、ローカルサーバーを起動するあらゆるクライアント(Cursor、VS Code、Windsurf など)で、Node 18 以降を使って実行できます。カスタムヘッダー付きのリモートサーバーに対応しているクライアントなら、ブリッジを介さず、サイトの /mcp エンドポイントに直接接続できます。

  1. 最新リリースから totalcms.mcpb をダウンロードします。これは zip アーカイブです。任意の場所に解凍してください。中の server/index.js は単体で動作し、npm install は不要です。

  2. クライアントの MCP 設定に追加します。

    {
      "mcpServers": {
        "totalcms": {
          "command": "node",
          "args": ["/path/to/totalcms/server/index.js"],
          "env": {
            "MCP_URL": "https://yoursite.com/mcp",
            "API_KEY": ""
          }
        }
      }
    }
    

    Total CMS のドキュメントサーバーを使用するには MCP_URL を空のままにし、公開された匿名アクセスを使用するには API_KEY を空のままにします。

ソースからビルドする場合は、npm install && npm run build を実行すると server/index.js が生成されます。

仕組み

server/index.js は小さな stdio MCP サーバーで、Claude Desktop が直接起動します(Node のインストールは不要です。MCPB バンドルには独自のランタイム処理が含まれています)。設定した MCP_URL に ストリーミング可能な HTTP 接続を開き、すべての JSON-RPC メッセージを双方向にそのまま転送します。対象は initialize、tools/list、tools/call、resources/*、prompts/* と、すべての通知です。API_KEY が設定されている場合、すべての送信 HTTP リクエストに X-API-Key ヘッダーを付加します。

MCP_URL が https:// でない場合は起動を拒否します。ローカルでのテストであっても、通信上で認証情報を平文で送信することは認められません。

mcp-remote を使わない理由

最初にこれを試しました(詳細な説明は BUILD-REPORT.md を参照してください)。要点は、mcp-remote は起動時に必ず OAuth の検出を実行し、HTTP 401 レスポンスを受け取ると、無効にするフラグがないままブラウザーでの OAuth 認証フローを開始することです。Total CMS は OAuth ではなく通常の API キーヘッダーを使用します。無効なキーは、OAuth に対応していないサーバーに対する OAuth を試みるブラウザーポップアップの裏で停止するのではなく、MCP クライアントに明確な 401 エラーとして表示されるべきです。そのため、このバンドルでは @modelcontextprotocol/sdk の StreamableHTTPClientTransport と StdioServerTransport を直接利用した、小規模な手書きプロキシを同梱しています。

開発

npm install
npm run build     # typecheck -> esbuild bundle -> mcpb validate -> mcpb pack

dist/totalcms.mcpb が生成されます。このファイルを Claude Desktop にドラッグしてインストールします。

npm run typecheck と npm run validate は単独で実行できます。

リリース

npm run bump 0.3.0                  # rewrites the version in all four files
# add a "## [0.3.0] - YYYY-MM-DD" section to CHANGELOG.md
git commit -am "Release v0.3.0"
git tag v0.3.0 && git push origin master v0.3.0

タグをプッシュすればリリースは完了です。Release ワークフローがバンドルをビルドし、GitHub リリースに添付して、新しいバージョンを MCP Registry に io.github.totalcms/total-cms として公開します。

GitHub リリースノートには、対応する CHANGELOG.md のセクションが使われます。リリースの説明はそこに記載するため、タグを付ける前に書いてください。セクションがない場合は警告が表示され、ビルドは失敗せずに生成されたノートが使われます。説明文が書かれていないことを理由にリリースを止めるべきではありません。

知っておくべきことが、もう 2 つあります。

  • レジストリは GitHub Releases とは別のシステムです。 MCP ディレクトリからインストールしたユーザーは、リリースページではなくレジストリから更新を取得します。一方だけを公開すると、ユーザーは古いバージョンのまま取り残されます。そのためワークフローでは両方を実行し、手作業でリリースを公開すべきでないのです。
  • server.json の fileSha256 は CI が書き込みます。 zip にはタイムスタンプが含まれるため、CI でのビルドとローカルでのビルドではハッシュが一致しません。git にコミットされている値は、直近のローカルビルドの記録にすぎないため、無視してください。

レジストリへの認証には GitHub OIDC を使うため、更新が必要なシークレットはありません。すでに存在するタグ、またはこのワークフロー導入前にリリースされたタグを再公開するには、Actions タブから Release ワークフローを手動で実行し、そのタグを指定します。

セキュリティに関する注意事項

  • ファイルシステムへのアクセスは一切なく、サブプロセスも一切起動せず、外部への HTTPS 通信先は 1 つだけです(MCP_URL が指すホスト)。
  • API キーは API_KEY 環境変数から読み取られます(Claude Desktop がキーチェーンに保存された設定から設定します)。標準出力、標準エラー出力、ログには一切書き込まれません。
  • MCP_URL は https:// で始まる必要があります。そうでない場合、プロセスは起動を拒否します。

ライセンス

ソースコードはMITライセンスです。Total CMS という名称、炎のロゴ、同梱されている icon.png は商標であり、この許諾の対象ではありません。コードをフォークすることはできますが、再配布するバージョンを Total CMS が公開または推奨したものとして表示してはなりません。TRADEMARKS.md をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。