Sugra API
Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.
| Endpoint | https://app.sugra.ai/mcp (streamable-http) |
|---|---|
| Registry version | 0.12.0 |
| Now | 11 tools · grade D (60) · pin ts_59e0fb5bc419f62e2e27089662575c11 · protocol 2025-06-18 |
| First / last listed | 2026-10-27 05:14 UTC / 2026-10-27 05:14 UTC |
| Grade over time | 2026-10-27: D (60), 11 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: sugra_entity_screen sugra_entity_lookup search_endpoints describe_endpoint call_endpoint list_toolsets fetch_data list_sources resolve_entity get_snapshot get_timeseries
sugra_entity_screen | Screen a person or organization name against the Sugra sanctions corpus.
Returns a SCREENING SIGNAL, not a compliance determination. Sugra is a
technology provider, not a sanctions authority or consumer reporting agency.
PEP and adverse-media coverage is supplementary and non-comprehensive - a
`clear` result is not proof of absence, and a `hit` is a candidate match to
review, not a finding.
Outp params: name*, country, dob, nationality |
sugra_entity_lookup | Resolve an entity by identifier and return its composed KYB envelope.
`anchor` is `lei` (Legal Entity Identifier, resolved via the GLEIF registry)
or `vat` (EU VAT number, validated via the EU VIES service). The result
weaves identity, a sanctions screening signal, and - on request - ownership
and adverse-media slices.
The screening verdict is a SCREENING SIGNAL, not a compliance determination,
params: anchor*, value*, include |
search_endpoints | Search the bundled Sugra endpoint catalog by natural-language query.
Use this to pick an operation_id. It does not fetch data. Typical loop:
1. search_endpoints(query) -> ranked hits with required_parameters
2. describe_endpoint(operation_id) -> params, request_body_schema, agent_hints
3. call_endpoint(operation_id, params=..., body=...) or fetch_data(query, params=...)
Filter with toolset or so params: query*, toolset, source, limit |
describe_endpoint | Describe one Sugra API endpoint by operation_id.
Includes agent_hints (duration_class fast/slow/heavy, max_concurrency,
bulk billing) so you can budget timeouts and parallelism before calling.
POST endpoints with a JSON body also carry request_body_schema (the
resolved JSON schema) - construct the `body` argument from it instead
of guessing key names. Call this after search_endpoints and before
c params: operation_id* |
call_endpoint | Call a Sugra API endpoint by operation_id from the bundled catalog.
Plan calls with describe_endpoint's agent_hints: duration_class "fast"
usually responds in under ~2s, "slow" usually 1-5s and occasionally 15s+
on a cold upstream, "heavy" can exceed the gateway timeout - keep parallel
calls within max_concurrency and prefer small batches. Bulk endpoints bill
1 request credit per body item. Failu params: operation_id*, params, body, limit, fields, include_raw |
list_toolsets | List catalog groups with endpoint counts and short descriptions.
Use the group names as the toolset filter on search_endpoints. This
does not call the Sugra API; it reads the bundled catalog.
params: none |
fetch_data | One-step fetch: find the best Sugra endpoint for the query and call it.
Combines search_endpoints + call_endpoint into a single round trip. Use
this when you want data without manually picking an operation_id. The
full search_endpoints + describe_endpoint + call_endpoint dance is still
available when you need explicit control, but for most natural-language
queries this tool is enough.
Behavior:
params: query*, params, body, limit, fields, include_raw |
list_sources | List source families in the bundled catalog with endpoint counts.
Use the family names as the source filter on search_endpoints. This
does not call the Sugra API.
params: none |
resolve_entity | Resolve free text to a canonical market or macro entity.
Turns a ticker, company name, macro indicator, coin, or currency pair into
the agent plane's ``{namespace, ids}`` entity for use with get_snapshot and
get_timeseries. A cross-namespace collision (e.g. a ticker that is both an
equity and a coin) returns status "ambiguous" with ranked candidates and
NEVER silently picks one; pass type_hint (e params: query*, type_hint |
get_snapshot | Composed current view of an entity via a named recipe.
Executes a fixed server-side recipe (company_snapshot, etf_snapshot,
quote_snapshot, macro_indicator_snapshot, macro_calendar,
earnings_snapshot, debt_snapshot) and returns one envelope with freshness,
provenance, per-component coverage, and billing. Composed calls charge the
recipe's fixed cost (1-2 units) from the daily quota. status "parti params: recipe*, entity* |
get_timeseries | Bounded timeseries for an entity: price, macro_series, etf_flows or
etf_monthly_flows.
Returns points oldest-first with an explicit downsampling flag when the
raw series exceeded max_points. Times are UTC. Costs 1 unit per call.
Read the step from ``served_granularity``, not ``granularity``. The
latter echoes the request; the former is the step the source built the
points at, and the two can dif params: metric*, entity*, granularity, max_points |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.