Zeus Dev Helper MCP
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) |
What it does
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:
- Public Zeus API on port 8080 only (never Hub 9091 from the app path)
- Never invent
contract_hash - No secrets in tool results, checklist evidence, or support packs
- Semantic cache stays off
Install
pip install zeus-dev-helper-mcp
# or
uvx zeus-dev-helper-mcp
Optional extra for smoke_test_agent (pulls the Zeus Client package):
pip install "zeus-dev-helper-mcp[agent]"
Run
zeus-dev-helper-mcp
# or
python -m zeus_dev_helper_mcp
Prefer the published console script (uvx / pip install) so hosts do not need a source checkout.
Host install
Grok Build
grok mcp add treats flags like -m as its own unless they come after --.
grok mcp add zeus-dev-helper \
-e ZEUS_URL=http://localhost:8080 \
-- uvx zeus-dev-helper-mcp
From a local checkout after pip install -e ".[dev]", 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://localhost:8080 \
-- "$(pwd)/.venv/bin/python" -m zeus_dev_helper_mcp
Equivalent config:
[mcp_servers.zeus-dev-helper]
command = "uvx"
args = ["zeus-dev-helper-mcp"]
env = { ZEUS_URL = "http://localhost:8080" }
enabled = true
Then refresh MCP servers, or grok mcp doctor zeus-dev-helper.
Common failures:
unexpected argument '-m'— missing--before the python commandNo module named 'zeus_dev_helper_mcp'/python: No such file or directory— the host did not inherit the venv; use the.venv/bin/pythonpath aboveNo module named 'mcp.server.fastmcp'— mcp 2.x renamed FastMCP; use Helper 0.6.0+ (mcp>=1.8.0,<3)
Claude Code / Claude Desktop
{
"mcpServers": {
"zeus-dev-helper": {
"command": "uvx",
"args": ["zeus-dev-helper-mcp"],
"env": {
"ZEUS_URL": "http://localhost:8080"
}
}
}
}
Other stdio hosts
Point the host’s MCP stdio entry at uvx zeus-dev-helper-mcp (or python -m zeus_dev_helper_mcp from a venv) with the same env vars.
Day-one coach path
doctor → start_project → next_step
→ set_prereq → validate_env → 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. Read zeus-helper:// resources for glossary, verbs, policies, and catalog modes. Hosts can pick prompts first_green, smoke_question, and support_pack.
Default tools (core)
Live tools/list is the call contract. Default surface is 12 tools (ZEUS_DEV_HELPER_TOOLSETS=core).
| Tool | Job |
|---|---|
doctor |
Health. detail=health|env|compat|cache|all (env/compat/cache fold lint-toolset checks) |
start_project |
Init or reset the first-app checklist |
next_step |
Current item plus recommended tools and resource links |
set_prereq |
Store non-secret prereqs (presence flags only for secrets) |
readiness_check |
Live gates: healthz / readyz / version, auth, bootstrap |
scaffold_app |
Minimal ZeusRuntime app (main.py, config.json, requirements, .env.example) |
use_sample |
Travel sample plus golden-path check (or gate other samples) |
bind_contract |
Copy a stamped contract.hash only; refuses empty / local compute |
recommend_surface |
Intent → Client surface + do-not list |
smoke_test_zeus |
No LLM: readiness plus a read-only describe |
smoke_test_agent |
One Client run_turn (needs [agent] extra and an LLM key) |
diagnose_error |
Map HTTP / body / error codes to a failure class |
Opt-in toolsets (static, comma-separated): catalog, lint, travel, support, handoff. all enables every set. Full when/args/side-effects map: docs/TOOLS.md.
Resources (always on): zeus-helper://checklist, zeus-helper://glossary/{topic}, zeus-helper://verbs/{name}, zeus-helper://policy/hash-boundary, zeus-helper://policy/req-id, zeus-helper://catalog/modes.
Environment
Secrets stay in the process environment. set_prereq stores presence flags only. Tool results redact secret values.
| Variable | Purpose |
|---|---|
ZEUS_URL |
Public Zeus API base URL (port 8080) |
ZEUS_BUCKET / ZEUS_SCOPE / ZEUS_COLLECTION |
Scope for bootstrap and auth probes |
ZEUS_MODE |
Default catalog mode (analytics) |
ZEUS_AUTH_MODE |
Auth mode (none, basic, bearer) |
ZEUS_USERNAME / ZEUS_PASSWORD |
Basic auth (never logged) |
ZEUS_BEARER_TOKEN |
Bearer auth (never logged) |
LLM_API_KEY / OPENAI_API_KEY |
Presence checked by validate_env; required for smoke_test_agent |
ZEUS_CHAT_REQUEST_DIR |
Local directory of min catalog templates (offline list_catalog_modes / fetch_chat_request) |
DEMO_TRAVEL_SAMPLE_DIR |
Local sample directory for use_sample / travel_golden_path |
ZEUS_DEV_HELPER_STATE_DIR |
Checklist, prereqs, and local metrics (default ~/.config/zeus_dev_helper) |
ZEUS_DEV_HELPER_TOOLSETS |
Static toolsets: core (default), plus catalog,lint,travel,support,handoff or all |
Boundaries
| This MCP | Not this MCP |
|---|---|
| Onboarding coach to first green | Data-plane Explore/Verify tools |
| Catalog templates plus readiness and smoke | Inventing or locally computing contract_hash |
Verb explain / lint / draft (posted=false) |
POSTing find / search / get / pipeline |
| Detective URL templates | Hub scrape or Hub admin mutations |
| Multi / data-plane handoffs | Multi-agent job runtime |
| Local checklist and metrics | Shipping secrets in evidence or support packs |
Dev install
From a local checkout:
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
# optional agent smoke:
pip install -e ".[agent]"
export ZEUS_URL=http://localhost:8080
pytest -q
MCP Registry
Official registry name: io.github.koten-ai/zeus-dev-helper. The registry hosts metadata only; the install artifact is the PyPI package zeus-dev-helper-mcp.
Release files for zeus-dev-helper-mcp 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zeus_dev_helper_mcp-0.7.0.tar.gz | 118.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zeus_dev_helper_mcp-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 207.7 kB
Release files / zeus_dev_helper_mcp-0.7.0.tar.gz
| Download URL | zeus_dev_helper_mcp-0.7.0.tar.gz |
|---|---|
| Size | 118.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
af0a4812888e4201cb2802a5b709ab620274aba17c73ed756e62fb2f90738f53
|
|
BLAKE2b-256 checksum How to use checksums |
3716eae7267129bff067fe9adb58b3898a19d9baea03384e12946bb87c72cbb1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / zeus_dev_helper_mcp-0.7.0-py3-none-any.whl
| Download URL | zeus_dev_helper_mcp-0.7.0-py3-none-any.whl |
|---|---|
| Size | 89.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cbb40cbae0cafe3d4ee57270b2e312fd548dcbbcbbbeee96355e0cc69d24edb4
|
|
BLAKE2b-256 checksum How to use checksums |
5f8bed310e6da475ceef2ced2bbc746a3e86300fdbd74a1add2640b32cd11170
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency log