Reference

Agent tools (acc MCP server)

Every run gets the acc MCP server. These are the tools agents use to read their assignment, hand off, ask you, coordinate, read shared context and design.

How agents connect#

Each run gets the acc MCP server over stdio, authenticated with a random per-run token stored in runs/<id>/mcp.json (readable only by you, never on a command line). The token is accepted only for its own run, and every tool is scoped to that run's project and assignment.

  • Harnesses pre-approve the tools in the lists below as mcp__acc__<tool>, so agents can call them without a prompt. Two tools are not pre-approved and go through your approval each time.
  • Your own MCP servers are kept out of agent runs: Claude Code runs with --strict-mcp-config and Codex with --ignore-user-config.
  • Everything a tool returns from notes, messages, designs or plugins is untrusted data. Tools that act on the outside world only request an action; you approve it in Decisions.

Assignment and handoff#

ToolArgumentsUse
get_assignmentnoneThe current assignment: goal, acceptance criteria, scope, allowed paths, required checks, worktree and branch. Always current; prefer it over earlier copies.
post_handoffhandoffRecord the handoff block. It should also end the final message.
report_findingtitle, description?, labels?, priority? (0–4)File a new issue for a problem outside the current scope
submit_reviewreviewed_sha, verdict (approve or request_changes), summary, findings?Review assignments only: the verdict for the exact SHA. Findings have a severity (blocker, major, minor, nit), title, body, path and line. Non-nit findings become follow-up issues; a review with blockers cannot approve.
ask_humanquestion, options?, context?Ask the owner a product, cost, security, deploy or scope question. Blocks until answered.

Team#

ToolArgumentsUse
get_briefnoneThe live brief: each agent's Now/Next, open questions, alerts, work in flight and recent handoffs
get_teamoffset?Ownership, roles, Now/Next, scopes, statuses and unread message IDs. No peer transcripts.
read_messagesafter?, limit? (1–50), unread?, budget?The agent's own inbox within a character budget
send_team_messagerecipients, subject, body, kind?, replyTo?A note, question, reply, blocker or handoff to other agents in the project
ack_team_messagemessageIdConfirm a message was read. Acknowledgement is not approval.

Shared context#

ToolArgumentsUse
get_project_contextquery?, budget? (3,000–16,000)One compact, cited packet for the assignment. Agents are told to call it first. See What agents receive.
search_contextquery, limit? (1–25)Cited passages from notes and code, with optional code-graph context
ask_projectqueryOne Ask: source excerpts or a local-model interpretation with citations, the exact revision and honest partial-index status
read_notepath, fromLine?, offset?, budget?A bounded, redacted page of a note. Only selected folders are readable.
query_graphquestion, budget?, mode? (bfs or dfs)Ask the Graphify code graph; returns nodes and edges with source locations
graph_pathfrom, toShortest path between two concepts or symbols
explain_nodenameOne symbol or file and its neighbours

Skills#

ToolArgumentsUse
list_skillsnoneThe skills frozen for the assignment: id, version, description and reference names
get_skillid, file?, offset?, budget?SKILL.md or one reference of a frozen skill, in pages
get_design_skillid, file?, offset?, budget?A pinned designer skill or one of its references

Designer#

ToolArgumentsUse
get_design_documentdocumentId, section?, screenId?, componentId?, assetId?, offset?, budget?Read the assigned structured design. Start with summary, then screen, component, tokens or interactions. assetId returns a reference image.
get_design_componentsdocumentIdReusable components: variants, states, props, slots, usage and accessibility notes
validate_design_documentdocumentId, operations?Deterministic checks (tokens, contrast, labels, components, prototype links, states), optionally with proposed operations applied first. Checks never approve.
propose_design_changesdocumentId, expectedVersion, operationsOne atomic set of typed operations. You see a preview and choose Keep or Discard; the agent cannot apply or approve. No code, HTML, CSS or URLs.
get_design_systemnoneThe exact project design contract frozen for the assignment: tokens, DESIGN.md and contrast checks

HTML mocks#

ToolArgumentsUse
register_design_mockdir (design/<slug>), title?, handoff?Capture the folder as an immutable mock revision with a structured handoff. Returns static findings to fix.
record_mock_evidenceartifactId, kind, summary, executed, status, …Attach command, screenshot or viewport evidence. Commands are verified against the run's own transcript.
get_design_mockartifactId, revision?, path?, offset?, budget?Read a revision the agent produced or was asked to review
submit_design_reviewartifactId, revision, verdict, summary, checklistAn independent, advisory review with a basis (static or browser) for each checklist item

Connectors#

ToolArgumentsUse
list_connector_toolsnoneLocal tool connections you approved for this project, and the tools each allows
call_connector_toolconnector, tool, arguments?Request one exact call. Creates a Decision; nothing runs until you approve the exact arguments.
get_connector_tool_resultrequestIdPoll the durable result. Polling never re-runs the call.

Need your approval each time#

ToolUse
get_release_statusRead the ordered release plan, code-host protection and CI. Agents cannot approve or skip a step.
get_infra_healthRead Docker, local Postgres, hosting and migration-drift status. Unchecked results are not healthy. Agents cannot change infrastructure.

Internal#

permission_prompt receives tool-permission requests from the agent's harness, and decides them by your approval policy. Agents never call it directly, and it is never on a harness allowlist.

Adding a tool#

Register it in packages/daemon/src/mcp/server.ts, add its name to ACC_MCP_AUTO_APPROVED or ACC_MCP_PROMPTED in mcp/tools.ts (a test fails otherwise), and handle it in mcpBridge.ts. See Extending One Connect.

Edit this page on GitHub