toolpg_define_trigger
groupWhat changed
endpointhttps://mcp.steadybase.io/mcp
DEFINE WHAT YOU NEED TO HEAR ABOUT, ON THE BOX (Postgres). Creates or updates (by name) one trigger for your tenant in gtm_signals.tenant_triggers: criteria_text in plain language, scope transcripts | documents | signals | all, filters an optional JSON object (tickers, sectors, date_from, date_to, min_score, min_lexical, lookback_days). The tenant is fixed from your key. The hourly runner then searches your book's call transcripts (hybrid search on the box), documents (filings, decks) and verified signals and writes hits you read with pg_trigger_hits. Returns the TRIGGER_ID and the row.
arguments
| name* | string | short label, unique per tenant (2 to 120 chars); the same name updates the trigger |
| criteria_text* | string | what to trigger on, in words (3 to 2000 chars) |
| scope | string | transcripts | documents | signals | all (default all) |
| filters | object | optional: {"tickers": [...], "sectors": [...], "date_from": "YYYY-MM-DD", "date_to": "YYYY-MM-DD", "min_score": 0.4, "min_lexical": 0.34, "lookback_days": 90} |
| active | boolean | false pauses the hourly run without losing hits (default true) |
install
claude mcp add --transport http steadybase https://mcp.steadybase.io/mcp --header "Authorization: Bearer $STEADYBASE_KEY"
call
curl -s https://api.steadybase.io/v1/mcp/call -H "Authorization: Bearer $STEADYBASE_KEY" -H "Content-Type: application/json" -d '{"tool":"pg_define_trigger","arguments":{"name":"...","criteria_text":"..."}}' contract
| A quote comes with its receipt | Every returned statement carries the verbatim sentence and the URL it came from, and where the source is a transcript, the character offsets inside it. A statement with no receipt is not returned. |
| Empty is an answer | When there is no sourced statement, the skill returns nothing. It does not summarise, infer, or fill the gap from general knowledge. Handle the empty case rather than retrying until something appears. |
| No personal contact data | No email address, phone number, home address or personal social account is returned by any skill, at any tier. A person is a name, a professional role, a LinkedIn profile URL and the public record that puts them in that role. |
| No customer data crosses a key | A tenant-scoped skill reads only that tenant. Nothing about any customer appears on the public site or in another tenant answer. |
steadybase-$