Sugra API MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SUGRA_API_KEY | Yes | Your Sugra API key. In HTTP mode with OAuth this becomes a fallback for requests without Bearer | |
| SUGRA_APP_URL | No | Base URL of the authorization server | https://app.sugra.ai |
| SUGRA_TIMEOUT | No | Request timeout in seconds | 30 |
| SUGRA_API_BASE | No | Override for self-hosted or beta environments | https://sugra.ai |
| SUGRA_JWKS_URL | No | JWKS endpoint | https://app.sugra.ai/oauth/jwks.json |
| INTERNAL_API_TOKEN | No | Shared secret for the user lookup and MCP activity endpoints on the authorization server | |
| SUGRA_MCP_ALLOWED_HOSTS | No | Comma-separated hostnames to allow behind a reverse proxy | |
| SUGRA_MCP_ALLOWED_ORIGINS | No | Comma-separated allowed Origins for browser-based MCP clients | chatgpt.com, claude.ai, cursor.sh + others |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sugra_entity_screenA | 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
Output is COMPACT to protect the agent context budget:
Args: name: The person or organization name to screen (required). country: Optional ISO 3166-1 alpha-2 country to narrow the match. dob: Optional date of birth (YYYY-MM-DD) for a person. nationality: Optional nationality to narrow the match. |
| sugra_entity_lookupA | Resolve an entity by identifier and return its composed KYB envelope.
The screening verdict is a SCREENING SIGNAL, not a compliance determination,
and any PEP / adverse-media content is supplementary and non-comprehensive.
The Output is COMPACT by default to protect the agent context budget:
On a bad anchor or an API error this returns a clean Args:
anchor: Identifier type, one of |
| search_endpointsA | Search the bundled Sugra endpoint catalog by natural-language query. Use this to pick an operation_id. It does not fetch data. Typical loop:
Filter with toolset or source only after list_toolsets / list_sources; a misspelled filter is an error, not a silent empty result. Examples:
|
| describe_endpointA | 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 |
| call_endpointA | 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. Failures return structured errors {error, reason, status_code, elapsed_ms, retry_hint}; after "upstream_timeout" a single retry often succeeds because the aborted attempt warms upstream caches. |
| list_toolsetsA | 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. |
| fetch_dataA | 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:
Examples:
|
| list_sourcesA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| market_snapshot | Build a sourced price and profile snapshot for one ticker symbol. |
| macro_briefing | Brief the key macro indicators for a country from sovereign sources. |
| sanctions_screening | Screen a name against the sanctions corpus and report the signal. |
| sector_compare | Compare two sectors through ETF and valuation endpoints. |
| earth_conditions | Report weather, air quality, and nearby hazards for a coordinate. |
| source_overview | Explain what the catalog offers for a data domain, sources included. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| catalog_domains | Endpoint groups (toolsets) in the bundled Sugra catalog: name, description, and endpoint count per group. Same data as the list_toolsets tool. |
| catalog_sources | Source families in the bundled Sugra catalog with endpoint counts per family. Same data as the list_sources tool. |
| attribution | How Sugra names data sources, where per-call attribution metadata appears, and where the full source list is published. |
| skill_explore_catalog | Find and call the right Sugra API endpoint through the bundled catalog (search, describe, call). |
| skill_envelope_attribution | Parse Sugra API payloads, keep source attribution, and tell observation time from request time. |
| skill_auth_limits | Authenticate to Sugra API MCP and stay inside the daily request quota. |
| skill_hosted_vs_gateway | Choose hosted Sugra MCP versus the local gateway package, and which tools exist on each. |
| skill_cross_domain_briefing | Compose one briefing from two or three Sugra domains using only the eight gateway tools. |
| price_chart_widget | Self-contained MCP Apps HTML template (SEP-1865) that renders a line chart from a call_endpoint time-series result. Inline CSS and JS only - the template makes no external requests. |
TDQS
Scored across 8 tools
Most tools have clearly distinct purposes: entity screening, identifier lookup, catalog search/describe/call, and listing. Some ambiguity exists between sugra_entity_screen and sugra_entity_lookup (both produce screening signals) and between fetch_data and the search_endpoints/call_endpoint workflow, but descriptions make the intended use clear.
The catalog tools consistently use verb_noun names like search_endpoints, describe_endpoint, call_endpoint, list_toolsets, and list_sources. The two entity tools use a different pattern with the sugra_entity_ prefix, creating a minor but noticeable inconsistency.
Eight tools is well-scoped for a server that combines two specialized entity operations with a general endpoint-catalog workflow. Each tool earns its place, and the count avoids both sprawl and thinness.
The tool set covers the full loop for entity screening and identifier-based KYB lookup, plus discovery and execution of catalog endpoints via search, describe, and call. The one-step fetch_data and structured error handling prevent dead ends.