mcpField
A
Arcane RMCP

Arcane RMCP

ローカル
rarcane.dinglebear.aiクラウド・インフラ37 週間前に更新

Arcane RMCP について

Arcane RMCPは、既存のArcaneサービスを管理するMCP・CLIブリッジです。DockerやComposeを扱う運用担当者やエージェント向けに、Arcaneの各種リソース操作を中継し、破壊的操作には明示的な確認を求めます。

主な機能

  1. 01ArcaneとDockerリソースの状態確認
  2. 02プロジェクト、コンテナ、イメージ、ボリュームの管理
  3. 03GitOps同期とイメージ更新の処理
  4. 04脆弱性検出結果とシステム状態の確認
  5. 05setup、doctor、watchコマンドの提供

活用シーン

  1. 01コンテナと環境の状態確認
  2. 02Composeプロジェクトのデプロイや同期
  3. 03イメージ、ネットワーク、ボリュームの管理
  4. 04イメージ更新と脆弱性検出結果の確認

MCP 対応

アクションを振り分けるMCPツール`arcane`に加え、`quick_start`プロンプトとスキーマリソースを提供します。クライアントはstdioまたはStreamable HTTPで接続でき、書き込み操作はスコープで制御され、破壊的操作には確認が必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ai-dinglebear-rarcane": {
"command": "npx",
"args": [
"-y",
"@dinglebear/rarcane"
],
"env": {
"RARCANE_API_URL": "<RARCANE_API_URL>",
"RARCANE_API_KEY": "<RARCANE_API_KEY>",
"ARCANE_RMCP_VERSION": "<ARCANE_RMCP_VERSION>",
"ARCANE_RMCP_REPO": "<ARCANE_RMCP_REPO>",
"ARCANE_RMCP_RELEASE_BASE_URL": "<ARCANE_RMCP_RELEASE_BASE_URL>",
"RUST_LOG": "<RUST_LOG>"
}
}
}
}
起動コマンドnpx -y @dinglebear/rarcane
設定が必要な環境変数
RARCANE_API_URLArcane API base URL.
RARCANE_API_KEYシークレットArcane API key or bearer token.
ARCANE_RMCP_VERSIONOptional GitHub release tag override for the downloaded Arcane RMCP binary.
ARCANE_RMCP_REPOOptional GitHub owner/repo override for release asset downloads.
ARCANE_RMCP_RELEASE_BASE_URLOptional release download base URL override.
RUST_LOGTracing filter for Arcane RMCP logs.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@dinglebear/rarcane0.4.4

ツール

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

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

詳細

arcane-rmcp

MCP と CLI を介した、認証済みの stdio および HTTP による Arcane Docker・Compose 管理。

MCP ツール arcane と rarcane CLI を提供します。エージェントは、stdio MCP、Streamable HTTP MCP、またはシェルコマンドを直接実行して、Arcane 環境の確認、Compose プロジェクト、コンテナー、イメージ、ネットワーク、ボリューム、レジストリ、GitOps 同期、イメージ更新、脆弱性の検出結果、システム操作を管理できます。

30 秒で始める手順: RARCANE_API_URL と RARCANE_API_KEY を設定し、npx -y @dinglebear/rarcane status を実行します。次に、RARCANE_MCP_HOST=127.0.0.1 npx -y @dinglebear/rarcane serve でループバック HTTP を起動し、{"action":"status"} を指定して tools/call を呼び出します。

ステータス: 稼働中の RMCP アップストリームクライアントサーバーです。書き込みに対応しています。破壊的な Docker および Arcane 操作には明示的な確認が必要です。HTTP MCP は、ループバック開発モード、静的ベアラートークン、lab-auth を介した Google OAuth に対応しています。

用途外: Arcane の置き換え、Docker や Arcane の認可の回避、任意のシェルコマンドの実行、レジストリまたは Git の認証情報の保存、マルチテナント分離、MCP ツール引数による Arcane API キーの受け渡し。

目次

命名

インターフェースこのリポジトリ
リポジトリarcane-rmcp
Rust クレートrarcane
バイナリ/CLIrarcane
npm パッケージ@dinglebear/rarcane
npm バイナリのエイリアスrarcane
MCP サーバー名バンドルされたプラグイン/クライアント設定では rarcane
MCP ツールarcane
設定ホームホストでは ~/.rarcane、コンテナーでは /data
環境変数のプレフィックスnpm ランチャーの制御には RARCANE_*、RARCANE_MCP_*、RARCANE_RMCP_*

リポジトリと npm パッケージにはアップストリームサービス名を使用し、配布バイナリには過去から使われている Rust CLI 名 rarcane を引き続き使用します。MCP サーバーは rarcane として登録できますが、クライアントが呼び出すツール名は arcane です。

機能と境界

  • Arcane のステータスに加え、Docker 環境、プロジェクト、コンテナー、イメージ、ネットワーク、ボリューム、レジストリ、GitOps、更新、脆弱性、システムの状態を読み取ります。
  • アクション/サブアクションのディスパッチを通じて、対応する Arcane リソースの作成、更新、起動、停止、再起動、削除、クリーンアップ、デプロイ、同期、スキャン、バックアップを実行します。
  • 書き込み操作を Arcane に転送する前に、アクションのスコープと破壊的操作の確認を適用します。
  • クライアント側での検出に使用できる quick_start プロンプトと rarcane://schema/mcp-tool リソースを提供します。
  • ローカルのプラグイン/ランタイム確認用に、セットアップ、doctor、watch コマンドを提供します。
このリポジトリの責任範囲Arcane の責任範囲明示的な対象外
MCP/CLI の投影、リクエストの検証、認証ポリシー、レスポンスの整形、セットアップ確認、スキーマ/リソースの公開、破壊的操作のゲート。Docker の状態、Arcane のプロジェクトと環境、アップストリームの認可、レジストリの認証情報、GitOps のシークレット、脆弱性スキャナーの出力、API のセマンティクス。Docker ソケットへの直接アクセス、シェル実行、認証情報の保存、汎用 REST プロキシの動作、マルチテナントのサンドボックス化、スケジューラーの動作、Arcane UI/API の置き換え。

インストール

パスコマンド最適な用途備考
npm / npxnpx -y @dinglebear/rarcane --helpローカル MCP クライアントや手早い試用に適しています。GitHub Releases から対応する rarcane バイナリをダウンロードします。
リリースインストーラーcurl -fsSL https://raw.githubusercontent.com/dinglebear-ai/rarcane/main/scripts/install.sh | bashNode を使わないホストへのインストールに適しています。現在の Linux ホストに rarcane をインストールします。
Docker / Composedocker compose up -d共有 HTTP MCP デプロイに適しています。.env を読み込み、コンテナーポート 40110 を公開します。
ソースからビルドcargo build --release開発や監査に適しています。target/release/rarcane を生成します。
プラグインclaude plugin install plugins/rarcaneこのチェックアウトから Claude Code のローカルプラグインをセットアップする場合に適しています。パッケージ化されたスキルとモニターのメタデータを使用します。このプラグインにはライフサイクルフックは含まれていません。インストール後に rarcane setup repair を一度実行してください。
npm / npx

バイナリを手動でインストールせずに、stdio MCP サーバーまたは CLI を実行します。

npx -y @dinglebear/rarcane --help
npx -y @dinglebear/rarcane mcp
npx -y @dinglebear/rarcane status

npm パッケージは postinstall 中に rarcane をダウンロードします。ダウンロードの 動作を変更するのは、パッケージングのテスト時のみにしてください。

変数用途
RARCANE_RMCP_SKIP_DOWNLOAD=1postinstall によるバイナリのダウンロードをスキップします。
RARCANE_RMCP_VERSION または RARCANE_RMCP_BINARY_VERSIONGitHub Release のタグを選択します。
RARCANE_RMCP_REPOリリースのダウンロードに使用する GitHub リポジトリを選択します。
RARCANE_RMCP_RELEASE_BASE_URLカスタムのリリースベース URL を選択します。
ソースからビルド
git clone https://github.com/dinglebear-ai/rarcane
cd rarcane
cargo build --release
./target/release/rarcane --help

サポートされる Rust の最小バージョン:1.90。

クイックスタート

1. Arcane を設定する

ブリッジが既存の Arcane API サーバーを参照するように設定します。

export RARCANE_API_URL=https://arcane.example.com
export RARCANE_API_KEY=...

API キーは環境変数または設定ファイルからのみ読み込まれます。MCP ツールの 引数や CLI の --params-json には渡さないでください。

2. 安全な CLI 呼び出しを実行する
npx -y @dinglebear/rarcane status
3. ループバック HTTP MCP を起動する
RARCANE_MCP_HOST=127.0.0.1 npx -y @dinglebear/rarcane serve

別のシェルで、次を実行します。

curl -sf http://127.0.0.1:40110/health
4. 最初の MCP 呼び出しを行う
curl -s -X POST http://127.0.0.1:40110/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"arcane","arguments":{"action":"status"}}}'

クライアントの設定

Claude Code Stdio
{
  "mcpServers": {
    "rarcane": {
      "command": "npx",
      "args": ["-y", "arcane-rmcp", "mcp"],
      "env": {
        "RARCANE_API_URL": "https://arcane.example.com",
        "RARCANE_API_KEY": "..."
      }
    }
  }
}
Claude Code HTTP
{
  "mcpServers": {
    "rarcane": {
      "type": "http",
      "url": "http://127.0.0.1:40110/mcp",
      "headers": {
        "Authorization": "Bearer ${RARCANE_MCP_TOKEN}"
      }
    }
  }
}
Codex / Labby Gateway

長時間稼働するサーバーを共有する場合は、Labby を通じて Arcane を HTTP アップストリームとして 登録します。ローカルのみで使用する場合は、stdio として直接実行します。

[mcp_servers.rarcane]
command = "npx"
args = ["-y", "arcane-rmcp", "mcp"]
汎用 MCP JSON
{
  "command": "rarcane",
  "args": ["mcp"],
  "env": {
    "RARCANE_API_URL": "https://arcane.example.com"
  }
}

RARCANE_API_KEY、レジストリの認証情報、Git の認証情報、OAuth シークレット、SSH キー、パスワード、アップストリームのベアラートークンを MCP ツールの引数に含めないでください。 環境変数、設定ファイル、または MCP クライアントのシークレットストレージを使用してください。 MCP 呼び出し元が、アクションの引数として認証情報、トークン、キー、シークレットを渡すことはありません。

実行環境

実行環境状態エントリーポイント用途
MCP stdioサポート対象rarcane mcp、npx -y @dinglebear/rarcane mcpローカルの子プロセス型 MCP クライアント。
MCP HTTPサポート対象rarcane serve、POST /mcpローカルまたは共有サーバーへのデプロイ向けのストリーミング可能な HTTP MCP。
CLIサポート対象rarcane <command>スクリプトからの同等操作やデバッグ。
プロンプトサポート対象quick_startクライアントを status と公開 help に案内します。
リソースサポート対象rarcane://schema/mcp-toolarcane ツールの JSON スキーマ。
REST API提供なしN/AREST API はすでに Arcane が提供しています。
Web UI提供なしN/AWeb UI はすでに Arcane が提供しています。

MCP ツールリファレンス

公開される MCP ツールは arcane の 1 つです。必須の action 引数と、ほとんどのドメインで必須となる subaction を渡してください。

アクション主なサブアクションスコープ
helpアクションのリファレンスまたはドメイン固有のヘルプpublic
statusローカルブリッジと Arcane 設定のステータスrarcane:read
elicit_nameMCP エリシテーションのデモrarcane:read
scaffold_intent副作用のないスキャフォールド計画の引き継ぎrarcane:read
environmentlist、get、create、update、delete、test読み取り/書き込み
projectlist、get、create、update、up、down、restart、pull、destroy、redeploy、build読み取り/書き込み
containerlist、get、create、start、stop、restart、update、delete、stats読み取り/書き込み
imagelist、get、pull、delete、prune、scan読み取り/書き込み
networklist、get、create、delete、prune読み取り/書き込み
volumelist、get、create、delete、prune、browse、list-backups、create-backup、delete-backup、restore、restore-files読み取り/書き込み
systemdocker-info、prune、start-all、stop-all、convert読み取り/書き込み
image-updatecheck-all、check、check-batch、summary読み取り
vulnerabilitysummary、list、scanner-status、ignore、unignore、list-ignored読み取り/書き込み
registrylist、get、create、update、delete、test読み取り/書き込み
gitopslist、get、create、update、delete、sync、status、browse読み取り/書き込み

必須パラメーターの正確な情報は、src/actions.rs のアクション仕様と、生成されたスキーマの注記である docs/MCP_SCHEMA.md を参照してください。

読み取り専用ツール引数の例:

{
  "action": "container",
  "subaction": "list",
  "envId": "default"
}

破壊的操作の例:

{
  "action": "container",
  "subaction": "stop",
  "envId": "default",
  "id": "my-container",
  "params": {
    "confirm": true
  }
}

CLI リファレンス

rarcane は MCP ツールと同じサービスレイヤーを公開します。

rarcane status
rarcane help --domain container
rarcane call --action container --subaction list --env-id default
rarcane call --action system --subaction docker-info --env-id default
rarcane call --action container --subaction stop --env-id default --id my-container --confirm
rarcane doctor --json
rarcane watch --url http://127.0.0.1:40110
rarcane setup check
rarcane setup repair

--params-json はアクション固有の JSON ペイロードを受け付けます。認証情報を渡すために使用しないでください。

設定

ホストへのインストールでは、~/.rarcane/.env、~/.rarcane/config.toml、およびプロセス環境変数が読み込まれます。 コンテナーでは、/data/.env、/data/config.toml、およびプロセス環境変数が読み込まれます。

変数デフォルト用途
RARCANE_API_URL未設定Arcane API のベース URL。
RARCANE_API_KEY未設定Arcane API キーまたはベアラートークン。
RARCANE_MCP_HOST127.0.0.1HTTP のバインドホスト。
RARCANE_MCP_PORT40110HTTP のバインドポート。
RARCANE_MCP_SERVER_NAMEarcane-rmcp公開する MCP サーバー名。
RARCANE_MCP_TOKEN未設定HTTP MCP 用の静的ベアラートークン。
RARCANE_MCP_NO_AUTHfalseループバックでの開発時に限り、認証を無効にします。
RARCANE_NOAUTHfalse上流ゲートウェイが認証を強制することを信頼します。
RARCANE_MCP_ALLOWED_HOSTS未設定追加で受け付ける Host ヘッダーの値。
RARCANE_MCP_ALLOWED_ORIGINS未設定追加で受け付ける CORS オリジン。
RARCANE_MCP_PUBLIC_URL未設定OAuth 発行者メタデータ用の公開ベース URL。
RARCANE_MCP_AUTH_MODEbearerbearer または oauth。
RARCANE_MCP_ALLOW_DESTRUCTIVEfalse呼び出しごとの破壊的操作の確認ゲートをバイパスします。共有環境には設定しないでください。
RARCANE_HOME~/.rarcane設定/アプリデータのルートを上書きします。
RUST_LOGinfoログフィルター。

認証

Stdio MCP は信頼されたローカルの子プロセスとして実行され、HTTP 認証は使用しません。

HTTP MCP の認証ポリシー:

状態条件動作
ループバック開発127.0.0.1、localhost、または [::1] にバインドローカルでの未認証開発が許可されます。
ベアラートークンを使用した公開RARCANE_MCP_TOKEN を設定した非ループバックAuthorization: Bearer <token> とアクションスコープが必要です。
OAuth を使用した公開RARCANE_MCP_AUTH_MODE=oauthlab-auth を介して Google OAuth/JWT を使用します。静的ベアラートークンも引き続きサポートされます。
信頼されたゲートウェイRARCANE_NOAUTH=trueリバースプロキシまたはゲートウェイで認証がすでに適用されていることを前提とします。

OAuth モードでは、docs/CONFIG.md に記載されている RARCANE_MCP_* Google OAuth 変数を使用します。

OAuth モードは単一レプリカ構成です。クライアント/セッション状態と署名キーは 1 台のホストに保存されます。これらの保存先が外部化されるか、安全に共有できるようになるまでは、複数の OAuth レプリカを実行しないでください。

安全性と信頼モデル

  • Arcane API の認証情報は、設定または環境変数からのみ読み込まれます。
  • MCP の呼び出し元が選択できるのはアクションとペイロードであり、上流の認証情報ではありません。
  • 破壊的なサブアクションは、params.confirm=true または CLI の --confirm が指定されていない場合、拒否されます。
  • 不明なアクション、不明なサブアクション、環境 ID の欠落、ID の欠落、および安全でないボリュームパスは、上流への呼び出し前に拒否されます。
  • 非ループバックの HTTP デプロイでは、ベアラー認証、OAuth、または認証済みの信頼されたゲートウェイを使用する必要があります。
  • このブリッジは Arcane 自体をサンドボックス化しません。Docker の認可と Docker 操作の影響については、引き続き Arcane が責任を負います。

アーキテクチャ

ArcaneClient  (src/arcane.rs)      HTTP transport and redacted errors
      |
ArcaneService (src/app.rs)         action validation, confirmation, response normalization
      |
MCP shim      (src/mcp/tools.rs)   JSON args -> service -> Value
CLI shim      (src/cli.rs)         argv -> service -> stdout

配布契約

  • Cargo.toml、Cargo.lock、packages/arcane-rmcp/package.json、 .release-please-manifest.json、および server.json のリリースバージョンを一致させる必要があります。
  • GitHub Releases では、npm ランチャーが使用する rarcane バイナリを公開します。
  • npm パッケージ名は @dinglebear/rarcane、インストールされるバイナリエイリアスは rarcane です。
  • Docker/OCI メタデータでは ghcr.io/dinglebear-ai/rarcane:<version> を使用します。
  • plugins/rarcane/.mcp.json では npx -y @dinglebear/rarcane mcp を起動する必要があります。これにより、stdio クライアントは HTTP サーバーではなく MCP トランスポートを開始します。
  • ルートの README は手動で管理されています。生成された詳細情報や正式な情報源となる詳細は、 src/actions.rs、docs/MCP_SCHEMA.md、およびパッケージ/レジストリのマニフェストにあります。

開発

cargo fmt --check
cargo test
cargo clippy -- -D warnings
cargo build --release
npm --prefix packages/arcane-rmcp run check

検証

just verify                 # fmt-check → lint → check → test
just template-check         # patterns, plugin layout, schema docs, scaffold contract
npm --prefix packages/arcane-rmcp run check
git diff --check

ランタイムのスモークテスト:

RARCANE_API_URL=https://arcane.example.com \
RARCANE_API_KEY=... \
rarcane status

HTTP のスモークテスト:

RARCANE_MCP_HOST=127.0.0.1 rarcane serve
curl -sf http://127.0.0.1:40110/health

デプロイ

ローカル開発ではループバックを使用してください:

RARCANE_MCP_HOST=127.0.0.1 rarcane serve

共有 HTTP デプロイでは Docker Compose を使用してください:

cp .env.example .env
docker compose up -d

非ループバックアドレスにバインドする場合は、RARCANE_MCP_TOKEN、RARCANE_MCP_AUTH_MODE=oauth、または認証済みゲートウェイの背後で RARCANE_NOAUTH=true を設定してください。

トラブルシューティング

症状確認事項
RARCANE_API_URL is required環境変数または ~/.rarcane/.env に RARCANE_API_URL を設定します。
Arcane 呼び出しが未認証エラーになるArcane で RARCANE_API_KEY を更新し、ブリッジを再起動します。
HTTP /mcp が未認証エラーを返すRARCANE_MCP_TOKEN を設定し、Authorization: Bearer <token> を送信します。
stdio クライアントが応答しない、または JSON エラーをログに出力するクライアント設定で、デフォルトの HTTP サーバーモードではなく arcane-rmcp mcp が実行されることを確認します。
破壊的なアクションが拒否される対象を確認したうえで、CLI の --confirm または MCP の params.confirm=true を追加します。
ポートの競合RARCANE_MCP_PORT を設定するか、40110 をすでに使用しているプロセスを停止します。

関連サーバー

  • soma - プロバイダー連携型 MCP サーバー向け RMCP ランタイム。
  • unifi-rmcp - UniFi コントローラー REST API ブリッジ。
  • tailscale-rmcp - デバイス、ユーザー、テールネット操作向けの Tailscale API ブリッジ。
  • unraid - NAS およびサーバー管理向け Unraid GraphQL ブリッジ。
  • apprise-rmcp - 多数の配信バックエンドに対応する Apprise 通知ファンアウトブリッジ。
  • gotify-rmcp - 送信、メッセージ、アプリ、クライアントに対応する Gotify プッシュ通知ブリッジ。
  • yarr - Sonarr、Radarr、Prowlarr、Plex、および関連サービス向けのメディアスタックブリッジ。
  • ytdl-rmcp - メディアのダウンロードとメタデータのワークフローサーバー。
  • synapse-rmcp - scout および flux アクション向けのローカル Synapse ワークフローサーバー。
  • cortex - Syslog およびホームラボのログ集約 MCP サーバー。
  • axon - RAG、クロール、スクレイピング、抽出、セマンティック検索のプロジェクト。
  • labby - ホームラボのコントロールプレーンおよび MCP ゲートウェイプロジェクト。
  • lumen - ローカルのセマンティックコード検索 MCP サーバー。

ドキュメント

  • docs/API.md は、アクションのコントラクトをまとめた概要です。
  • docs/CONFIG.md は、設定と認証に関するリファレンスをまとめたものです。
  • docs/QUICKSTART.md は、スモークテストのガイドをまとめたものです。
  • docs/MCP_SCHEMA.md は、アクション、リソース、プロンプト、検証ルールに関する生成済みスキーマおよびスキーマ差分のコントラクトです。
  • plugins/rarcane/skills/rarcane/SKILL.md は、エージェント向けの使用ガイドです。

ライセンス

このプロジェクトのうち、Dinglebear が独自に作成した部分は AGPL-3.0-only の下でライセンスされています。AGPL 以外の条件を必要とする組織向けに、別途商用ライセンスも用意されています。サードパーティの素材は、引き続き各素材の元のライセンスが適用されます。詳しくは LICENSING.md をご覧ください。

コメント

MCP は初めてですか?

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

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