Skip to main content

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 command
  • 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 above
  • No 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 → set_prereq → validate_env → readiness_check
  → list_catalog_modes → fetch_chat_request → explain → recommend_surface
  → use_sample | travel_golden_path | scaffold_app
  → bootstrap_scope / bind_contract / catalog_diff / explain_hash_boundary
  → recommend_surface / explain_verb / lint_verb_args / compat_check
  → lint_runtime_config / lint_app_code
  → smoke_test_zeus → smoke_test_agent → gap_report
  → (optional) recommend_data_plane_mcp | emit_mcp_config | handoff_to_multi

Prefer next_step over dumping the full checklist.

Tools

Live tools/list is the call contract. Names below are the coach surface.

Start and health

Tool Job
doctor Version, public config (no secrets), catalog reachability
start_project Init or reset the first-app checklist
helper_metrics Local time-to-green (never leaves the machine)

Checklist

Tool Job
get_checklist Full checklist JSON
next_step Current item plus recommended tools
gap_report Open items and progress
mark_done Mark an item done (evidence must not include secrets)
mark_blocked Mark an item blocked

Env and platform

Tool Job
set_prereq Store non-secret prereqs (presence flags only for secrets)
validate_env Shape check: URL port, key presence, bucket/scope, templates
readiness_check Live gates: healthz / readyz / version, auth, bootstrap
compat_check Version and feature gates on :8080
bootstrap_scope Live bootstrap plus chat_request summary

Catalogs and contracts

Tool Job
list_catalog_modes List min catalog modes from local templates
fetch_chat_request Fetch a min template by mode (TEMPLATE ONLY)
lint_chat_request Read-only lint of a chat_request
bind_contract Copy a stamped contract.hash only; refuses empty / local compute
explain_hash_boundary What is excluded from the hash
catalog_diff Live bootstrap summary vs on-disk vs bound hash prefix

Project on disk

Tool Job
use_sample Point at a local travel sample (or gate other samples)
travel_golden_path Travel sample phases plus optional layout check
scaffold_app Minimal app files (main.py, requirements, .env.example)
write_env Write .env.example from prereqs (never secret values)
verify_local_setup Import check plus optional scaffold files
lint_runtime_config Lint runtime config: :8080, auth mode, env names, cache off
lint_app_code Anti-example scan (stale V1, hash literals, Hub port)

Surface and verbs (coach only; does not POST find/search/get/pipeline)

Tool Job
recommend_surface Intent → Client surface + do-not list
explain_verb Static V2 verb encyclopedia
lint_verb_args Lint a would-be JSON body (posted=false)
suggest_verb_call Draft a legal JSON body from a goal (does not POST)

Smoke and diagnose

Tool Job
smoke_test_zeus No LLM: readiness plus a read-only describe
smoke_test_agent One Client agent turn (needs [agent] extra and an LLM key)
suggest_demo_prompts Advice-shaped starter questions
describe_scope Live schema-only describe (entity types and field names; no document samples)
diagnose_error Map HTTP / body / error codes to a failure class

Correlation and support

Tool Job
explain_req_id_policy One UUID per hop; never composite hop ids
detective_links Hub Detective URL templates only (does not fetch)
support_pack_from_turn Redacted markdown from debug JSON or last smoke artifact

Motion, hooks, cache, glossary

Tool Job
recommend_motion User job → one of 13 motions; does not generate a catalog
suggest_hooks Middleware snippets (executed=false; Helper is not a policy engine)
semantic_cache_status Leave enabled=false; optional status probe
explain Short glossary answer

Post-green handoffs

Gated on smoke 5.1 + 5.2 unless forced.

Tool Job
recommend_data_plane_mcp Hand off to a future scope-bound data-plane MCP
emit_mcp_config Safe-by-default MCP config fragment (placeholder command/args)
handoff_to_multi Multi-agent graduation guidance (does not run jobs)

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)

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zeus_dev_helper_mcp-0.6.1.tar.gz (107.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zeus_dev_helper_mcp-0.6.1-py3-none-any.whl (80.3 kB view details)

Uploaded Python 3

File details

Details for the file zeus_dev_helper_mcp-0.6.1.tar.gz.

File metadata

  • Download URL: zeus_dev_helper_mcp-0.6.1.tar.gz
  • Upload date:
  • Size: 107.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for zeus_dev_helper_mcp-0.6.1.tar.gz
Algorithm Hash digest
SHA256 51b5abfbcfa42c96d7cdcb8b58790f8db4725fd15c6dcfe93866a0e8605395d0
MD5 8a6df0cf563cf6dd2712ec8b3ede3383
BLAKE2b-256 df158c3b3b423f96e11220d1960540070f924e967fd98f6a35fd8ada11770f2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for zeus_dev_helper_mcp-0.6.1.tar.gz:

Publisher: release.yml on koten-ai/zeus_dev_helper_mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zeus_dev_helper_mcp-0.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for zeus_dev_helper_mcp-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ec1a4bf000e49ce061a7dc29c43aa5458e7d7ddd8c5f6b2ca1b518dfd65f7acc
MD5 60542cb676f65c2aa97a8cd64145ff3a
BLAKE2b-256 8728f3d0afcf20e4a91246fb398331a876b3eda1df7615d6042d21b486caf27b

See more details on using hashes here.

Provenance

The following attestation bundles were made for zeus_dev_helper_mcp-0.6.1-py3-none-any.whl:

Publisher: release.yml on koten-ai/zeus_dev_helper_mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 files

0.6.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page