ReferenceAvo MCPTools reference

Avo MCP tools reference

All tools (except health_check and list_workspaces) operate on a workspace. If you have saved a workspace, the workspaceId parameter is optional — the saved value is used automatically.


health_check

Verify the MCP server is running and responsive.

Parameters: None

Returns: Simple “OK” health status.


list_workspaces

List the Avo workspaces you have access to.

Parameters: None

Returns: Each workspace’s name, ID, and your role in it.

Call this first to find your workspace ID before calling save_workspace.


save_workspace

Persist a workspace selection so all subsequent tool calls use it automatically.

Parameters:

ParameterRequiredDescription
workspaceIdYesThe ID of the workspace to save

Returns: Confirmation message plus the exact CLI command or config snippet needed to persist the WORKSPACE_ID environment variable in your MCP client config.

💡

When using Claude Code, the workspace ID is persisted to disk automatically. When using other HTTP clients, the workspace ID is not persisted by default — follow the client-specific instructions in the response to set the WORKSPACE_ID environment variable and make it permanent across sessions.


list_branches

Browse branches in the workspace.

Parameters:

ParameterRequiredDescription
workspaceIdNoWorkspace ID (uses saved value if omitted)
branchStatusesNoFilter by status. Valid values: Draft, ReadyForReview, ChangesRequested, Approved, Merged, Closed, Open. Defaults to open/active branches only.
pageSizeNoNumber of results per page (1–50, default 25)
pageTokenNoPagination token from a previous response
branchNameNoSubstring match on branch name
creatorEmailNoFilter by creator email
creatorUserIdNoFilter by creator user ID
reviewerEmailNoFilter by reviewer email
reviewerUserIdNoFilter by reviewer user ID
collaboratorEmailNoFilter by collaborator email
collaboratorUserIdNoFilter by collaborator user ID
createdAfterNoFilter to branches created after this date
createdBeforeNoFilter to branches created before this date
impactedSourceIdNoFilter to branches that affect a specific source

Returns: Compact summary per branch: name, status, ID, and creator email. Results are paginated, newest-first.

By default, Merged and Closed branches are excluded to reduce noise. Pass branchStatuses: ["Merged"] (or any other status) to include them.


get_branch_details

Get full details for a specific branch.

Parameters:

ParameterRequiredDescription
branchIdOne of branchId or branchNameBranch ID (takes precedence over name)
branchNameOne of branchId or branchNameBranch name (case-insensitive; matches open branches)
workspaceIdNoWorkspace ID (uses saved value if omitted)

Returns: Full branch details including:

  • Resolved emails for the creator, all reviewers, and all collaborators
  • The complete list of impacted source IDs
  • Branch description

Use this after list_branches to drill into a specific branch.


get_branch_implementation_guide

Get a high-level implementation guide for a branch’s tracking plan changes.

Parameters:

ParameterRequiredDescription
branchIdOne of branchId or branchNameBranch ID
branchNameOne of branchId or branchNameBranch name
workspaceIdNoWorkspace ID (uses saved value if omitted)
sourceIdNoFilter to a specific source. Use get_sources to find source IDs.

Returns:

  • Summary: total count of new, modified, and deleted events
  • New events: name, description, list of properties, and whether the source uses Avo Codegen or manual implementation
  • Modified events: what changed (name, description, or properties) with before/after values
  • Deleted events: name, description, and properties
  • Implementation steps: instructions based on your source type (Codegen: check avo.json, run avo pull, import, implement, validate; Manual: what to add, change, or remove)

When sourceId is provided, the guide filters to changes affecting only that source and tailors the implementation steps accordingly.

When to use this vs get_branch_code_snippets: Use this tool to understand the scope of changes and get structured guidance. Use get_branch_code_snippets when you need the actual code diffs to write implementation code.


get_branch_code_snippets

Get implementation snippets for all changed events on a branch, for a specific source.

Parameters:

ParameterRequiredDescription
sourceIdYesSource ID to get code snippets for. Use get_sources to find IDs.
branchIdOne of branchId or branchNameBranch ID
branchNameOne of branchId or branchNameBranch name
workspaceIdNoWorkspace ID (uses saved value if omitted)

Returns: Per-event implementation snippets, including:

  • Event status: New, Added (to source), Updated, Removed (from source), or Deleted
  • Label: [Codegen] or [Pseudocode] per event, indicating whether generated code (avo pull) or manual implementation applies
  • Diff: exact unified diff between main and current branch for [Codegen] events; illustrative before/after guidance for [Pseudocode] events (not a guaranteed exact patch)
  • Contextual guidance per event (e.g., run avo pull for Codegen events, implement manually for pseudocode events, remove calls for deleted events)
💡

Codegen vs pseudocode: Avo sources can use Avo Codegen (type-safe generated code pulled via avo pull) or manual implementation (where Avo provides pseudocode as a reference). [Codegen] events include exact unified diffs you can apply directly; [Pseudocode] events provide illustrative guidance to help you write the implementation manually. The label on each event tells you which applies.


get_sources

List all sources in the workspace.

Parameters:

ParameterRequiredDescription
workspaceIdNoWorkspace ID (uses saved value if omitted)
branchIdNoBranch ID. Defaults to the main branch.
branchNameNoBranch name. Defaults to the main branch.

Returns: A table of sources with: source name, programming language, platform, filename hint, and source ID. Sources with no language or platform configured are flagged.

Sources represent the different places in your codebase where tracking fires — for example, “iOS App”, “Web App”, or “Backend Service”. Call this tool to find the sourceId before using get_branch_implementation_guide or get_branch_code_snippets.


Search across the tracking plan using semantic similarity.

Parameters:

ParameterRequiredDescription
queryYesNatural language search query
workspaceIdNoWorkspace ID (uses saved value if omitted)
itemTypeNoFilter by type: event, property, metric, category, or propertyBundle
maxResultsNoNumber of results to return (1–20, default 10)

Returns: Ranked results with: rank, name, type, item ID, relevance percentage, and a truncated description (80 characters).

The search uses vector similarity, not keyword matching. A query like “user signed up” will match events named Account Created or Registration Completed based on meaning.

Search is performed against the main branch only. There may be a short lag for very recently created or updated items.

🔒

Semantic search requires Avo Intelligence Smart Search to be enabled in your workspace. Workspace admins can enable it in Workspace Settings. If you don’t have admin access, ask a workspace admin to enable it.