codex-fleet-github
Use when dispatching, sweeping, monitoring, or planning autonomous Codex-on-GitHub runs across the private fleet via the codex-fleet-github MCP server. Drives the Wave-1 workflow_dispatch runner (codex-runner.yml) with propose-only draft PRs and a fail-closed auth model. Covers fleet_dispatch, fleet_sweep, fleet_status, fleet_orchestrate. NOT for local Codex CLI consultation (use codex-consult).
- License 许可
- MIT
- 最近更新
- 2026-11-02
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- codex-fleet-github
- description
- Use when dispatching, sweeping, monitoring, or planning autonomous Codex-on-GitHub runs across the private fleet via the codex-fleet-github MCP server. Drives the Wave-1 workflow_dispatch runner (codex-runner.yml) with propose-only draft PRs and a fail-closed auth model. Covers fleet_dispatch, fleet_sweep, fleet_status, fleet_orchestrate. NOT for local Codex CLI consultation (use codex-consult).
02 资源文件 4
- 参考文档references/tsconfig-strict.json3.3 KB
- 参考文档references/typescript-cheatsheet.md7.3 KB
- 脚本references/utility-types.ts8.4 KB
- 脚本scripts/ts_diagnostic.py6.1 KB
03 SKILL.md 正文
codex-fleet-github — Autonomous Codex-on-GitHub Fleet Connector
A local FastMCP (stdio) server that lets a Claude Code or Codex agent drive the
private Wave-1 Codex runner (codex-runner.yml) on Prekzursil/agent-skills-toolchain.
It fans out coding tasks to any repo in the curated fleet, each run producing a
draft PR — nothing is ever merged autonomously.
Server subtree: tools/mcp/codex-fleet-github/ · FastMCP name: codex-fleet-github.
When to use
- "Dispatch Codex to fix X in repo Y" →
fleet_dispatch. - "Run this task across the whole fleet" →
fleet_sweep. - "What Codex runs / draft PRs are open?" →
fleet_status. - "Break this plan into per-repo work" →
fleet_orchestrate.
Do NOT use for local Codex CLI consult/curate/review (that is the codex-consult
skill), nor for editing codex-runner.yml (edit the workflow directly).
The four tools
| Tool | What it does | Writes? |
|---|---|---|
fleet_dispatch(repo, task, model?, effort?, max_changed_files?) |
Fires ONE gh workflow run codex-runner.yml against target_repo=repo. Returns the run URL (best-effort) plus the Actions URL. |
Yes — one dispatch, one draft PR |
fleet_sweep(task, repos?, model?, effort?, max_changed_files?) |
Dispatches the same task to many repos (default: enabled repos in codex-targets.yml; built-in fallback fleet). Serialized by the runner's concurrency group. |
Yes — many dispatches |
fleet_status(limit?) |
Lists recent codex-runner runs and open codex-runner draft PRs across the fleet (gh run list / gh search prs). |
No — read-only |
fleet_orchestrate(plan, repos?, dispatch?, ...) |
Structured per-repo decomposition of a plan. By default does NOT dispatch; dispatch=true fires fleet_dispatch per item. |
Only if dispatch=true |
The dispatch contract matches the runner exactly:
gh workflow run codex-runner.yml --repo Prekzursil/agent-skills-toolchain --ref <CODEX_RUNNER_REF> -f target_repo=… -f task=… -f model=… -f effort=… -f max_changed_files=….
The workflow filename codex-runner.yml and the codex-runner PR label are the
runner's own identifiers and are UNCHANGED by the connector rename.
Safety model (propose-only + fail-closed)
- Propose-only. Every run opens a draft PR on the target repo. The connector has no merge path — a human reviews and merges.
- Fail-closed auth. No usable token ⇒ the tool refuses and returns an error;
it never falls through to an unauthenticated or wrong-identity
ghcall. - Token never leaks. The PAT is read from the environment and injected into
the child
ghprocess env only — never placed on argv, never logged, never echoed in tool output or errors. - No
auth.jsoncontact. The connector never reads or writes the runner'sauth.json; it only triggersworkflow_dispatch. - Boundary-validated inputs. repo/task/model/effort/max_changed_files are
validated at the tool boundary and passed to
ghas an argv list (no shell), so no injection through task text.
Auth & setup
- Token. Create a fine-grained PAT with
actions:writeonPrekzursil/agent-skills-toolchain(dispatch) andpull-requests:readacross the fleet (status). Export it asCODEX_DISPATCH_PAT. Resolution order:CODEX_DISPATCH_PAT→GH_TOKEN→GITHUB_TOKEN→ OS keyring (codex-fleet-github/dispatch). Reference the env var NAME only — never paste the secret value into any config file. - Runner ref (important pre-merge).
CODEX_RUNNER_REFselects which refgh workflow runtargets. The server defaults tomain, BUT until PR #68 merges the workflow only exists on the runner branch — setCODEX_RUNNER_REF=feat/codex-parity-runneruntil then, then switch back tomain(or unset). - Register the MCP server (see the splice files in this folder):
- Canonical manifest:
canonical-mcp-servers.entry.json - Claude
~/.mcp.json:mcp.json.entry.json - Codex
~/.codex/config.toml:config.toml.entry.toml
- Canonical manifest:
- Reconnect. In Claude:
/mcp reconnect codex-fleet-github. In Codex: restart the session (it forwardsenv_varson launch).
Env overrides (advanced)
CODEX_RUNNER_REPO / CODEX_RUNNER_REF / CODEX_RUNNER_WORKFLOW,
CODEX_QZT_REPO, CODEX_TARGETS_FILE / CODEX_TARGETS_PATH,
CODEX_FLEET_OWNER, CODEX_GH_BIN. codex-targets.yml is resolved local-file →
QZT gh api (root then .github/) → built-in fallback fleet.
Verify
python -c "import server"constructsFastMCP("codex-fleet-github").fleet_status()with a valid token returns recent runs without dispatching — the safe smoke test. If it errors with an auth message and noghcall fired, fail-closed is working.
04 同仓库更多 Skills
clarify-requirements
Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.
openmm-md
Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein / protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.
visual-review
Take screenshots of web pages and UI using Playwright for visual review and iteration
status
Diagnostic status report — shows metaswarm installation state, project setup, and potential issues
start
Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work
setup
Interactive project setup — detects your project, configures metaswarm, writes project-local files