mcpbeat Sign in

Helmdeck MCP Server

local only

Helmdeck runs on your own machine — the client starts it, so there is no endpoint to ping. 436 installs a week from npm. Last commit 22 Jun 2026.

Self-hosted MCP server: sandboxed browser, desktop, vision, code-edit packs for any agent.

Installs per day peak 203 · avg 22 · +459% w/w
a month agotoday
436
Installs / week
npm · @helmdeck/mcp-bridge
5
Stars
104 open issues
22 Jun 2026
Last commit
no releases in 90 days
Apache-2.0
License
Go

What the code does

We read the source, 3 d ago · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Runs a command on install [пакет] package.json:1
postinstall: node scripts/postinstall.js
const result = spawnSync(binPath, process.argv.slice(2), { stdio: "inherit" });
const binPath = path.join(__dirname, binName);
In the project's build, not in the package

Found in continuous integration, deployment or infrastructure files, or in a neighbouring package of the same monorepo. None of this is installed when you add the server: it describes how the project is built and released. We list it because a leaked key in a build pipeline is still a real problem, but it is not something this server does on your machine.

        "trap 'shred -u \"$KEY_DIR\"/id_rsa 2>/dev/null || rm -f \"$KEY_DIR\"/id_rsa; rmdir \"$KEY_DIR\" 2>/dev/null || true' EXIT",
Touches key and credential files internal/packs/builtin/repo_fetch.go:317
        "trap 'shred -u \"$KEY_DIR\"/id_rsa 2>/dev/null || rm -f \"$KEY_DIR\"/id_rsa; rmdir \"$KEY_DIR\" 2>/dev/null || true' EXIT",
        "trap 'shred -u \"$KEY_DIR\"/id_rsa 2>/dev/null || rm -f \"$KEY_DIR\"/id_rsa; rmdir \"$KEY_DIR\" 2>/dev/null || true' EXIT",

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add helmdeck -e 'HELMDECK_URL=<HELMDECK_URL>' -e 'HELMDECK_TOKEN=<HELMDECK_TOKEN>' -- npx -y @helmdeck/mcp-bridge
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "helmdeck": {
      "command": "npx",
      "args": [
        "-y",
        "@helmdeck/mcp-bridge"
      ],
      "env": {
        "HELMDECK_TOKEN": "<HELMDECK_TOKEN>",
        "HELMDECK_URL": "<HELMDECK_URL>"
      }
    }
  }
}
~/.codex/config.toml
[mcp_servers.helmdeck]
command = "npx"
args = ["-y", "@helmdeck/mcp-bridge"]
env = { HELMDECK_URL = "<HELMDECK_URL>", HELMDECK_TOKEN = "<HELMDECK_TOKEN>" }
.cursor/mcp.json
{
  "mcpServers": {
    "helmdeck": {
      "command": "npx",
      "args": [
        "-y",
        "@helmdeck/mcp-bridge"
      ],
      "env": {
        "HELMDECK_TOKEN": "<HELMDECK_TOKEN>",
        "HELMDECK_URL": "<HELMDECK_URL>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "helmdeck": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@helmdeck/mcp-bridge"
      ],
      "env": {
        "HELMDECK_TOKEN": "<HELMDECK_TOKEN>",
        "HELMDECK_URL": "<HELMDECK_URL>"
      }
    }
  }
}

Put your own values in place of <HELMDECK_URL> (Base URL of your helmdeck control plane (e.g. http://localhost:3000 for a local Compose install, or your reverse-proxied https URL)), <HELMDECK_TOKEN> (JWT bearer token minted from your helmdeck control plane. Generate with: curl -X POST $HELMDECK_URL/api/v1/auth/login -d '{"username":"admin","password":"..."}'). The author’s registry entry marks them as required.

Alternatives to Helmdeck

same job, measured the same way
Hronaut Browser MCP
by hronaut

A visible desktop browser for coding agents, with a separate workspace for each project.

local only
Agent Browser
by codechap

MCP server for browser automation via Vercel's agent-browser CLI

local only
Safari DevTools MCP
by hayodev

MCP server for Safari DevTools — browser debugging and automation for AI coding agents

121 installs/wk local only
Glovebox MCP
by segentic-lab

Sandboxed computer-use for AI agents: drive real browser + desktop apps in nested X11 windows

local only
Ui.Vision MCP
by a9t9

MCP server for browser and desktop automation: OCR, image recognition, real mouse and keyboard input

182 installs/wk local only
Browser Agent
by runbook-ai

MCP server for browser automation with AI agent

90 installs/wk local only
Ghostfox
by autokeren

Self-hosted stealth browser for AI agents: Firefox engine + Rust MCP runtime.

199 installs/wk local only
Devloop
by vincentvella

Browser + dev-server logs on one correlated timeline, for Claude Code and AI agents.

774 installs/wk local only

Helmdeck — questions

Answers built from our own checks of this server.

Why is there no uptime for Helmdeck?
Helmdeck runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package @helmdeck/mcp-bridge was installed 436 times last week.
How do I connect Helmdeck?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It runs locally, so the command pulls @helmdeck/mcp-bridge straight from npm; nothing to host, nothing to sign up for.
How many people use Helmdeck?
The npm package @helmdeck/mcp-bridge was installed 436 times in the last week. Week over week that is +459%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Helmdeck open source?
Yes — it is published under the Apache-2.0 licence, written in Go, 5 stars on GitHub and 104 open issues. The source link is on this page, so you can read exactly what it does with your data before you connect it.