TurboSteed MCP について
TurboSteed CLI は、Web サイトのデプロイ、アセット管理、CMS 操作を行うコマンドラインツールで、AI コーディングエージェントにも対応します。ローカル MCP サーバーがリクエストを TurboSteed のバックエンドへ中継します。
主な機能
- 01Web サイトのデプロイとプレビュー
- 02アセットのアップロード、一覧表示、削除
- 03CMS スキーマとエントリーの管理
- 04お問い合わせフォーム送信内容の取得
- 05CI/CD パイプラインからのデプロイ
- 06Claude 連携用 MCP サーバー
活用シーン
- 01ビルドディレクトリからサイトを公開
- 02CI/CD パイプラインでサイトをデプロイ
- 03CMS スキーマとコンテンツの保守
- 04Claude でフォーム送信やサイト設定を確認
MCP 対応
ローカルの stdio MCP サーバーが、クライアントからのリクエストを TurboSteed のバックエンド MCP HTTP エンドポイントへ中継します。サイト設定、CMS、Webhook、連絡先、アセット、デプロイ用のツールを AI アシスタントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @turbosteed/cliTURBOSTEED_ACCOUNT_SIDYour unique TurboSteed Account String IdentifierTURBOSTEED_API_KEYシークレットSecret API Key used to authenticate your deployment payloadTURBOSTEED_SITE_IDTarget Site Identifier for hosting web filesローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
TurboSteed CLI
ターミナルまたは CI/CD パイプラインから TurboSteed サイトをデプロイして管理できます。
機能
- 1 つのコマンドでサイトをデプロイ
- アセットの管理(アップロード、一覧表示、削除)
- お問い合わせフォームの送信内容を取得
- CMS のスキーマとエントリーを管理
- 進捗インジケーターと整形された出力
- GitHub Actions、GitLab CI、Bitbucket Pipelines で動作
- Claude Code / Claude Desktop と連携する MCP サーバー
要件
- Node.js 18.0.0 以上
- TurboSteed アカウント(登録)
インストール
グローバルインストール(推奨)
npm install -g @turbosteed/cli
インストールを確認します。
turbosteed --version
ローカルインストール(プロジェクトごと)
npm install --save-dev @turbosteed/cli
npx で実行します。
npx turbosteed deploy
または、package.json の scripts に追加します。
{
"scripts": {
"deploy": "turbosteed deploy --source ./dist"
}
}
設定
ステップ 1:認証情報を取得する
- TurboSteed Dashboard にログインします
- Settings > API Keys に移動します
- Account SID と API Key をコピーします
- サイトに移動し、Site ID をコピーします
ステップ 2:環境変数を設定する
export TURBOSTEED_ACCOUNT_SID="your-account-sid"
export TURBOSTEED_API_KEY="your-api-key"
export TURBOSTEED_SITE_ID="your-site-id"
永続的に設定するには、シェルのプロファイル(~/.bashrc、~/.zshrc など)に追加します。
ステップ 3(任意):設定ファイルを作成する
プロジェクトのルートに turbosteed.json を作成します。
{
"version": "1",
"site": {
"id": "your-site-id",
"accountSid": "your-account-sid"
},
"deploy": {
"source": "./dist",
"exclude": ["**/*.map", ".DS_Store"]
}
}
注: API キーを設定ファイルに記載しないでください。シークレットには必ず環境変数を使用してください。
環境変数リファレンス
| 変数 | 必須 | 説明 |
|---|---|---|
TURBOSTEED_ACCOUNT_SID | はい | アカウント識別子 |
TURBOSTEED_API_KEY | はい | API キー(秘密にしてください) |
TURBOSTEED_SITE_ID | はい* | サイト ID(*設定ファイルにも指定できます) |
TURBOSTEED_API_BASE | いいえ | API ベース URL(デフォルトは本番環境) |
使用方法
サイトをデプロイする
# Deploy from ./dist (default)
turbosteed deploy
# Deploy from a specific directory
turbosteed deploy --source ./build
# Preview what would be deployed
turbosteed deploy --dry-run
# Output result as JSON
turbosteed deploy --json
要件:
- ソースディレクトリに
index.htmlファイルが含まれている必要があります - zip の最大サイズ:25 MB
アセットを管理する
# Upload a file
turbosteed assets upload ./images/logo.png
# List first page of assets
turbosteed assets list
# List ALL assets (automatic pagination)
turbosteed assets list --all
# Manual pagination (next page)
turbosteed assets list --page <token>
# Delete an asset
turbosteed assets delete logo.png
お問い合わせフォーム
# List first page of submissions
turbosteed forms list
# List ALL submissions (automatic pagination)
turbosteed forms list --all
# Manual pagination (next page)
turbosteed forms list --page <formId>
# Get a specific submission
turbosteed forms get <formId>
CMS コンテンツ
# List first page of schemas
turbosteed cms schema list
# List ALL schemas (automatic pagination)
turbosteed cms schema list --all
# Create a schema from JSON file
turbosteed cms schema create ./blog-schema.json
# List first page of entries in a schema
turbosteed cms entry list <schemaId>
# List ALL entries (automatic pagination)
turbosteed cms entry list <schemaId> --all
# Create an entry
turbosteed cms entry create <schemaId> ./post.json
# Publish an entry
turbosteed cms entry publish <schemaId> <entryId>
スキーマファイルの例(blog-schema.json):
{
"display_name": "Blog Posts",
"schema_mode": "custom",
"fields": [
{ "name": "title", "type": "text", "required": true, "max_length": 200 },
{ "name": "slug", "type": "slug", "source_field": "title", "required": true },
{ "name": "body", "type": "richtext", "required": true },
{ "name": "published_date", "type": "date", "required": false }
]
}
エントリーファイルの例(post.json):
{
"title": "My First Post",
"slug": "my-first-post",
"body": "# Hello World\n\nThis is my first blog post.",
"published_date": "2026-07-01"
}
CI/CD 連携
GitHub Actions
.github/workflows/deploy.yml を作成します。
name: Deploy to TurboSteed
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install and Build
run: npm ci && npm run build
- name: Deploy to TurboSteed
env:
TURBOSTEED_ACCOUNT_SID: ${{ secrets.TURBOSTEED_ACCOUNT_SID }}
TURBOSTEED_API_KEY: ${{ secrets.TURBOSTEED_API_KEY }}
TURBOSTEED_SITE_ID: ${{ secrets.TURBOSTEED_SITE_ID }}
run: npx @turbosteed/cli deploy --source ./dist
GitLab CI
.gitlab-ci.yml を作成します。
stages:
- build
- deploy
build:
stage: build
image: node:20
script:
- npm ci
- npm run build
artifacts:
paths:
- dist/
deploy:
stage: deploy
image: node:20
dependencies:
- build
script:
- npx @turbosteed/cli deploy --source ./dist
only:
- main
Bitbucket Pipelines
bitbucket-pipelines.yml を作成します。
image: node:20
pipelines:
branches:
main:
- step:
name: Build
caches:
- node
script:
- npm ci
- npm run build
artifacts:
- dist/**
- step:
name: Deploy to TurboSteed
deployment: production
script:
- npx @turbosteed/cli deploy --source ./dist
MCP 連携(Claude Code / Claude Desktop)
この CLI には MCP(Model Context Protocol)サーバーが含まれており、Claude などの AI アシスタントから TurboSteed サイトをプログラムで管理できます。
セットアップ
Claude Desktop の設定ファイル(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json)に追加します。
{
"mcpServers": {
"turbosteed": {
"command": "npx",
"args": ["@turbosteed/cli", "--mcp"],
"env": {
"TURBOSTEED_ACCOUNT_SID": "your-account-sid",
"TURBOSTEED_API_KEY": "your-api-key",
"TURBOSTEED_SITE_ID": "your-site-id",
"TURBOSTEED_API_BASE": "https://api-us.turbosteed.com"
}
}
}
}
Claude Code の場合は、~/.claude/settings.json に追加します。
{
"mcpServers": {
"turbosteed": {
"command": "npx",
"args": ["@turbosteed/cli", "--mcp"],
"env": {
"TURBOSTEED_ACCOUNT_SID": "your-account-sid",
"TURBOSTEED_API_KEY": "your-api-key",
"TURBOSTEED_SITE_ID": "your-site-id",
"TURBOSTEED_API_BASE": "https://api-us.turbosteed.com"
}
}
}
}
MCP サーバーを直接起動する
コマンドラインから MCP サーバーを直接起動することもできます。
turbosteed --mcp
または npx で実行します。
npx @turbosteed/cli --mcp
MCP 環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
TURBOSTEED_ACCOUNT_SID | はい | アカウント識別子(例:AC...) |
TURBOSTEED_API_KEY | はい | API キー(例:sk_...) |
TURBOSTEED_SITE_ID | はい | サイト識別子(例:site_...) |
TURBOSTEED_API_BASE | いいえ | API ベース URL(https://api-us.turbosteed.com) |
仕組み
この CLI はローカルの stdio MCP サーバーを実行し、すべてのリクエストを TurboSteed バックエンドの MCP HTTP エンドポイント ${TURBOSTEED_API_BASE}/users/${accountSid}/sites/${siteId}/mcp に中継します。Claude から stdio 経由で MCP プロトコルメッセージを受信し、HTTP 経由でバックエンドに転送して、応答を stdio 経由で返します。
利用可能なツール
設定が完了すると、Claude は次のツールを使用できます。
| ツール | 説明 |
|---|---|
site.get | サイト設定を取得 |
site.update | サイト設定を更新 |
cms.schema.list | CMS スキーマの一覧を取得 |
cms.schema.get | スキーマ定義を取得 |
cms.schema.create | 新しいスキーマを作成 |
cms.entry.list | スキーマ内のエントリー一覧を取得 |
cms.entry.get | 特定のエントリーを取得 |
cms.entry.create | 新しいエントリーを作成 |
cms.entry.update | エントリーを更新 |
cms.entry.publish | エントリーを公開 |
webhooks.list | Webhook の一覧を取得 |
webhooks.create | Webhook を作成 |
contacts.list | お問い合わせフォームの送信内容一覧を取得 |
contacts.get | 特定の送信内容を取得 |
assets.list | すべてのアセットの一覧を取得 |
assets.delete | アセットを削除 |
deploy.getUploadUrl | 署名付きアップロード URL を取得 |
deploy.trigger | デプロイを開始 |
apikeys.getSiteCredentials | RAG/ウィジェット用の公開サイト認証情報を取得 |
使用例
Claude に次のように尋ねます。
- 「CMS スキーマをすべて一覧表示して」
- 「タイトルが『Hello World』のブログ投稿エントリーを新規作成して」
- 「サイト設定を表示して」
- 「お問い合わせフォームからの送信内容を教えて」
終了コード
| コード | 意味 |
|---|---|
| 0 | 成功 |
| 1 | 一般エラー |
| 2 | 認証エラー |
| 3 | リソースが見つかりません |
| 4 | アップロード/ネットワークエラー |
| 5 | 無効な入力 |
| 6 | 設定エラー |
代替手段:シェルスクリプト(Node.js 不要)
Node.js を利用できない環境では、シェルスクリプトを使用します。
curl -sSL https://raw.githubusercontent.com/turbosteed/shell-tools/main/scripts/deploy.sh | bash -s ./dist
github.com/turbosteed/shell-tools をご覧ください。
サポート
ライセンス
本ソフトウェアは TurboSteed アカウントでのみ使用できます。詳細な条件については LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。