io.github.koten-ai/zeus-dev-helper
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZEUS_URL | Yes | Public Zeus API base URL (port 8080). Remote host first; localhost only when Zeus is local. | |
| ZEUS_MODE | No | Default catalog mode | analytics |
| ZEUS_SCOPE | No | Scope for bootstrap and auth probes | |
| LLM_API_KEY | No | Presence checked by validate_env; required for smoke_test_agent | |
| ZEUS_BUCKET | No | Scope for bootstrap and auth probes | |
| ZEUS_PASSWORD | No | Basic auth (never logged) | |
| ZEUS_USERNAME | No | Basic auth (never logged) | |
| OPENAI_API_KEY | No | Presence checked by validate_env; required for smoke_test_agent | |
| ZEUS_AUTH_MODE | No | Auth mode (none, basic, bearer) | |
| ZEUS_COLLECTION | No | Scope for bootstrap and auth probes | |
| ZEUS_BEARER_TOKEN | No | Bearer auth (never logged) | |
| ZEUS_CHAT_REQUEST_DIR | No | Local directory of min catalog templates; auto-set when list_catalog_modes / fetch_chat_request locate or clone public zeus_chat_request | |
| DEMO_TRAVEL_SAMPLE_DIR | No | Local sample directory for use_sample / travel_golden_path | |
| ZEUS_DEV_HELPER_TOOLSETS | No | Static toolsets: core (default), plus catalog,lint,travel,support,handoff or all | core |
| ZEUS_DEV_HELPER_STATE_DIR | No | Checklist, prereqs, and local metrics | ~/.config/zeus_dev_helper |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| doctorB | Health / doctor. detail: health | env | compat | cache | all. env/compat/cache fold validate_env, compat_check, and semantic_cache_status (those names stay on the lint toolset). If the user already gave a Zeus URL or sample name, next call set_prereq with those values (not Helper localhost defaults), then start_project / next_step. Do not grep the Zeus engine tree for first green. |
| start_projectA | Start or reset first-app coaching checklist (single-agent default). sample:
Multi-agent goals (goal=multi or sample=yelp) are gated until single-agent smokes are green, unless force_multi=true (ZDH-11). |
| next_stepA | Return the single current checklist blocker + recommended Helper tools (coach). Call only the recommended tool next. If the user named a URL/bucket and prereqs are unset, recommend set_prereq first. Prefer zeus-helper:// + readiness_check / smoke_test_zeus over hand-rolled curl. |
| set_prereqA | Store non-secret prereqs for readiness (does not store password/token values). Put real secrets in environment variables (ZEUS_PASSWORD, ZEUS_BEARER_TOKEN, LLM_API_KEY). When the user named a Zeus URL or sample in chat, pass that zeus_url / bucket / scope here (not Helper localhost defaults). Persisted values override MCP host ZEUS_* env defaults so readiness/doctor hit the user's cluster (ZDM-3). Presence flags only for credentials and LLM key. |
| readiness_checkB | Live Zeus platform gates: healthz/readyz/version, auth, bootstrap, chat_request. Never returns secret values. Emits failure_class + next_action on red paths. |
| scaffold_appC | Write a ZeusRuntime middle-man. app_kind=cli (default) or api (FastAPI POST /turn). coding_language=python only today. UI demos use use_sample / demo_travel_sample, not this tool. |
| use_sampleB | UI sample: travel clone or beer Direct template. sample=travel — locate/clone demo_travel_sample; set DEMO_TRAVEL_SAMPLE_DIR. sample=beer — write demo_beer_sample Direct catalog UI (no LLM; find→get). project_name = directory name (defaults: demo_travel_sample / demo_beer_sample). Extra travel-only phases stay on travel_golden_path (travel toolset). |
| smoke_test_zeusB | Smoke Zeus without LLM: readiness + POST /v2/{bucket}/{scope}/describe. |
| smoke_test_agentC | One ZeusRuntime run_turn (requires kotenai-zeus-client>=2.3.0 + LLM key). If the client is missing and demo_travel_sample documents Docker install, returns guide-only docker compose next_action instead of only pip install. |
| diagnose_errorA | Map error signals to failure_class + errors.md anchor (ZDH-7 / ZDH-19). Includes Detective URL templates when req_id/chat_id are present (folded detective_links). Does not scrape Hub. |
| recommend_surfaceC | Pick Direct vs agent surface + Trace-Class (ZDH-18). Does not call Zeus. |
| bind_contractA | Extract stamped contract.hash only. Refuse placeholders / compute_local (ZDH-22). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| first_green | Day-one path to a first green ZeusRuntime turn. |
| smoke_question | Advice-shaped question for smoke_test_agent. |
| support_pack | Redacted support pack from a failed turn. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| checklist | First-app coaching checklist JSON |
| glossary | Glossary topic index (read zeus-helper://glossary/{topic} for a page) |
| verbs | V2 verb index (read zeus-helper://verbs/{name} for a page) |
| hash_boundary | What is excluded from contract_hash (MINI-SCHEMA / brief) |
| req_id_policy | One UUID per hop; never composite hop ids; never Rewind /turn |
| catalog_modes | V2 min chat_request modes from zeus_chat_request (TEMPLATE ONLY) |
TDQS
Scored across 12 tools
There is some overlap between smoke_test_agent and smoke_test_zeus, and between doctor and readiness_check, which could confuse an agent. However, other tools like bind_contract, scaffold_app, and use_sample have distinct purposes, so the ambiguity is limited.
The naming is a mix of verb_noun patterns (e.g., smoke_test_agent, readiness_check) and bare verbs (doctor, next_step). While most use snake_case, the inconsistency between using 'check' in readiness_check and 'doctor' for health might cause minor confusion.
With 12 tools, the count is within the typical well-scoped range for a complex developer assistant. Each tool addresses a different aspect of the development workflow, though the number feels slightly high but not problematic.
The set covers the core lifecycle of starting, configuring, and verifying a project, but lacks tools for explicit update or deletion of configuration or samples. Some workflows might require manual steps outside the toolset, creating minor gaps.