| Step | UI | CLI | MCP |
|---|---|---|---|
| Connect GitHub | /ai/settings/gateway - Gateway connections, GitHub, Install the GitHub App | Gap. Installing a GitHub App is a browser consent. Register a repository once the connection exists. | Gap. By design: a credential is never created over MCP, because the secret would be a tool argument. |
| Register the repository | /applications/create - Find a repository, Connect and prepare | ankra application add, ankra application ship | create_application |
| Read the setup pull request | /applications/[id] - Ship, Go live | ankra application add --wait | get_application_setup_proposal |
| Approve pipeline authority | /applications/[id] - Pipelines, a run, Review authority for approval, Approve for future runs | ankra pipeline definitions approve | Gap. By design: only a person approves what a pipeline may do. |
| Watch a run | /applications/[id] - Pipelines | ankra pipeline get --wait, ankra pipeline logs | watch_pipeline_run, get_pipeline_step_logs |
| Read findings | /applications/[id] - Protect | ankra pipeline findings, ankra application container-security | get_application_container_security, list_security_findings |
| AI fix, with approval | /applications/[id] - Protect, Fix with Ankra | ankra chat, ankra chat actions confirm | Gap. No tool starts Ankra AI’s fix on a finding. The connected client writes the change itself and opens a pull request with scm_create_pull_request, or hands the work to Ankra AI’s board with file_ticket where the AI experience is on. |
| Merge | /applications/[id] - Protect, Fixes Ankra opened, Merge; or the Merge when green switch on the GitHub connection | Gap. No merge verb; the merge train is the only route and must be enabled. | scm_merge_pull_request. Refused unless the GitHub connection is in Agent mode with merge-when-green on; an organisation admin turns that on with enable_merge_when_green. |
| Deploy with Postgres | /applications/[id]/deploy - Deploy a version | ankra application ship --set-up-database | deploy_application, prepare_service_setup, confirm_service_setup. Cannot yet install the Postgres operator on a cluster without one. |
| Public address | /applications/[id]/deploy - Public access, Public hostname | ankra application deploy --set | deploy_application |
| Pull request previews Open bug on every surface: a preview on Ankra Cloud does not come up. | /applications/[id] - Ship, Previews | ankra application demo config set, ankra application demo deploy | update_application_demo_config, deploy_pr_demo |
| AI review | /ai/settings/gateway - Gateway connections, GitHub, repository rules, AI review | ankra org ai-review repos set, ankra application pull-request-reviews | list_application_pull_request_reviews, update_application_ai_config. update_application_ai_config turns the pull request lane on or off for one application’s repository. |
| Promote | /applications/[id] - Ship, Promote a version | ankra application deploy --set. No promote verb: deploy the tag that passed. | promote_application |
| Roll back | /applications/[id] - Ship, Put back. Put back is offered when a release did not go live; otherwise deploy the previous version. | ankra application deploy --set. Deploy the previous tag. | deploy_application. Deploy the previous tag. |
| Connect Slack | /ai/settings/gateway - Gateway connections, Slack, Add to Slack | Gap. No install verb; the browser sign-in starts from the portal. | Gap. Slack’s install is a browser consent, so no tool starts it. |
| Route alerts | /organisation/notification-routes - Routing rules, Add rule | ankra alerts destinations create, ankra alerts routes create | create_alert_destination, create_notification_route |
| AI sandbox | /organisation/ai-workspaces - Choose the cluster | ankra org ai-environment set, ankra cluster node-group add. The labelled node group goes on the CI cluster: a new CI cluster needs one first. | update_ai_environment, add_node_group. add_node_group sets the label on kubeadm clusters only. |
| CI cluster | /organisation/pipelines - CI clusters, Add a cluster | ankra org ci-settings pool add | Gap. No tool changes the organisation’s CI cluster pool. |
scripts/flow_parity.json, then run node scripts/check_flow_parity.mjs --write.