An MCP server for Codemagic CI/CD that provides tools to list applications, get app details, list builds, get build details, fetch build logs, and manage builds with token economy and secret privacy guarantees
Strong foundation with clear verb-based naming (list_*, get_*, start_*, cancel_*) and comprehensive parameter descriptions. All 7 tools have documented input schemas with type definitions and parameter descriptions. Tool descriptions are concise (40-80 chars) and action-oriented. Key strengths: explicit risk classification (READ_ONLY vs WRITE), parameter constraints (limit bounds, mutually exclusive params), and security-conscious design (no secrets in params, variable values never returned). Gaps: output schemas not formally documented in source; error handling guidance minimal; no pagination metadata (total count, next_cursor) visible in list tools despite accepting limits.
Cancel a running build. Has no effect if the build has already finished.
Get one app's workflows, branches, and environment variable group names. Variable *values* are never returned.
Get one build's detail: commit, pull request, config, artifacts, and build actions
Get one build step's log. Logs are large and may be truncated; the response says if it was.
List Codemagic applications the token can see. One line per app: id, name, repository URL.
List recent builds for an app, optionally filtered by workflow, branch, tag, or status
Start a new build. Requires the CODEMAGIC_ALLOW_BUILDS environment variable to be set to true.
Output schemas not formally documented. Tool descriptions mention what is returned (workflows, branches, artifacts, logs) but no structured schema definition visible in source code. LLMs cannot reliably extract fields or plan downstream tool calls without explicit output documentation.
Pagination metadata missing. list_apps and list_builds accept 'limit' parameter but no indication of total count, next_cursor, or has_more flag in descriptions. Large result sets may be truncated silently, forcing agents to guess if more data exists.
Error handling guidance absent. Tool descriptions do not explain what errors are possible, when they are retryable, or what the LLM should do next. E.g., start_build requires CODEMAGIC_ALLOW_BUILDS env var but no guidance on what error occurs if unset or how to recover.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2025-06-18+ | v2 |
Destructive operations lack confirmation step. start_build and cancel_build modify state but no dry-run or confirmation mechanism visible. Agents can trigger builds or cancel in-progress work without explicit user approval.
Parameter constraints incomplete. 'verbosity' in list_apps accepts 'summary' or 'detail' but no enum constraint visible; 'status' in list_builds accepts examples like 'finished, failed, cancelled' but no formal enum definition shown.