Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Coach first Zeus Client app to green (stdio MCP).
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
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_TOOLSETSLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"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"
}
}
}
}Ejecuta esto en tu terminal
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-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
ZEUS_URL envZEUS_BUCKET envZEUS_SCOPE envZEUS_CHAT_REQUEST_DIR envDEMO_TRAVEL_SAMPLE_DIR envZEUS_DEV_HELPER_TOOLSETS envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub koten-ai, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: ZEUS_USERNAME, ZEUS_PASSWORD, ZEUS_BEARER_TOKEN, GITHUB_TOKEN
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.7.12) llegó al registro anteayer.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Winecellarbuilders
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
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.
Find the team for your wine room.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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 `seSolo se muestra el principio; lee el resto en el repo