프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Helmdeck

제작자: tosin2013버전 0.29.10i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.tosin2013/helmdeck

설치

개요

제작자가 쓴 설명(영어 원문)

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

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 웹 및 브라우저
  • 입력해야 할 값: HELMDECK_URL, HELMDECK_TOKEN

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 직접 입력할 값: HELMDECK_URL, HELMDECK_TOKEN

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

  • npmNode.js 설치(npx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "helmdeck": {
      "command": "npx",
      "args": [
        "-y",
        "@helmdeck/mcp-bridge"
      ],
      "env": {
        "HELMDECK_URL": "your-value",
        "HELMDECK_TOKEN": "your-value"
      }
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add helmdeck --env HELMDECK_URL=your-value --env HELMDECK_TOKEN=your-value -- npx -y @helmdeck/mcp-bridge

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "helmdeck": {
      "command": "npx",
      "args": [
        "-y",
        "@helmdeck/mcp-bridge"
      ],
      "env": {
        "HELMDECK_URL": "your-value",
        "HELMDECK_TOKEN": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "helmdeck": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@helmdeck/mcp-bridge"
      ],
      "env": {
        "HELMDECK_URL": "your-value",
        "HELMDECK_TOKEN": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • HELMDECK_URL 필수 env
    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 비밀 필수 env
    JWT bearer token minted from your helmdeck control plane. Generate with: curl -X POST $HELMDECK_URL/api/v1/auth/login -d '{"username":"admin","password":"..."}'

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 tosin2013 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

웹 및 브라우저 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 876개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 876개 중 17%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 876개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Helmdeck, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: HELMDECK_URL, HELMDECK_TOKEN

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.29.10)은 5개월 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js, Docker도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Browser Use, Chrome DevTools MCP, MCP Server Browser

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Browser Use

제작자: browser-use

Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.

컴퓨터 또는 클라우드★ 120,087MIT16일 전 업데이트
설치

Chrome DevTools MCP

제작자: ChromeDevTools

MCP server for Chrome DevTools

내 컴퓨터에서 실행★ 54,821Apache-2.015일 전 업데이트
설치

MCP Server Browser

제작자: bytedance

MCP server for browser use access

내 컴퓨터에서 실행★ 39,550Apache-2.014개월 전 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

helmdeck

Today's helmdeck install ran a full 6-step code-edit loop (clone, read, patch,

test, commit, push) on gpt-oss-120b for $0.07. The same loop on Cursor

or Claude Code direct via Sonnet would have cost $0.30+. Same outcome,

~5× cheaper — and the "expensive" stack isn't even the most expensive option.

WorkflowFrontier-model approachHelmdeck (gpt-oss-120b)
Browser scrape + GitHub comment$0.25 (Anthropic Computer Use)$0.005
Code edit loop (6 steps)$0.35 (Cursor / Aider)$0.07
Multi-step browser test$0.20 (Browser-use NL)$0.03
PDF → structured Markdown$1.00 (naive Sonnet vision)$0.003

Most browser agents require GPT-4o or Claude Sonnet to work reliably.

Helmdeck is built for the other 99% of deployments — **local 7B models,

air-gapped environments, and teams that can't send credentials to a

cloud API.** It wraps every browser, desktop, git, and code action

into a single typed JSON call that even a small model can fill in correctly.

The numbers above are the consequence: when packs absorb the work the

LLM would otherwise burn tokens rediscovering, cheap or local models do

agentic work that frontier-model APIs charge 10× more for.

A self-hosted, containerized platform for AI agents, exposed as Capability Packs — schema-validated, one-shot JSON tools — and native MCP. The defining metric is ≥90% pack success on 7B–30B-class open-weight models, something no frontier-targeting competitor is optimizing for.

📊 Full per-task comparison with reproduction recipe at https://helmdeck.dev/explanation/why-helmdeck. These are one maintainer's findings; we welcome community reproductions.

Why this exists

Smart models thrive on bash and a README. Weak models stall on open-ended interfaces. Helmdeck closes that gap by hiding browser sessions, desktop actions, credentials, and multi-step workflows behind single typed REST / MCP calls.

Three audiences specifically:

  • Self-hosted AI teams who can't leave their VPC and need MCP-native infra that doesn't phone home.
  • The LocalLLaMA / Ollama crowd running 7B–30B models — pack contracts keep small models reliable where open-ended tool surfaces fail.
  • Security-sensitive orgs who need agents to log into SaaS apps without the model ever seeing a credential (vault-backed placeholder tokens + MCP-level audit).

Status

v0.22.0 shipped — *agents that work on free models, with memory.* The release closes ADRs 047–050:

  • Pipeline routing + routing memory (ADR 047) — the helmdeck.route meta-pack recommends the best pack/pipeline for an intent (with structured gap warnings when nothing fits), backed by per-caller learned defaults surfaced through the helmdeck://routing-guide and helmdeck://my-defaults MCP resources and a Routing Memory management UI.
  • Memory write surface + OpenClaw bridge (ADR 048) — helmdeck.memory_store persists durable user facts (read back via helmdeck://my-memory), an optional embedding sidecar powers OpenClaw's memory_search, and a QMD corpus bridge exposes helmdeck memory to OpenClaw.
  • Intent decomposition (ADR 049) — helmdeck.plan turns a multi-action prompt into an ordered, pipeline-aware step plan plus a rewritten_prompt.
  • LLM context manager (ADR 050) — internal/llmcontext compacts catalog-heavy prompts to fit small-model context budgets (tiered per-model budgets, cascading select + lexical rank, optional two-pass filter), surfaced through helmdeck://context-budgets and helmdeck://my-plans.

57 capability packs ship in the control-plane binary (47 without an AI gateway configured), alongside 21 built-in pipelines, a community pack marketplace (helmdeck pack install ), and operator-supplied cmd.* subprocess packs. Earlier headline features remain: end-to-end content chaining (image.generate auto-feeds podcast/slides/blog covers), the helmdeck://image-models MCP resource, image-mode install (./scripts/install.sh --image-mode), and the Pack Test Runner UI. Helmdeck is published to the official MCP Registry as io.github.tosin2013/helmdeck for one-line install in registry-aware clients. Phases 1–6.5 are complete; the current milestone is v1.0 — Kubernetes & GA (Phase 7), with backlog materialised as GitHub issues tagged good first issue and help wanted.

  • 49 ADRs in docs/adrs/ — every architectural decision with PRD back-references
  • Task breakdown in docs/TASKS.md — ~85 tasks across 8 phases with critical path
  • GitHub milestones in docs/MILESTONES.md — drop-in issue checklists with current ship state
  • Pack reference in docs/PACKS.md — every shipped pack's input/output contract

Quick start

git clone https://github.com/tosin2013/helmdeck

cd helmdeck ./scripts/install.sh

That's it. The script runs preflight checks (docker, node ≥20, go ≥1.26, make, openssl, curl) with platform-aware install hints, generates fresh secrets into deploy/compose/.env.local (chmod 600), builds the Management UI bundle, the Go binaries, and the browser sidecar image, brings the Compose stack up, and prints the URL plus a freshly generated admin password.

✓ helmdeck is up

URL: http://localhost:3000 Username: admin Password:

Useful flags:

  • ./scripts/install.sh --reset — tear down, regenerate secrets, reinstall (new admin password)
  • ./scripts/install.sh --no-build — skip build steps, just bring the stack up
  • ./scripts/install.sh --help — full flag reference

Or via make: make install.

Connect a client

A running stack is just the platform — the value is packs called by an agent. Wire one of the supported MCP clients to your fresh install:

ClientStatusSetup guide
OpenClaw✅ validated end-to-enddocs/integrations/openclaw.md
Claude Code🟡 documenteddocs/integrations/claude-code.md
Claude Desktop🟡 documenteddocs/integrations/claude-desktop.md
Gemini CLI🟡 documenteddocs/integrations/gemini-cli.md
Hermes Agent🟡 documenteddocs/integrations/hermes-agent.md

Once a client is connected, work through the pack-demo-playbook.md — 20+ copy-pasteable prompts that exercise every pack. The per-pack reference covers each pack's contract, error codes, and chained workflows.

Advanced: manual setup

If you'd rather drive each step yourself instead of running the install script:

# 1. Build the Management UI bundle (needs Node 20+)

make web-deps && make web-build

2. Build the control-plane binary with the UI embedded

make build

3. Run the control plane with admin credentials

HELMDECK_JWT_SECRET=$(openssl rand -hex 32) \ HELMDECK_VAULT_KEY=$(openssl rand -hex 32) \ HELMDECK_ADMIN_PASSWORD=changeme \ ./bin/control-plane

Or use the Compose stack directly (control plane + Garage object store + bundled init):

cp deploy/compose/.env.example deploy/compose/.env.local

…edit deploy/compose/.env.local and fill in real secrets…

docker compose -f deploy/compose/compose.yaml --env-file deploy/compose/.env.local up -d

Logging in to the Management UI

The login endpoint accepts a static admin password set via the HELMDECK_ADMIN_PASSWORD env var on the control plane process. Suitable for the dev / single-node Compose tier; OIDC SSO for production deployments lands in a later phase.

SettingDefaultOverride
UsernameadminHELMDECK_ADMIN_USERNAME env var
Password*(none — UI login disabled)*HELMDECK_ADMIN_PASSWORD env var (required)
Session length12 hoursHardcoded in internal/api/auth_login.go

To change the password: stop the control plane, set HELMDECK_ADMIN_PASSWORD to the new value, and restart. There is no in-UI "change password" flow today — the password is managed out-of-band by whichever orchestrator runs the control plane (Compose, systemd, Kubernetes Secret, etc.).

If `HELMDECK_ADMIN_PASSWORD` is unset, the login endpoint returns 503 login_disabled. The control plane still runs and the API still works — operators can mint a JWT directly via the CLI:

./bin/control-plane -mint-token=alice -mint-token-scopes=admin -mint-token-ttl=12h

The minted token can be pasted into any tool that speaks Authorization: Bearer .

Production note: the static-password path uses constant-time comparison so it's safe against timing attacks, but it's still a shared secret that has to be rotated by hand. For production deployments with multiple operators, OIDC SSO via your existing identity provider is the right answer — see the Phase 6 follow-up roadmap.

Architecture at a glance

  • Sidecar pattern — browser runs in its own container, never embedded in the agent (ADR 001)
  • Golang control plane — single static binary, distroless image, embeds the React UI (ADR 002)
  • Capability Packs — the primary product surface; user-authorable via Go or WASM (ADRs 003, 012, 024)
  • OpenAI-compatible AI gateway — Anthropic, Gemini, OpenAI, Ollama, Deepseek with encrypted keys + fallback routing (ADR 005)
  • MCP server registry — stdio/SSE/WebSocket transports; built-in MCP server auto-derived from the pack catalog (ADR 006)
  • Credential vault — AES-256-GCM with placeholder-token injection; agents never see secrets (ADR 007)
  • Dual-tier deployment — Docker Compose for dev/single-node, Helm chart for Kubernetes production (ADRs 009, 010, 011)
  • First-class MCP clients — Claude Code, Claude Desktop, OpenClaw, Gemini CLI via a single shared helmdeck-mcp bridge binary (ADRs 025, 030)
  • Bundled object store — Garage ships in the Compose stack as the default artifact backend; pluggable to any S3-compatible endpoint (AWS S3, R2, B2, SeaweedFS) for production (ADR 031)

Built-in Capability Packs

57 packs ship in the box (47 without an AI gateway configured). Each one hides a multi-step workflow behind a single typed JSON-Schema call so weak open-weight models can drive it as reliably as frontier models. The full input/output contract for every pack lives in docs/PACKS.md. The highlights:

PackWhat it hides
Browser & web
browser.screenshot_urlSession lifecycle, navigation, render wait, cleanup
browser.interactDeterministic multi-step CDP (navigate, click, type, scroll, screenshot, assert_text) — no LLM needed
web.scrape / web.scrape_spaFirecrawl-backed markdown scrape OR schema-driven SPA extraction
web.testNatural-language browser tests via Playwright MCP + LLM loop
research.deepMulti-source Firecrawl search + per-source scrape + LLM synthesis with inline citations
content.groundParses a markdown file for claims, finds authoritative sources, inserts real [link](url) citations in place
Document & vision
slides.renderMarp + Chromium + format flags
slides.narrateNarrated MP4 video (ElevenLabs TTS per slide) + YouTube engagement metadata + sidecar SRT captions + structured validation field (default-on post-step)

| av.validate | Structured AV-artifact validation (faststart, codec pin, packet contiguity, RMS swee

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기