Skip to main content
Glama

Edit an opportunity

compass_opportunities_update
Destructive

Corrects an opportunity's content: label, description, priority, what done means, the 1–5 value / feasibility / risk scores, the owner (a PERSON page), notes, tags, workflow anchor, external link, visibility. Fields you omit are untouched; the lane is NOT here — move it with compass_opportunities_set_status. Opportunity ids come from compass_opportunities_list. May return needs_confirmation — say what you're changing and wait.

Input Schema

NameRequiredDescriptionDefault
tagsNoNew tag set — replaces existing tags.
labelNoNew one-line label (2–200 chars).
assigneeNoThe workspace member doing the work, by email or user id; null unassigns. They're notified.
doneWhenNoWhat's true when it's done, that someone else could check (≤1,000 chars).
priorityNoHow soon it matters; null clears it, and the map's suggestion shows again.
riskScoreNo
workspaceNoWorkspace slug. Personal tokens with no default workspace MUST pass this; tokens with a default can override per call. Ignored for workspace API keys.
approvalIdNoApproval id from a prior needs_confirmation response, after the user has approved. Omit on the first call.
experimentNoMeasure it against the Ledger (expectation when it starts, verdict when it's done).
valueScoreNo
visibilityNoWho can see it: PRIVATE (only the user), WORKSPACE (every member, the default), or SHARED (specific people, granted afterwards). Say 'make it private' → PRIVATE.
descriptionNoNew description (≤5,000 chars).
externalUrlNoWhere the doing happens off-platform (URL); null clears.
ownerPageIdNoPERSON page id who owns the work; null clears.
opportunityIdYesThe change's key (e.g. ACME-12) or id, from compass_opportunities_list.
workflowPageIdNoWorkflow page to anchor to; null un-anchors.
feasibilityScoreNo
qualitativeNotesNoFree-form notes (≤20,000 chars) — replaces the current notes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=false, so the write profile is covered. The description adds genuinely useful behavior beyond that: partial-update semantics ('fields you omit are untouched') and the confirmation round-trip. It stops short of noting that tags/notes are replaced rather than merged, which the schema covers instead.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the field list, then the constraints (partial update, sibling exclusion, id source, confirmation), with no filler. The single dense sentence is efficient, though slightly list-heavy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 18-parameter mutation with no output schema, the description covers partial-update behavior, id sourcing, the status-tool boundary, and the confirmation flow. Only the replacement-vs-merge nuance for tags/notes is left to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, so the schema already documents nearly every parameter. The description's field list largely mirrors the schema and adds little new syntax, though flagging ownerPageId as 'a PERSON page' is a helpful clarification. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (corrects/edits) and resource (an opportunity's content) and enumerates the editable fields, so the scope is unambiguous. It explicitly distinguishes itself from compass_opportunities_set_status by declaring the lane is NOT handled here.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing: use compass_opportunities_set_status to move the lane, and get ids from compass_opportunities_list. It also prescribes the interaction protocol for the needs_confirmation response (say what you're changing and wait).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources