Skip to main content
Each tool maps to a Partner API operation and returns its JSON as text. Lists return the compact view unless view: "full" is passed; get_* tools return the full view. Field meanings are in the API reference.

Inventory

Behaviour worth knowing

add_company accepts an optional idempotencyKey. Without one, the server derives a key from the arguments, so an identical retried call returns the first result (idempotencyReplayed: true) instead of repeating the work. Adding a company that is already tracked updates it (existingEntity: true).
After add_company or track_lead, call get_company until operation.enrichmentComplete is true. The first run has finished when lastScrapedAt is set (usually within a few minutes). After refresh_company, poll until lastScrapedAt differs from baselineLastScrapedAt.
list_signals and list_alerts take entityQuery, list_leads takes sourceQuery (for example "Anomaly Bio" or a founder’s name). If several companies match, the tool errors with ambiguous_entity / ambiguous_source and lists the candidates. The assistant should ask the user which one.
remove_company is annotated destructive, so compliant clients ask before running it. The server’s instructions also tell the model to confirm before removing, pausing or rejecting.
A malformed ID is rejected by the MCP layer with an input-validation error before reaching the API.

Tool errors

A failed tool call returns isError: true with the API’s error envelope as text:
The codes are those in the error reference.