Infrawise vs Sugra API

A side-by-side look at the Infrawise and Sugra API MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Infrawise logoInfrawiseCloud Platforms · Local subprocess (stdio)Cloud infrastructure analysis for AI coding assistants — detects IaC drift, missing indexes, security gaps, and performance anti-patterns across AWS services and databases. 13 tools, works with Claude Code and Cursor.64GoodAuth: api key requiredSugra API logoSugra APICloud Platforms · Local subprocess (stdio)Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.59GoodAuth: not declared

Verdict: choose Infrawise for cloud platforms work as a local process; choose Sugra API for cloud platforms as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Infrawise logoChoose Infrawise when

  • You need dedicated capabilities in the Cloud Platforms domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You want tools like get_infra_overview, get_graph_summary, get_table_schema.
Explore Infrawise

Sugra API logoChoose Sugra API when

  • You need dedicated capabilities in the Cloud Platforms domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like sugra_entity_screen, sugra_entity_lookup, search_endpoints.
Explore Sugra API

Feature & specification comparison

Rows where the two servers differ are marked.

SpecInfrawise logoInfrawiseSugra API logoSugra API
CategoryCloud PlatformsCloud Platforms
Quality signal64/100 · Good59/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthAPI key requiredNot declared
PricingFreeNot declared
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars223
Directory activity 3 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools228

Tools & capabilities

Infrawise tools 22

  • get_infra_overviewComplete snapshot — services, counts, high-severity findings, `configured` flag (data age and per-source status ride the `dataHealth` block on every response)
  • get_graph_summaryFull infrastructure graph — all nodes, edges, and findings
  • get_table_schemaColumn-level schema for named tables/collections — types, PKs, FKs, indexes, DynamoDB keys/billing mode, cost signal (no row data)
  • analyze_functionIssues in a specific function — scans, missing indexes, N+1, trigger event shapes, missing IAM permissions; returns every same-named file as a separate match, or bind to one with the optional `file` input; names refused Lambda links and why (`unresolvedLambdas`)
  • suggest_gsiExact GSI config for a DynamoDB table + attribute — names the existing index instead when one already covers it
  • postgres_index_suggestionsExact `CREATE INDEX` SQL for your actual table
  • suggest_mongo_indexExact `createIndex` command for a MongoDB collection + field
  • mysql_index_suggestionsExact `ALTER TABLE ADD INDEX` SQL for your MySQL table
  • get_queue_detailsSQS queues — DLQ status, encryption, FIFO type, visibility timeout, message counts
  • get_api_routesAPI Gateway APIs (REST, HTTP, WebSocket) — routes, HTTP methods, paths, and Lambda integrations
  • get_topic_detailsSNS topics — subscription counts, protocols, and filter policies (required message attributes per subscription)
  • get_secrets_overviewSecrets Manager — names, rotation status, and key names inferred from code (values never included)
  • +10 more on the listing page

Sugra API tools 8

  • sugra_entity_screenScreen 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. Output is COMPACT to protect the agent context budget: `{status, matches:[{name, score, list, type}], disclaimer}`. The verdict `status` is one of `clear`, `review`, or `hit`. The heavy raw fields (match rationale, source ids, publish dates) are dropped; use the Sugra API directly when the full screening envelope is needed. 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_lookupResolve 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, and any PEP / adverse-media content is supplementary and non-comprehensive. The `disclaimer` field carries this and is always present. Output is COMPACT by default to protect the agent context budget: `{entity:{name, anchor, value, status, country}, screening:{status, top_matches:[...3], hit_count}, ids:{...}, disclaimer}`. Pass `include` to opt INTO fuller per-slice detail, e.g. `include=["ownership","adverse_media"]` adds those slices in full form. On a bad anchor or an API error this returns a clean `{error, detail}` dict rather than raising, so the agent can branch on `result.get("error")`. Args: anchor: Identifier type, one of `lei` or `vat`. value: The identifier value (the 20-char LEI code or the VAT number). include: Optional list of fuller slices to add, e.g. `["ownership", "adverse_media"]`. Omit for the compact default.
  • search_endpointsSearch 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 source only after list_toolsets / list_sources; a misspelled filter is an error, not a silent empty result. Examples: - search_endpoints("US CPI inflation") - search_endpoints("AAPL price", toolset="markets") - search_endpoints("container ship AIS", toolset="network")
  • describe_endpointDescribe 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 call_endpoint when you need the exact parameter names and examples.
  • call_endpointCall 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_toolsetsList 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_dataOne-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: 1. Search the bundled catalog for the query. Top match wins. 2. If the matched endpoint has required parameters and they are all provided in `params`, call it and return the response. 3. If required parameters are missing, return the candidate endpoints and the missing-params list so the LLM can retry with the correct `params` dict on the next call. Examples: - `fetch_data("US CPI inflation", params={"series_id": "CPIAUCSL"})` → calls /api/v1/fred/series/CPIAUCSL, returns observations. - `fetch_data("Bitcoin price", params={"coin_id": "bitcoin"})` → calls /api/v1/crypto/bitcoin/price. - `fetch_data("Latest financial news")` → news_latest has no required params, returns latest news directly.
  • list_sourcesList 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.

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Infrawise

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "sidd27-infrawise": {
      "command": "npx",
      "args": [
        "-y",
        "infrawise"
      ]
    }
  }
}

Sugra API

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "sugra-api": {
      "command": "uvx",
      "args": [
        "sugra-api-mcp"
      ]
    }
  }
}

Frequently asked questions

Infrawise is categorized under Cloud Platforms and uses a local stdio subprocess. Sugra API belongs to Cloud Platforms and uses a local stdio subprocess. Pick Infrawise for cloud platforms work and Sugra API for cloud platforms.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Infrawise is listed as free. Auth: api key required. Sugra API has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add sidd27-infrawise and sugra-api as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Infrawise has a quality signal of 64/100 (Good) with 3 views, 0 installs and 22 GitHub stars. Sugra API has 59/100 (Good) with 1 views, 0 installs and 3 GitHub stars.