mcpField
N
NV oOS MCP Bridge

NV oOS MCP Bridge

ローカル
github.com開発ツール75 日前に更新

NV oOS MCP Bridge について

NV oOS MCP Bridgeは、stdioベースのクライアントとNV oOS WordPressのHTTPエンドポイント間でMCP JSON-RPCメッセージを中継します。SSH版は、SSHでのみ接続できるサイト向けにポートフォワードを管理します。

主な機能

  1. 01stdioとHTTP間でJSON-RPCを中継
  2. 02NV oOS WordPress MCPエンドポイントに接続
  3. 03SSH版によるポートフォワード管理
  4. 04環境変数から設定とシークレットを読み込み

活用シーン

  1. 01stdioベースのエディターからHTTPSサイトに接続
  2. 02トンネル経由でSSH専用のWordPressサイトに接続

MCP 対応

stdioを使うMCPクライアントと、HTTP MCPエンドポイントを公開するNV oOSサイトの間を中継します。SSHバイナリは、SSH経由でのみアクセスできるサイトへの接続を転送します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"nvdigitalsolutions-nvoos-mcp-bridge": {
"command": "npx",
"args": [
"-y",
"@nvdigitalsolutions/nvoos-mcp-bridge"
],
"env": {
"MCP_AI_BASE_URL": "<MCP_AI_BASE_URL>",
"MCP_AI_TOKEN": "<MCP_AI_TOKEN>",
"MCP_AI_HTTP_TIMEOUT": "<MCP_AI_HTTP_TIMEOUT>"
}
}
}
}
起動コマンドnpx -y @nvdigitalsolutions/nvoos-mcp-bridge
設定が必要な環境変数
MCP_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 Operator
MCP_AI_HTTP_TIMEOUTRequest timeout in milliseconds

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

パッケージ
npm@nvdigitalsolutions/nvoos-mcp-bridge0.1.0-alpha.4

ツール

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

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

詳細

@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_TIMEOUT120000リクエストのタイムアウト(ミリ秒)
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 を参照してください。

コメント

MCP は初めてですか?

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

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