Skip to content

MCP tools (mcp__coro__)

The runner builds an in-process MCP server named coro. The Agent SDK prefixes every tool with mcp__coro__, for example mcp__coro__scm_create_pr. Workflow Markdown, agent tables, and evaluator prompts should consistently use that prefix.

Extension plugins may register additional mcp__<pluginId>__* tools for provider-specific operations (@coro-ai/plugin-gitlab attaches the upstream GitLab MCP surface). This page lists only the canonical Coro toolpack emitted by createCoroMcpServer().


SCM (generic shim)

Nine high-traffic operations stay stable regardless of Bitbucket, GitHub, or GitLab. Each accepts an optional pluginId when a job resolves more than one SCM plugin.

ToolPurpose
scm_create_prOpen a PR/MR with reviewers and a substantive body
scm_get_pr_statusPR state plus approval totals (readOnlyHint)
scm_list_pr_commentsReview / inline threads
scm_post_pr_commentTop-level PR/MR comment
scm_add_pr_reviewersMerge reviewers (usernames or UUIDs — never display names)
scm_resolve_userMap free-text identities to canonical SCM accounts
scm_merge_prMerge with optional strategy (merge | squash | rebase)
scm_get_clone_infoCredentialed clone URL + git env for advanced flows
scm_clone_repoClone into the per-job working directory

Native plugins call REST directly; MCP-first plugins may answer with a redirect instructing the model to use the upstream namespace (mcp__github__*, …).


Tracker (generic shim)

ToolPurpose
tracker_get_issueFetch one issue by key (readOnlyHint)
tracker_transition_issueTransition using a status name the plugin understands
tracker_comment_issueAppend a plain-text note

Broader tracker automation flows through the plugin’s MCP allowlist.


Observability

Requires Loki / Tempo endpoints configured in the runner Settings object.

ToolRole
loki_queryExecute LogQL over a time window (readOnlyHint)
tempo_get_traceRetrieve a trace by id
tempo_searchTraceQL search

Work items and parameters

ToolRole
set_work_itemsRegister ordered backlog after planning
update_work_itemStatus transitions + evaluation loop accounting
get_work_itemsInspect board (readOnlyHint)
request_new_sessionDrop sessionId so the next phase starts clean context
set_job_paramsMerge language, lane, scm, tracker, build hints, …

Job control

ToolRole
goto_phaseExplicit phase transition (ends the current executor turn)
await_eventPark until SCM signals, manual resume, or developer-input:
escalateHard stop with human-readable reason
logLines streamed to coro logs and the dashboard

Artefacts

ToolRole
post_artifactRegister dashboard-visible outputs (spec-md, plan-md, implementation-plan-md, pr-link, test-results, …)
get_artifactsList previously posted artefacts (readOnlyHint)

Common markdown artefact kinds include spec-md (feature spec from spec-writing), implementation-plan-md (planner output), and evaluation-md (evaluator reports). Any kind whose data.path ends in .md or whose kind ends in -md renders in the dashboard modal viewer.


Self-improvement

ToolRole
add_insightCapture findings for evaluator grooming
propose_changeSingle PR per (jobId, writableLayer) for agents/skills/memory
list_proposalsHistorical proposal query (readOnlyHint)
read_memoryPull memory index + files + pending on-disk proposals (readOnlyHint)

Runner guardrails may refuse scm_create_pr, scm_merge_pr, or propose_change — see Guardrails.


Campaign coordination

ToolRole
convert_to_campaignPromote oversized plans into workflows/campaign/workflow.md
switch_workflowMove between job, job-fast, and job-deep lanes in place
campaign_register_childRecord each child spec + dependencies
campaign_finalizeValidate DAG and hand off to the coordinator
campaign_statusSummaries for evaluator / UI (readOnlyHint)
campaign_skip_childMark child skipped, satisfy dependents
campaign_rerun_childReset terminal child for another dispatch
campaign_cancel_childCancel child + unblock downstream work

File operations and subagents (fallback)

When the executor lacks native Read/Write/Bash/Agent tooling, the runner registers:

ToolRole
file_readUTF-8 reads scoped to the job cwd
file_writeCreate or overwrite files
file_editExact single replacement
file_globWorkspace glob
file_grepLiteral or regex search
read_skillLoad SKILL.md files from the materialised intelligence overlay
shellsh -c with working-directory guards and timeouts
run_subagentExecute workflow-declared subagents when supportsNativeSubagents is false

run_subagent arguments are exactly { name, task } matching the YAML subagents entry.