{
  "ok": true,
  "status": "ok",
  "worker": "afo-gitzip",
  "deployed_as": "afo-gitzip-push-mcp",
  "version": "0.4.1.1-mcp-transport-405",
  "default_owner": "nothinginfinity",
  "bindings": {
    "GITHUB_TOKEN": true,
    "DEFAULT_OWNER": true,
    "LARGE_CONTENT_BUCKET": true
  },
  "tools": [
    "gitzip_status",
    "gitzip_capabilities",
    "create_direct_byte_ingress",
    "create_or_update_repo_file",
    "push_files_to_github",
    "create_large_file_upload",
    "upload_large_file_part",
    "get_large_file_upload",
    "finalize_large_file_upload",
    "abort_large_file_upload",
    "commit_large_file_manifest",
    "gitzip_patcher_status",
    "plan_text_patch",
    "apply_repo_text_patch",
    "apply_repo_patch_batch"
  ],
  "notes": [
    "push_files_to_github commits atomically (one commit for the whole manifest) and verifies the resulting tree.",
    "Empty/missing content is rejected unless allow_empty:true.",
    "replace_exact replaces all validated occurrences as of 0.2.0.",
    "V0.3 large-content uploads stage parts in R2 and never mutate GitHub before finalization.",
    "Finalized content refs and inline files converge on the same verified atomic Git Data commit engine.",
    "V0.4 direct byte ingress uses a short-lived bearer ticket and raw HTTP PUT body, then stages the object as an ordinary V0.3 part so finalization and atomic commit semantics remain unchanged."
  ]
}