NV oOS MCP Bridge について
NV oOS MCP Bridgeは、stdioベースのクライアントとNV oOS WordPressのHTTPエンドポイント間でMCP JSON-RPCメッセージを中継します。SSH版は、SSHでのみ接続できるサイト向けにポートフォワードを管理します。
主な機能
- 01stdioとHTTP間でJSON-RPCを中継
- 02NV oOS WordPress MCPエンドポイントに接続
- 03SSH版によるポートフォワード管理
- 04環境変数から設定とシークレットを読み込み
活用シーン
- 01stdioベースのエディターからHTTPSサイトに接続
- 02トンネル経由でSSH専用のWordPressサイトに接続
MCP 対応
stdioを使うMCPクライアントと、HTTP MCPエンドポイントを公開するNV oOSサイトの間を中継します。SSHバイナリは、SSH経由でのみアクセスできるサイトへの接続を転送します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @nvdigitalsolutions/nvoos-mcp-bridgeMCP_AI_BASE_URLFull URL of the NV oOS MCP endpoint (https://<site>/wp-json/mcp-ai/v1/mcp)MCP_AI_TOKENシークレットCredential (cred_*) or operator (op_*) token minted in Fleet OperatorMCP_AI_HTTP_TIMEOUTRequest timeout in millisecondsローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
@nvdigitalsolutions/nvoos-mcp-bridge
NV oOS(Open Operator System) の WordPress サイト向け、依存関係ゼロの MCP stdio ↔ HTTP リレーです。
すべての NV oOS サイトでは、JSON-RPC 2.0 MCP エンドポイントが
https://<site>/wp-json/mcp-ai/v1/mcp に公開されています。ほとんどのエディターやエージェント(Zed、Claude
Desktop、Cursor、Codex)は、stdio 経由で MCP サーバーを起動します。このパッケージは、2 つのトランスポートを橋渡しします。次の 2 つのバイナリを提供します。
| バイナリ | 使用する場面 |
|---|---|
nvoos-mcp | サイトに HTTPS 経由でアクセスできる場合(通常はこちら) |
nvoos-mcp-ssh | サイトが SSH のみでアクセス可能な場合(アクセス制限された VPS/Cloudways ドロップレット)。ポートフォワード用の ssh -N -L を自動で管理します |
npx -y @nvdigitalsolutions/nvoos-mcp-bridge@latest
クイックスタート(Zed)
zed: open settings → context_servers に追加します。
"nv-oos": {
"source": "custom",
"command": {
"path": "npx",
"args": ["-y", "@nvdigitalsolutions/nvoos-mcp-bridge@latest"],
"env": {
"MCP_AI_BASE_URL": "https://your-site.com/wp-json/mcp-ai/v1/mcp",
"MCP_AI_TOKEN": "cred_xxxxx.SECRET"
}
}
}
その後、Agent Panel を再読み込みします(agent: restart language servers を実行するか、パネルを開き直します)。Fleet Operator 管理画面(Settings → External Operators)でスコープ付きオペレータートークンを発行すると、そのまま貼り付けられる設定ブロックを取得できます。
SSH のみでアクセス可能なサイト
"nv-oos-ssh": {
"source": "custom",
"command": {
"path": "npx",
"args": ["-y", "@nvdigitalsolutions/nvoos-mcp-bridge@latest", "ssh"],
"env": {
"MCP_AI_SSH_USER": "your-ssh-user",
"MCP_AI_SSH_HOST": "203.0.113.10",
"MCP_AI_SSH_PORT": "22",
"MCP_AI_TOKEN": "op_xxxxx.SECRET"
}
}
}
npx 経由で SSH バイナリを選択するには、最初の引数として
sshを渡します(npx ではパッケージ名だけで呼び出せるのはメインのバイナリのみです)。SSH 認証は鍵のみです。事前にssh <user>@<host>が非対話形式で実行できることを確認してください。
その他のクライアント
同じ環境変数を使用しますが、シェルは異なります。Claude Desktop(claude_desktop_config.json
→ mcpServers)、Cursor(.cursor/mcp.json)、VS Code(.vscode/mcp.json)の場合:
{
"mcpServers": {
"nv-oos": {
"command": "npx",
"args": ["-y", "@nvdigitalsolutions/nvoos-mcp-bridge@latest"],
"env": {
"MCP_AI_BASE_URL": "https://your-site.com/wp-json/mcp-ai/v1/mcp",
"MCP_AI_TOKEN": "cred_xxxxx.SECRET"
}
}
}
}
Windows ホストでは、一部のクライアントで cmd ラッパーが必要です。
"command": "cmd", "args": ["/c", "npx", "-y", "@nvdigitalsolutions/nvoos-mcp-bridge@latest"]。
設定
設定にはすべて環境変数を使用します。トークンを args に絶対に指定しないでください(プロセス一覧に表示されます)。
nvoos-mcp(HTTPS リレー)
| 変数 | 必須 | デフォルト | 用途 |
|---|---|---|---|
MCP_AI_BASE_URL | ✅ | — | MCP エンドポイントの完全な URL。例:https://example.com/wp-json/mcp-ai/v1/mcp |
MCP_AI_TOKEN | ⚠️ | — | Bearer 認証情報(cred_xxxxx.SECRET またはオペレーター用の op_xxxxx.SECRET)。未設定の場合は認証されません |
MCP_AI_HOST_HEADER | — | HTTP の Host ヘッダーを上書きします(プロキシ/トンネル経由で Host に基づく正規 URL へのリダイレクトが発生するサイト向け) | |
MCP_AI_HTTP_TIMEOUT | 120000 | リクエストのタイムアウト(ミリ秒) | |
MCP_AI_ENV_FILE | ~/.nvoos-bridge.env | シークレット用の環境変数ファイル(下記参照) |
nvoos-mcp-ssh(SSH 版)
MCP_AI_SSH_USER、MCP_AI_SSH_HOST(どちらも必須)、MCP_AI_SSH_PORT
(デフォルトは 22)、MCP_AI_SSH_REMOTE_HOST(デフォルトは localhost)、
MCP_AI_SSH_REMOTE_PORT(デフォルトは 80)、MCP_AI_LOCAL_PORT(デフォルト:空きポート)、MCP_AI_SSH_CMD(デフォルトは ssh)、MCP_AI_SSH_EXTRA_ARGS、
MCP_AI_SSH_BATCH_MODE、MCP_AI_SSH_READY_MS(デフォルトは 15000)が追加されます。トークン、Host ヘッダー、タイムアウト、環境変数ファイルの各変数は、HTTPS リレーと共通です。
シークレットファイル
トークンを設定ファイルに記載しないようにします。
# ~/.nvoos-bridge.env (chmod 600)
MCP_AI_BASE_URL=https://your-site.com/wp-json/mcp-ai/v1/mcp
MCP_AI_TOKEN=cred_xxxxx.SECRET
プロセス環境にすでに設定されている値は、ファイル内の値より優先されます。そのため、プロジェクトごとの上書きも引き続き可能です。
動作仕様
- 標準入力の各行から JSON-RPC 2.0 オブジェクトを 1 つ読み込み、エンドポイントに POST します(
Authorization: Bearer …)。レスポンスは標準出力に 1 行で書き込みます。 - 通知(
idなし)には、応答を返しません。 - 診断情報はすべて標準エラー出力に出力されます。標準出力には MCP メッセージのみが出力されます。
- 標準入力が EOF に達すると、処理中のリクエストが完了してから終了します。
- リレーの終了時に SSH トンネルを停止します。強制終了時も同様です(そのため、ブリッジは
sshの標準入力を開いたままにします)。
開発
bin/ 以下のパッケージファイルは、リポジトリ内の
bin/mcp-bridge.js、bin/mcp-bridge-ssh.js、bin/utils/env-file.js とバイト単位で同一です。リポジトリの bin/ が正本です。そちらを編集してから、次を実行します。
npm run sync # refresh the copies
npm run sync -- --check # drift gate (run in CI)
npm test # node:test suite (in-process fake endpoint/ssh)
npm run pack:dry-run # inspect the tarball before publishing
稼働中の NV oOS サイトを対象とした、任意の Docker E2E テスト(環境変数が未設定の場合はスキップされます):
MCP_AI_BASE_URL=http://localhost:8000/wp-json/mcp-ai/v1/mcp \
MCP_AI_TOKEN=cred_xxxxx.SECRET \
npm run test:e2e
エコシステムでの発見
このパッケージは 公式 MCP レジストリ
(registry.modelcontextprotocol.io)に
io.github.nvdigitalsolutions/nvoos-mcp-bridge(stdio / npm)として掲載されています。レジストリ名は
package.json の mcpName フィールドで宣言されており(所有権の検証マーカー)、レジストリの
メタデータは server.json にあり、
mcp-publisher CLI で公開されます。コミュニティのディレクトリ(mcpservers.org、Glama、PulseMCP、mcp.directory、
awesome-mcp-servers リスト)には、このパッケージとそのレジストリの登録情報を参照するエントリーが掲載されています。
ライセンス
GPL-3.0-or-later — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。