Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Coach first Zeus Client app to green (stdio MCP).
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
ZEUS_URL, ZEUS_BUCKET, ZEUS_SCOPE, ZEUS_USERNAME, ZEUS_PASSWORD, ZEUS_BEARER_TOKEN, ZEUS_CHAT_REQUEST_DIR, GITHUB_TOKEN, DEMO_TRAVEL_SAMPLE_DIR, ZEUS_DEV_HELPER_TOOLSETSAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"zeus-dev-helper": {
"command": "uvx",
"args": [
"zeus-dev-helper-mcp"
],
"env": {
"ZEUS_URL": "your-value",
"ZEUS_BUCKET": "your-value",
"ZEUS_SCOPE": "your-value",
"ZEUS_USERNAME": "your-value",
"ZEUS_PASSWORD": "your-value",
"ZEUS_BEARER_TOKEN": "your-value",
"ZEUS_CHAT_REQUEST_DIR": "your-value",
"GITHUB_TOKEN": "your-value",
"DEMO_TRAVEL_SAMPLE_DIR": "your-value",
"ZEUS_DEV_HELPER_TOOLSETS": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add zeus-dev-helper --env ZEUS_URL=your-value --env ZEUS_BUCKET=your-value --env ZEUS_SCOPE=your-value --env ZEUS_USERNAME=your-value --env ZEUS_PASSWORD=your-value --env ZEUS_BEARER_TOKEN=your-value --env ZEUS_CHAT_REQUEST_DIR=your-value --env GITHUB_TOKEN=your-value --env DEMO_TRAVEL_SAMPLE_DIR=your-value --env ZEUS_DEV_HELPER_TOOLSETS=your-value -- uvx zeus-dev-helper-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"zeus-dev-helper": {
"command": "uvx",
"args": [
"zeus-dev-helper-mcp"
],
"env": {
"ZEUS_URL": "your-value",
"ZEUS_BUCKET": "your-value",
"ZEUS_SCOPE": "your-value",
"ZEUS_USERNAME": "your-value",
"ZEUS_PASSWORD": "your-value",
"ZEUS_BEARER_TOKEN": "your-value",
"ZEUS_CHAT_REQUEST_DIR": "your-value",
"GITHUB_TOKEN": "your-value",
"DEMO_TRAVEL_SAMPLE_DIR": "your-value",
"ZEUS_DEV_HELPER_TOOLSETS": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"zeus-dev-helper": {
"type": "stdio",
"command": "uvx",
"args": [
"zeus-dev-helper-mcp"
],
"env": {
"ZEUS_URL": "your-value",
"ZEUS_BUCKET": "your-value",
"ZEUS_SCOPE": "your-value",
"ZEUS_USERNAME": "your-value",
"ZEUS_PASSWORD": "your-value",
"ZEUS_BEARER_TOKEN": "your-value",
"ZEUS_CHAT_REQUEST_DIR": "your-value",
"GITHUB_TOKEN": "your-value",
"DEMO_TRAVEL_SAMPLE_DIR": "your-value",
"ZEUS_DEV_HELPER_TOOLSETS": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
ZEUS_URL envZEUS_BUCKET envZEUS_SCOPE envZEUS_CHAT_REQUEST_DIR envDEMO_TRAVEL_SAMPLE_DIR envZEUS_DEV_HELPER_TOOLSETS envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto koten-ai bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: ZEUS_USERNAME, ZEUS_PASSWORD, ZEUS_BEARER_TOKEN, GITHUB_TOKEN
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.7.12) kam vorgestern in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, 好縮 Short
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Smart URL shortener: create, tag and track short links on s.gooo.name.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Stdio MCP server that coaches a coding agent and a human to a first successful Zeus Client app turn.
This is not a data-plane MCP. It does not run Explore/Verify verbs on your behalf, invent contract hashes, or perform Hub admin mutations. After the first-green smokes pass, data-plane and multi-agent work are handoffs only.
| Package | zeus-dev-helper-mcp |
| Registry name | io.github.koten-ai/zeus-dev-helper |
| Transport | stdio |
| Python | 3.11+ |
| MCP SDK | mcp (FastMCP on 1.x / MCPServer on 2.x) |
The server walks a first-app checklist: prereqs, live readiness on the public Zeus API, catalog templates, contract bind (copy a stamped hash only), surface/verb coaching, config lint, and smoke tests. Prefer a live Zeus stamp for catalogs. fetch_chat_request is always template only.
Hard constraints the tools enforce:
contract_hashverify_local_setup and smoke_test_agent import zeus_client in this Helper process. Install the agent extra into that environment. The app .venv does not satisfy the check.
pip install "zeus-dev-helper-mcp[agent]"
uvx --from 'zeus-dev-helper-mcp[agent]' zeus-dev-helper-mcp
zeus-dev-helper-mcp
python -m zeus_dev_helper_mcp
Prefer the published console script (uvx / pip install) so hosts do not need a source checkout.
Set ZEUS_URL to your Zeus public API on port 8080 (never Hub :9091). Prefer the remote host you actually use. Use http://localhost:8080 only when Zeus runs on the same machine as the MCP host.
# Remote Zeus (typical lab / shared engine) — put your host here
export ZEUS_URL=http://192.168.0.219:8080
#
If the user names a URL or sample in chat, call `set_prereq` with that zeus_url / bucket / scope (do not keep a stale localhost default). doctor reports stored vs effective URL routing (see ZDM-3).
grok mcp add treats flags like -m as its own unless they come after `--`. The uvx argument is the PyPI package zeus-dev-helper-mcp, not the MCP server id zeus-dev-helper.
grok mcp add zeus-dev-helper \
-e ZEUS_URL=http://192.168.0.219:8080 \ -- uvx --from 'zeus-dev-helper-mcp[agent]' zeus-dev-helper-mcp
From a local checkout after pip install -e ".[dev,agent]", point command at this tree’s venv so the host can start the server even when it was launched without the venv activated:
grok mcp add zeus-dev-helper \
-e ZEUS_URL=http://192.168.0.219:8080 \ -- "$(pwd)/.venv/bin/python" -m zeus_dev_helper_mcp
Equivalent config:
[mcp_servers.zeus-dev-helper]
command = "uvx" args = ["--from", "zeus-dev-helper-mcp[agent]", "zeus-dev-helper-mcp"] env = { ZEUS_URL = "http://192.168.0.219:8080" } enabled = true
Then refresh MCP servers, or grok mcp doctor zeus-dev-helper.
Common failures:
unexpected argument '-m' — missing -- before the python commanduvx zeus-dev-helper / No solution found — wrong package name; use `uvx --from 'zeus-dev-helper-mcp[agent]' zeus-dev-helper-mcp`No module named 'zeus_client' — this Helper process has no agent extra. Installing kotenai-zeus-client into the app .venv leaves the check red. Restart the MCP server after installing the extra into the Helper environment.No module named 'zeus_dev_helper_mcp' / python: No such file or directory — the host did not inherit the venv; use the .venv/bin/python path aboveNo module named 'mcp.server.fastmcp' — mcp 2.x renamed FastMCP; use Helper 0.6.0+ (mcp>=1.8.0,<3){
"mcpServers": { "zeus-dev-helper": { "command": "uvx", "args": ["--from", "zeus-dev-helper-mcp[agent]", "zeus-dev-helper-mcp"], "env": { "ZEUS_URL": "http://192.168.0.219:8080" } } } }
Add (or merge) .cursor/mcp.json in the project (or use Cursor’s global MCP settings):
{
"mcpServers": { "zeus-dev-helper": { "command": "uvx", "args": ["--from", "zeus-dev-helper-mcp[agent]", "zeus-dev-helper-mcp"], "env": { "ZEUS_URL": "http://192.168.0.219:8080" } } } }
The permission profile :workspace does not enable network. With sandbox_approval false, Codex does not ask to enable it. Pip then reports [Errno -2] Name or service not known. That is EAI_NONAME from the closed network. A package host that answers outside the sandbox can still look like a DNS failure inside it.
Set a top-level profile that extends :workspace and enables network. Do not also set sandbox_mode or [sandbox_workspace_write]. Start a new Codex thread after the change. Leave the network proxy off unless localhost is allowlisted, because sandboxed commands still need local Zeus.
default_permissions = "workspace-net"
[permissions.workspace-net] description = "Workspace writes plus outbound network so sandboxed commands can resolve package hosts." extends = ":workspace"
[permissions.workspace-net.network] enabled = true
[mcp_servers.zeus-dev-helper]
command = "uvx" args = ["--from", "zeus-dev-helper-mcp[agent]", "zeus-dev-helper-mcp"]
Install the app requirements.txt from a process that already has network. That install does not put zeus_client on the Helper interpreter. Restart the MCP server after the Helper environment gains the agent extra.
Point the host’s MCP stdio entry at uvx --from 'zeus-dev-helper-mcp[agent]' zeus-dev-helper-mcp (or python -m zeus_dev_helper_mcp from a venv that has the agent extra) with the same env vars. Replace the sample IP with your Zeus host.
doctor → (if user named URL/sample) set_prereq → start_project → next_step
→ readiness_check → use_sample | scaffold_app → bind_contract → recommend_surface → smoke_test_zeus → smoke_test_agent → diagnose_error
Prefer next_step over dumping the full checklist. Two first-green paths (TravelPlan is not the only path):
start_project(sample=travel) → `use_sample`, which follows the beer creation procedure for public demo_travel_sample. The clone URL stays https://github.com/koten-ai/demo_travel_sample.git. The destination is sample_dir, or parent_dir plus project_name. A blank parent is the directory next to this Helper checkout. A foreign default directory moves to the next open sibling. An explicit foreign sample_dir returns foreign_sample_dir and writes nothing. A recorded checkout that answers GET /api/health stays in place. The entrypoint stays python -m travel_planner on port 5000 unless PORT is set. use_sample writes a mode 600 .env from the non-secret Zeus and LLM names, keeps populated values, and fills empties. A rewrite of an existing .env sets env_change. settings_written names which of ZEUS_AUTH_MODE, ZEUS_USERNAME, LLM_BASE_URL, and LLM_MODEL changed. settings_kept gives the populated values that stayed. ZEUS_PASSWORD, ZEUS_BEARER_TOKEN, and LLM_API_KEY stay presence-only in secret_presence. Restart the app before run_turn when env_change is true. ZEUS_USERNAME defaults to demo_1. The create path does not rewrite the Dockerfile or compose file. Checklist 1.2 stays open until this process has LLM_API_KEY, XAI_API_KEY, or OPENAI_API_KEY, because this page is search and has no Direct list. Checklist 3.2 stays open until that key is in the app .env. set_prereq(has_llm_key=true) does not count. After the app is on disk, checklist 5.1, 5.2, and 6.1 recommend website_green. Travel is one scope: smoke-green does not recommend handoff_to_multi and does not write jobs.host_url.start_project(sample=beer) → use_sample(sample=beer) clones public demo_beer_sample when missing and sets DEMO_BEER_SAMPLE_DIR. That checkout is the app. Start it with Python 3.11 or newer. The use_sample run string uses python3 -m venv only when python3 is 3.11 or newer. Then pip install -r requirements.txt and python main.py (binds 127.0.0.1:8090). When that checkout has both a Dockerfile and a compose file, use_sample asks the agent to let the user choose Python or Docker before either command starts. website_green(serve_with=python|docker) records the choice. The helper does not run Docker. That requirements file installs kotenai-zeus-client>=2.5.3,<2.6 from PyPI. use_sample writes mode 600 .env from .env.example, keeps populated values, and adds missing template keys. A rewrite of an existing .env sets env_change. settings_written names which of ZEUS_AUTH_MODE, ZEUS_USERNAME, LLM_BASE_URL, and LLM_MODEL changed. settings_kept gives the populated values that stayed. ZEUS_PASSWORD, ZEUS_BEARER_TOKEN, and LLM_API_KEY stay presence-only in secret_presence. Restart the app before run_turn when env_change is true. It resolves LLM_API_KEY, LLM_BASE_URL, and LLM_MODEL together, and copies OPENAI_API_KEY or XAI_API_KEY only when the base URL and model match that provider. The clone keeps LLM_MODEL=grok-4.5-latest. run and next_action do not say to copy .env.example over that file. website_green does not run pip when the app .venv is older than 3.11. Lists are Direct and need no LLM key. Pour matches travel: rt.agent.run_turn with chat_request omitted so catalog.load_for_turn merges the live SCOPE BRIEF and MINI-SCHEMA. A helper-written catalog page uses max_rounds 4. Pour stays off until LLM_API_KEY, XAI_API_KEY, or OPENAI_API_KEY is in the app .env, including when has_llm_key=false. Leave config.json llm.api_key_env as that variable name. verify_local_setup keeps checklist 3.2 open until that file check passes. The BFF does not build a pipeline body. Do not clone demo_travel_sample. Do not write a job for this one-scope page.start_project(sample=demo_yelp) → use_sample(sample=demo_yelp) clones the LocalAI template demo_yelp when missing (utterances yelp-demo / demo_yelp) and sets DEMO_YELP_SAMPLE_DIR. When parent_dir is set, the clone is created in that directory. That checkout is the app: run it, and do not write a replacement or copy the beer sample. use_sample also downloads the public business photo set into frontend/public/business-images/ /{1,2,3}.png (no biz: prefix, no API key). Search POSTs /api/search and sends the live chat request for yelp-demo / _default as the session body. Search cards unwrap a hybrid {node, score} hit and a nested pipeline row. The business page GETs /api/business/{id} when the id is not in the bundled catalog. Review text is the source document, not a rev: doc key. set_prereq bucket is yelp-demo, scope _default. Do not clone demo_travel_sample. Bare sample=yelp stays the multi-agent handoff.start_project(sample=api) → scaffold_app(app_kind=api, coding_language=python) (FastAPI POST /turn on kotenai-zeus-client). Other languages not scaffolded yet..env; set_prereq presence flags only. has_llm_key=true does not count as the key. Pass the user’s Zeus URL into `seNur der Anfang wird gezeigt; den Rest findest du im Repo