
NV oOS MCP Bridge
io.github.nvdigitalsolutionsv0.1.0-alpha.4Updated Oct 8, 2026
Stdio relay connecting Zed, Claude Desktop, Cursor and Codex to NV oOS WordPress MCP endpoints.
Overview
A local stdio relay that connects desktop AI clients to an NV oOS WordPress site's MCP endpoint over HTTPS or an SSH tunnel.
- What it does
- This package bridges stdio-based MCP clients to a remote NV oOS (Open Operator System) WordPress JSON-RPC 2.0 MCP endpoint. It reads one JSON-RPC object per stdin line, POSTs it to the configured endpoint with a Bearer token, and writes the response back on stdout. A second binary, nvoos-mcp-ssh, manages an ssh -N -L port-forward for sites that are only reachable over SSH, tearing the tunnel down when the relay exits.
- When to use it
- Use it when a desktop MCP client such as Zed, Claude Desktop, Cursor, Codex, or VS Code needs to talk to an NV oOS WordPress site's MCP endpoint, especially when the site is HTTPS-reachable or locked down to SSH-only access.
- Requirements
- Node.js with npx to run the npm package locally. Requires MCP_AI_BASE_URL (full MCP endpoint URL) and a token in MCP_AI_TOKEN, minted in the site's Fleet Operator admin screen. The SSH variant additionally needs MCP_AI_SSH_USER and MCP_AI_SSH_HOST, plus working non-interactive key-based SSH. Optional variables cover timeout, Host header, and an env file.
Installation
In SourceWeft
- Open NV oOS MCP Bridge in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@nvdigitalsolutions/nvoos-mcp-bridge
Zero-dependency MCP stdio ↔ HTTP relay for NV oOS (Open Operator System) WordPress sites.
Every NV oOS site exposes a JSON-RPC 2.0 MCP endpoint at
https://<site>/wp-json/mcp-ai/v1/mcp. Most editors and agents (Zed, Claude
Desktop, Cursor, Codex) spawn MCP servers over stdio — this package
bridges the two transports. Two binaries ship:
Quick start (Zed)
zed: open settings → add to context_servers:
Then reload the Agent Panel (agent: restart language servers → or reopen
the panel). Use the Fleet Operator admin screen (Settings → External Operators) to mint a scoped operator token and get a ready-pasted block.
SSH-only sites
Pass
sshas the first argument to select the SSH binary via npx (npx exposes only the primary bin as the bare package name). SSH auth is key-only:ssh <user>@<host>must work non-interactively first.
Other clients
Same env vars, different shells — Claude Desktop (claude_desktop_config.json
→ mcpServers), Cursor (.cursor/mcp.json), VS Code (.vscode/mcp.json):
On Windows hosts, some clients need the cmd wrapper:
"command": "cmd", "args": ["/c", "npx", "-y", "@nvdigitalsolutions/nvoos-mcp-bridge@latest"].
Configuration
All configuration is environment variables — never put tokens in args
(they would show in process listings).
nvoos-mcp (HTTPS relay)
nvoos-mcp-ssh (SSH variant)
Adds MCP_AI_SSH_USER, MCP_AI_SSH_HOST (both required), MCP_AI_SSH_PORT
(default 22), MCP_AI_SSH_REMOTE_HOST (default localhost),
MCP_AI_SSH_REMOTE_PORT (default 80), MCP_AI_LOCAL_PORT (default: free
port), MCP_AI_SSH_CMD (default ssh), MCP_AI_SSH_EXTRA_ARGS,
MCP_AI_SSH_BATCH_MODE, MCP_AI_SSH_READY_MS (default 15000). Same token,
Host-header, timeout, and env-file variables as the HTTPS relay.
Secret file
Keep tokens out of settings files:
Values already present in the process environment win over the file, so per-project overrides still work.
Behavior contract
- Reads one JSON-RPC 2.0 object per stdin line, POSTs it to the endpoint
(
Authorization: Bearer …), writes the response as one stdout line. - Notifications (no
id) get no response, ever. - All diagnostics go to stderr — stdout carries MCP messages only.
- On stdin EOF, in-flight requests drain before exit.
- The SSH tunnel is torn down when the relay exits — including on hard kill
(the bridge holds
ssh's stdin open for exactly this reason).
Development
The package files under bin/ are byte-identical copies of the repo's
bin/mcp-bridge.js, bin/mcp-bridge-ssh.js, and bin/utils/env-file.js —
the repo bin/ is canonical. Edit there, then:
Optional Docker E2E against a live NV oOS site (skips when env is unset):
License
GPL-3.0-or-later — see LICENSE.
Source: packages/nvoos-mcp-bridge/README.md at commit 3303988
Tools
0Version history
1- v0.1.0-alpha.4LatestOct 8, 2026


