Skip to main content

zeus_dev_helper_mcp

Developer Helper MCP — first Zeus-powered app onboarding coach.

Board ZDH
Epic ZDH-1
Skeleton ZDH-3
Catalogs ZDH-14zeus_chat_request
Docs docs.koten.ai · Dev Helper MCP

Not a data-plane MCP. Coaches: checklist → templates → live readiness & smoke → handoffs.

Design: docs/DESIGN.md (ZDH-2, frozen MVP) · docs/DESIGN-0.6.md (runtime coach)
Tool catalog: docs/TOOLS.md — when to call, args, side effects, do-not

Stack

  • Python 3.11+
  • Official mcp SDK (FastMCP on 1.x / MCPServer on 2.x, stdio)
  • Registry name: io.github.koten-ai/zeus-dev-helper (PyPI: zeus-dev-helper-mcp)

Install

pip install zeus-dev-helper-mcp
# or
uvx zeus-dev-helper-mcp

Optional agent-smoke extra (needs kotenai-zeus-client on PyPI):

pip install "zeus-dev-helper-mcp[agent]"

Live Zeus on :8080 is the preferred catalog stamp. Offline min templates need a local zeus_chat_request clone (ZEUS_CHAT_REQUEST_DIR) or GITHUB_TOKEN for the private GitHub repo. Travel golden path needs DEMO_TRAVEL_SAMPLE_DIR when that sample is cloned.

Install (dev)

git clone https://github.com/koten-ai/zeus_dev_helper_mcp.git
cd zeus_dev_helper_mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
# Agent smoke (optional):
pip install -e ".[agent]"   # pulls kotenai-zeus-client

# Recommended: local catalog repo (private GH needs this or GITHUB_TOKEN)
export ZEUS_CHAT_REQUEST_DIR=../zeus_chat_request   # sibling clone
# or: export GITHUB_TOKEN=...   # Contents API for private zeus_chat_request
export ZEUS_URL=http://localhost:8080
export ZEUS_BUCKET=beer-sample ZEUS_SCOPE=_default
# Optional travel golden path (private sample):
# export DEMO_TRAVEL_SAMPLE_DIR=/path/to/demo_travel_sample

Run

zeus-dev-helper-mcp
# or
python -m zeus_dev_helper_mcp

Host install

Prefer the published console script (uvx / pip install) so hosts do not need a repo checkout.

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, point command at this repo’s venv so Grok can start the server even when the TUI was launched without the venv activated:

# from this repo, after `pip install -e ".[dev]"`
grok mcp add zeus-dev-helper \
  -e ZEUS_CHAT_REQUEST_DIR=/absolute/path/to/zeus_chat_request \
  -e ZEUS_URL=http://localhost:8080 \
  -- "$(pwd)/.venv/bin/python" -m zeus_dev_helper_mcp

Equivalent ~/.grok/config.toml (or .grok/config.toml with --scope project):

[mcp_servers.zeus-dev-helper]
command = "uvx"
args = ["zeus-dev-helper-mcp"]
env = { ZEUS_URL = "http://localhost:8080" }
enabled = true

Then /mcpsr to refresh, 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 — Grok 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

Add to MCP servers config (example):

{
  "mcpServers": {
    "zeus-dev-helper": {
      "command": "uvx",
      "args": ["zeus-dev-helper-mcp"],
      "env": {
        "ZEUS_URL": "http://localhost:8080"
      }
    }
  }
}

Hermes / OpenClaw

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.

Implemented tools (0.6.0)

Per-tool when / args / side effects: docs/TOOLS.md. Status inventory:

Tool Status
doctor Config + catalog reachability
start_project / get_checklist / next_step / gap_report ZDH-8 coach walkthrough
mark_done / mark_blocked Checklist updates
set_prereq / validate_env / readiness_check ZDH-4
bootstrap_scope ZDH-5 live bootstrap + chat_request summary
scaffold_app / use_sample / write_env / verify_local_setup ZDH-6
travel_golden_path ZDH-10 travel sample golden path
smoke_test_zeus / smoke_test_agent / diagnose_error ZDH-7 / ZDH-19 ErrorCode + 0.7 classes
recommend_surface / explain_verb / lint_verb_args / suggest_verb_call ZDH-18 Direct vs agent + V2 verb lint (does not POST; no Runtime scaffold rewrite)
compat_check ZDH-21 version/feature gates on :8080 (not a COMPAT row)
lint_chat_request / bind_contract / explain_hash_boundary / catalog_diff ZDH-22 catalog coach — extract stamp only
lint_runtime_config / lint_app_code ZDH-24 config + anti-example scan (secrets redacted)
explain_req_id_policy / detective_links / support_pack_from_turn ZDH-23 correlation + redacted support pack
describe_scope ZDH-25 schema-only live describe
recommend_motion ZDH-26 13 motions; no custom chat_request
suggest_hooks ZDH-27 policy snippets (not a policy engine)
semantic_cache_status ZDH-28 leave enabled=false; optional status probe
list_catalog_modes / fetch_chat_request ZDH-14
explain / suggest_demo_prompts ZDH-13 glossary + prompts
handoff_to_multi ZDH-11 multi-agent graduation (gated)
recommend_data_plane_mcp / emit_mcp_config ZDH-12 data-plane handoff
helper_metrics Local time-to-green (privacy-safe)

Day-one coach path

start_project → set_prereq → validate_env → readiness_check
  → use_sample | travel_golden_path | scaffold_app
  → bootstrap_scope / fetch_chat_request / bind_contract / catalog_diff
  → 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 | handoff_to_multi

Catalog rules (never invent hashes)

  1. Live Zeus stamp + sync_chat_requests for production.
  2. zeus_chat_request v2/min/* for offline templates.
  3. fetch_chat_request always returns TEMPLATE ONLY warning.

Env

Variable Purpose
ZEUS_URL Public Zeus API (:8080)
ZEUS_BUCKET / ZEUS_SCOPE / ZEUS_COLLECTION Scope for bootstrap/auth probes
ZEUS_MODE default analytics
ZEUS_USERNAME / ZEUS_PASSWORD basic auth (not stored by set_prereq)
ZEUS_BEARER_TOKEN bearer auth
ZEUS_CHAT_REQUEST_DIR Local clone of zeus_chat_request
GITHUB_TOKEN / GH_TOKEN Private GitHub fetch
ZEUS_CHAT_REQUEST_REPO default koten-ai/zeus_chat_request
ZEUS_CHAT_REQUEST_BRANCH default main
DEMO_TRAVEL_SAMPLE_DIR Local clone of demo_travel_sample (ZDH-10)
KOTEN_DOCS_BASE_URL default https://docs.koten.ai
ZEUS_DEV_HELPER_STATE_DIR checklist / prereqs / local metrics

Boundaries

This Helper Not this Helper
Onboarding coach to first green Data-plane Explore/Verify tools
Catalog templates + readiness/smoke Inventing contract_hash
Multi / data-plane handoffs ZJA job runtime / Hub admin mutations
KOTEN_DOCS_BASE_URL default https://docs.koten.ai (published site)
KOTEN_DOCS_BRANCH default zeus-v1.0.0 (source branch for machine files)
ZEUS_DEV_HELPER_STATE_DIR checklist + prereqs state (default ~/.config/zeus_dev_helper)
LLM_API_KEY / OPENAI_API_KEY presence checked by validate_env

Tests

pip install -e ".[dev]"
pytest -q

Requires sibling ../zeus_chat_request with manifest.json for catalog tests.

PyPI and MCP Registry

Official registry name: io.github.koten-ai/zeus-dev-helper. Metadata lives in server.json. The registry hosts metadata only; the install artifact is the public PyPI package zeus-dev-helper-mcp.

Releases are tag-driven (vX.Y.Z). .github/workflows/release.yml tests, builds, creates a GitHub Release, publishes to PyPI (Trusted Publisher, environment pypi), then runs mcp-publisher against the official MCP Registry.

Before the first tag:

  1. Create the GitHub Actions environment pypi on this repo.
  2. On PyPI trusted publishing add a pending GitHub publisher:
    • Owner: koten-ai
    • Repository: zeus_dev_helper_mcp
    • Workflow name: release.yml
    • Environment name: pypi
  3. Align versions in pyproject.toml, src/zeus_dev_helper_mcp/__init__.py, and server.json with the tag.
  4. Merge to main, then git tag v0.6.0 && git push origin v0.6.0.

The GitHub source repo may stay private; PyPI and the MCP Registry require a public install path (pip / uvx). Keep repository in server.json only if you want clients to see the GitHub URL.

Related

Repo Role
zeus_client_python SDK
zeus_chat_request Min catalogs
docs.koten.ai Published platform docs
koten_docs Docs source + agent-index.yaml
Zeus Engine

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.0.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.0-py3-none-any.whl (80.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: zeus_dev_helper_mcp-0.6.0.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.0.tar.gz
Algorithm Hash digest
SHA256 4893026cb57ccac0ec983107f9c87d4ce15e99f807f56d5caaa6acc90fbc337c
MD5 20d262ba988776a3af5d3b086a5b08a3
BLAKE2b-256 10d1cc9b1c29086ed3264ac9c349d3622b2c9d68a5c0bf2b7143c5fb07699261

See more details on using hashes here.

Provenance

The following attestation bundles were made for zeus_dev_helper_mcp-0.6.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for zeus_dev_helper_mcp-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e8641d3ef7e83850932d5e51c355ce8e3d052e5fc07272c9bc7cd0f6bd9592e
MD5 7e28dd41a6f40d1de3ca637e6ca37878
BLAKE2b-256 268ec47cb8bbcb9b2081485ee02c54107ec26a0d8eda09e17b894d0bfe533438

See more details on using hashes here.

Provenance

The following attestation bundles were made for zeus_dev_helper_mcp-0.6.0-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

0.6.1

2 files

This release

0.6.0 This release

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