Tools
Every tool description ends with its own price, generated from config, so the model can see the meter running and pace itself instead of looping blind.Module prices come from the same table as the REST API, so the same data costs the same
whichever door you come through. See Credits and Modules.
Failed calls are never billed.
search_signals
The cross-company question: who did something worth reacting to, and when.
The response also reports how many companies produced signals in the window at all, so a
ranked list of 25 is not mistaken for the whole market.
search_companies
Firmographic search over the index:country, min_employees, max_employees,
funding_stage, keyword, employee_range, observed_within_days, limit.
Set include_unindexed: true to reach a live external index for companies we have not seen
yet. That path costs 25 credits rather than 5, because it spends real money per result.
get_company / get_company_signals
get_company takes a domain and an optional include list of enrichment modules.
get_company_signals takes a domain plus days, categories, signal_keys and limit,
and returns the dated timeline — the raw material for a “why now” argument.
refresh_company / get_refresh_status
refresh_company takes a domain and optional modules, queues a scan and hands back a
batch_id. get_refresh_status polls that id for free until the scan lands.
Guardrails, because an agent loop can dispatch scans far faster than a person would: a daily
cap per key, per-plan concurrency, a 24-hour cooldown on the same domain, and a global
in-flight lock so two keys cannot scan the same domain at once.
Prompts
The server also exposes MCP prompts — ready-made workflows that clients surface as a menu or slash command. Rendering one is free; the tools it triggers are billed normally.The real value is not the phrasing. Each template has the correct tool sequence and the
freshness caveats baked in — check coverage before calling a company quiet, do not report a
rumour as an event — so a first-time user gets expert behaviour without knowing the rules.
Errors
Two channels, and the difference matters:- JSON-RPC errors mean the call was malformed — unknown method, bad envelope. The client sees them; usually the model does not.
- Tool errors mean the call was fine but the answer is a failure — out of credits, unknown domain, quota hit. These come back as results so the model can read them and adapt.
429 also carries Retry-After.

