MCP tools

All 55 Model Context Protocol tools exposed by diffing mcp.

Launch:

diffing mcp
diffing mcp --repo /absolute/path/to/repository

Client snippet:

{
  "mcpServers": {
    "diffing": {
      "command": "diffing",
      "args": ["mcp"]
    }
  }
}

Successful calls return readable text plus schema-validated structuredContent. Count verified against src/mcp.ts registerTool (55 tools).

Session

ToolPurpose
review_session_statusInspect repo binding and active session; use nextAction first
start_review_sessionIdempotently start/reuse loopback web session; never replaces user sessions

Diff inspection

Prefer bounded tools over get_diff for large trees.

ToolPurpose
get_diffFull patch (use sparingly). Includes complete and optional omittedPaths when untracked reads were skipped.
diff_summaryHigh-level change summary (optional exclude: ["lockfiles"]). complete is false when the snapshot omitted files.
diff_filesPaged file list (optional path glob; nextCursor is filtered)
diff_hunksHunks for a file (path XOR file)
diff_sliceExact row window with budgets (path XOR file)
diff_searchSearch within the diff (optional path glob)

Comments & handoff

ToolPurpose
create_commentInline finding (path, side, line/range, body, optional severity)
await_reviewSync wait for human Send to agent
list_commentsSnapshot threads
reply_to_commentAgent reply
resolve_comment / unresolve_commentLifecycle
edit_comment / delete_commentMutate thread
edit_reply / delete_replyMutate reply
apply_suggestionApply ```suggestion fence
resolve_all_commentsBulk resolve
report_progressLive toast
get_review_historyMulti-round history

Plan review

ToolPurpose
submit_planSubmit markdown (async park default)
await_plan_reviewSync wait for verdict
list_plansAll plans
get_planCurrent plan + comments as XML/data
get_plan_versionsVersion metadata
get_plan_versionHistorical body
reply_to_plan_commentReply
resolve_plan_commentResolve thread

Mockup review

ToolPurpose
submit_mockupSubmit HTML screen(s) (async park default)
await_mockup_reviewSync wait for verdict
list_mockupsAll mockups (compact summaries)
get_mockupOne mockup + comments/screens (full body — prefer inspect_mockup)
get_mockup_versionsVersion metadata
get_mockup_versionHistorical version body
inspect_mockupBounded reads — view=summary/comments/comment/screen/preview, filters by status/screenId/viewport (desktop|tablet|mobile)/version, context=none|anchor|source, cursor/limit
revise_mockupOne-screen revision — op=upsert/remove/patch/replace-region with expectedVersion guard (409 on conflict)
update_mockup_threadsAtomic thread batch — reply/edit/delete/resolve/unresolve in one all-or-nothing call; never bumps the version
reply_to_mockup_commentReply (single op)
resolve_mockup_commentResolve thread (single op)
unresolve_mockup_commentRe-open a resolved thread
apply_mockup_suggestionApply a ```suggestion fence to that comment’s screen
get_mockup_handoffCompact implementation packet after approved
get_design_systemRead published/draft tokens before authoring
extract_design_systemScan the repo into a draft (does not publish)
propose_design_systemUpdate the draft
publish_design_systemPublish — human action unless asked

Comment scope = version + screen + viewport: pass viewport/version filters to inspect_mockup, and expect mockup-version=/viewport= on handoff comments.

GitHub PR

ToolPurpose
gh_overviewPR overview
gh_list_threadsThreads
gh_list_reviewsReviews
gh_list_draft_commentsLocal drafts
gh_create_draft_commentCreate draft
gh_refreshRe-fetch remote state
gh_submit_reviewPublish review (explicit user auth)

Await semantics

await_review / await_plan_review / await_mockup_review return status: "released" | "timeout". Timeout includes disposition: "park" and nextAction — end the turn, do not silent-loop.

ModeWhenAction
Async (default)Human may take a whileShare URL; park
SyncHuman reviewing nowOne await (~570s); on timeout park

Prompts & resource

  • Prompt review_local_changes
  • Prompt submit_plan_for_review
  • Resource diffing://agent-guide