mcpField
C
Cosmic

Cosmic

リモート
cosmicjs.comビジネス・マーケティング15 日前に更新
リポジトリ公式サイト

Cosmic について

Cosmic は、Cosmic CMS のコンテンツ、メディア、オブジェクトタイプを管理し、AI でコンテンツを生成する MCP サーバーです。ホスト型 HTTP エンドポイントとローカルの stdio に対応し、書き込み権限はバケットキーで制御します。

主な機能

  1. 01コンテンツオブジェクトの作成・取得・更新・削除
  2. 02メディアファイルのアップロードと管理
  3. 03オブジェクトタイプとフィールドの作成・変更
  4. 04テキスト・画像・動画の生成
  5. 05再利用可能なリッチテキストブロックの一覧

活用シーン

  1. 01MCP クライアントからブログを管理
  2. 02メディアをアップロードしてライブラリを整理
  3. 03バケットのコンテンツスキーマを調整
  4. 04AI 生成テキストやメディアを保存

MCP 対応

ホスト型の Streamable HTTP MCP サーバーを提供し、ローカルでは stdio でも実行できます。コンテンツオブジェクト、メディア、オブジェクトタイプ、AI 生成、コンテンツブロックをツールとして公開します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.cosmicjs.com/v1/buckets/{bucket_slug}
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://mcp.cosmicjs.com/v1/buckets/{bucket_slug}認証が必要
パッケージ
npm@cosmicjs/mcp1.6.0

ツール

詳細

Cosmic MCP Server

Cosmic は、ホスト型 MCP サーバー、製品内 AI ワークフロー、エージェント登録機能を備えたヘッドレス CMS です。エージェントはコンテンツの読み取りと書き込み、テキスト・画像・動画・音声の生成とメディアライブラリへの保存、コンテンツ・コード・ブラウザーのステップの連携、または既存のアカウントなしでの新しいプロジェクトのプロビジョニングを行えます。

機能一覧:https://www.cosmicjs.com/ai-cms

MCP 登録(認証情報不要):https://mcp.cosmicjs.com/v1/agent

機能

  • コンテンツ管理:Cosmic バケット内のオブジェクトの作成、読み取り、更新、削除
  • メディア管理:メディアファイルのアップロード、一覧表示、管理
  • スキーマ管理:カスタムメタフィールドを使用したオブジェクトタイプの作成と変更
  • AI 生成:Cosmic の AI 機能を使用したテキスト、画像、動画の生成

ホスト型エンドポイント(推奨)

Cosmic はホスト型のストリーミング可能な HTTP MCP サーバーを提供しています。インストールは不要です。

URL:https://mcp.cosmicjs.com/v1/buckets/{bucket-slug}

Cosmic では、バケットごとに読み取りキーと書き込みキーを別々に使用します。次のいずれかの方法で認証してください。

Authorization: Bearer <read_key>                       # read-only tools
Authorization: Bearer <read_key>:<write_key>           # full access

クライアントでベアラートークンをコロン区切りにできない場合は、書き込みキーを X-Cosmic-Write-Key ヘッダーで別途送信することもできます。キーは Cosmic ダッシュボードのバケットの API Access 設定で発行できます。

読み取り専用アクセス(一覧表示/取得ツール)には読み取りキーを、オブジェクトの作成、メディアのアップロード、AI 生成など、すべての機能を利用するには書き込みキーを使用してください。

Claude Desktop(リモート MCP)

Claude Desktop で、Settings -> Connectors -> Add custom connector を選択し、次の情報を入力します。

  • URL:https://mcp.cosmicjs.com/v1/buckets/your-bucket-slug
  • ベアラートークン:読み取り専用アクセスの場合は <read_key>、すべての機能を利用する場合は <read_key>:<write_key>
Cursor(リモート MCP)

.cursor/mcp.json に追加します。

{
  "mcpServers": {
    "cosmic": {
      "url": "https://mcp.cosmicjs.com/v1/buckets/your-bucket-slug",
      "headers": {
        "Authorization": "Bearer your-bucket-read-key:your-bucket-write-key"
      }
    }
  }
}

ローカルインストール(stdio)

リモート MCP に対応していない環境では、同じサーバーを stdio でローカル実行できます。

npx を使用(推奨)
npx @cosmicjs/mcp
グローバルインストール
npm install -g @cosmicjs/mcp
cosmic-mcp
ソースからインストール
git clone https://github.com/cosmicjs/mcp.git
cd mcp
bun install
bun run build

設定

サーバーには次の環境変数が必要です。

変数必須説明
COSMIC_BUCKET_SLUGはいCosmic バケットのスラッグ
COSMIC_READ_KEYはい読み取り操作用のバケット読み取りキー
COSMIC_WRITE_KEYいいえ書き込み操作用のバケット書き込みキー
認証情報の取得
  1. Cosmic ダッシュボードにログインします
  2. バケットに移動します
  3. Settings → API Access を開きます
  4. バケットのスラッグ、読み取りキー、書き込みキーをコピーします
Claude Desktop でのローカル stdio

ホスト型エンドポイントではなく、MCP サーバーをローカルで実行する場合は、以下を Claude Desktop の設定ファイルに追加します。

macOS:~/Library/Application Support/Claude/claude_desktop_config.json Windows:%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "cosmic": {
      "command": "npx",
      "args": ["@cosmicjs/mcp"],
      "env": {
        "COSMIC_BUCKET_SLUG": "your-bucket-slug",
        "COSMIC_READ_KEY": "your-read-key",
        "COSMIC_WRITE_KEY": "your-write-key"
      }
    }
  }
}
Cursor でのローカル stdio
{
  "mcpServers": {
    "cosmic": {
      "command": "npx",
      "args": ["@cosmicjs/mcp"],
      "env": {
        "COSMIC_BUCKET_SLUG": "your-bucket-slug",
        "COSMIC_READ_KEY": "your-read-key",
        "COSMIC_WRITE_KEY": "your-write-key"
      }
    }
  }
}

利用可能なツール

オブジェクト
ツール説明
cosmic_objects_listオプションのタイプフィルター、ステータス、ページネーションを指定してオブジェクトを一覧表示
cosmic_objects_getID またはスラッグで単一のオブジェクトを取得
cosmic_objects_create新しいオブジェクトを作成(書き込みキーが必要)
cosmic_objects_update既存のオブジェクトを更新(書き込みキーが必要)
cosmic_objects_deleteオブジェクトを削除(書き込みキーが必要)
メディア
ツール説明
cosmic_media_listオプションのフォルダーフィルターを指定してメディアファイルを一覧表示
cosmic_media_getID でメディアの詳細を取得
cosmic_media_uploadURL または base64 からメディアをアップロード(書き込みキーが必要)
cosmic_media_deleteメディアファイルを削除(書き込みキーが必要)
オブジェクトタイプ
ツール説明
cosmic_types_listバケット内のすべてのオブジェクトタイプを一覧表示します
cosmic_types_getスラッグでオブジェクトタイプのスキーマを取得します
cosmic_types_create新しいオブジェクトタイプを作成します(書き込みキーが必要です)
cosmic_types_updateオブジェクトタイプのスキーマを更新します(書き込みキーが必要です)
cosmic_types_deleteオブジェクトタイプを削除します(書き込みキーが必要です)
AI 生成
ツール説明
cosmic_ai_generate_textAI を使ってテキストコンテンツを生成します
cosmic_ai_generate_imageAI 画像または SVG を生成してアップロードします(書き込みキーが必要です)
cosmic_ai_generate_videoAI 動画を生成してアップロードします(書き込みキーが必要です)
コンテンツブロック
ツール説明
cosmic_blocks_listバケット内で再利用可能なリッチテキストのコンテンツブロック(リッチテキストフィールドで使用できる {{name /}} トークン)を一覧表示します

プロンプトの例

Claude または Cursor で使えるプロンプトの例を紹介します。

コンテンツ管理
List all blog posts in my Cosmic bucket
Create a new blog post titled "Getting Started with MCP" with the content "This is an introduction to the Model Context Protocol..."
Update the blog post with ID "abc123" to change its status to published
メディア
Show me all images in the "blog-images" folder
Upload this image URL to my media library: https://example.com/image.jpg
スキーマ管理
Show me all object types in my bucket
Create a new object type called "Products" with fields for name, price, description, and image
AI 生成
Generate a product description for a wireless bluetooth headphone
Generate an image of a futuristic city skyline at sunset and upload it to my media library

開発

ビルド
bun run build

次の 2 つのバイナリが生成されます。

  • dist/stdio.js - npm 公開用の stdio エントリ(bin: cosmic-mcp)
  • dist/http.js - ホスト型のストリーミング可能な HTTP エントリ(ECS Fargate にデプロイ)
ウォッチモード(stdio)
bun run dev
ローカルで実行(stdio)
COSMIC_BUCKET_SLUG=your-bucket \
COSMIC_READ_KEY=your-read-key \
COSMIC_WRITE_KEY=your-write-key \
bun run start
ローカルで実行(HTTP)
bun run dev:http
# Server listens on http://localhost:3000
# POST http://localhost:3000/v1/buckets/{slug} with Authorization: Bearer <key>
デプロイ

main へのプッシュは、GitHub Actions を通じて https://mcp.cosmicjs.com にデプロイされます。ワークフロー: .github/workflows/deploy.yml。

npm へのリリース

リリースでは、@cosmicjs/sdk と同じ Changesets のフローを使用します。リリース対象となる変更ごとに、バージョンの更新内容(patch | minor | major)を記述した changeset(bunx changeset)を追加してください。package.json の version フィールドを手動で編集しないでください。

  1. 機能 PR を main にマージします。Package Checks がパスする必要があります。
  2. CI が Version Packages PR を作成または更新します。この PR は changeset を適用してバージョンを更新し、CHANGELOG.md を更新するとともに、server.json と SERVER_VERSION の同期を保つために scripts/sync-version.mjs を実行します。
  3. Version Packages PR をマージすると、publish.yml を通じて npm に公開されます(リポジトリシークレット NPM_TOKEN が必要です)。

v*.*.* タグを手動でプッシュしないでください。ホスト型 MCP は、deploy.yml を通じて main / staging から別途デプロイされます。

MCP レジストリへの公開

このサーバーは、server.json に記述されている com.cosmicjs 名前空間の registry.modelcontextprotocol.io に登録されています。

公開順序が重要です。レジストリは、登録内容が実際に npm に公開されているものと一致するかを検証するため、先に npm にリリースし、その後に登録内容を公開してください。レジストリが npm パッケージの所有者であることを証明するため、package.json の mcpName は常に server.json の name と一致させる必要があります。

ドメイン所有権を証明するための初回セットアップです。macOS に付属する LibreSSL では Ed25519 キーを生成できないため、ECDSA P-384 を使用します(Ed25519 を使用する場合は brew install openssl@3 を実行してください)。

openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:secp384r1 -out key.pem

PUBLIC_KEY="$(openssl ec -in key.pem -text -noout -conv_form compressed | grep -A4 "pub:" | tail -n +2 | tr -d ' :\n' | xxd -r -p | base64)"
echo "cosmicjs.com. IN TXT \"v=MCPv1; k=ecdsap384; p=${PUBLIC_KEY}\""

この TXT レコードを cosmicjs.com の apex に追加してください。_mcp-auth.cosmicjs.com のようなセレクターは検出されず、一般的な署名エラーになります。apex の TXT レコードセットには SPF レコードと Google の認証レコードも含まれているため、置き換えるのではなく追加してください。key.pem をリポジトリに含めないでください。~/.cosmic-mcp/key.pem に保存します。

その後、npm リリースのたびに登録内容を公開します(最初に brew install mcp-publisher を実行してください)。

PRIVATE_KEY="$(openssl ec -in ~/.cosmic-mcp/key.pem -noout -text | grep -A4 "priv:" | tail -n +2 | tr -d ' :\n')"
mcp-publisher login dns --algorithm ecdsap384 --domain cosmicjs.com --private-key "${PRIVATE_KEY}"
mcp-publisher publish

--algorithm ecdsap384 は必須です。パブリッシャーはデフォルトで ed25519 を使用し、P-384 キーを invalid seed length: expected 32 bytes, got 48 というエラーで拒否します。このエラーは、アルゴリズムの誤りではなくキーの破損を示しているように見えます。

API リファレンス

Cosmic API の詳細については、以下をご覧ください。

ライセンス

MIT

コントリビューション

コントリビューションを歓迎します!Issue を作成するか、プルリクエストを送信してください。

サポート

コメント

MCP は初めてですか?

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

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