Back to MCP Servers

Infrawise

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.

cloud-platformsawssecurityperformanceai
By Sidd27
181Updated 3 days agoTypeScriptMIT

Installation

npx -y infrawise

Configuration

{
  "mcpServers": {
    "infrawise": {
      "command": "npx",
      "args": ["-y", "infrawise"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes
<p align="center"> <a href="https://sidd27.github.io/infrawise/"> <img src="https://raw.githubusercontent.com/Sidd27/infrawise/main/website/public/logo-400.png" alt="Infrawise logo" width="130" /> </a> </p> <h1 align="center">Infrawise</h1> <p align="center"><b>Your AI coding assistant finally knows your infra.</b></p> <p align="center"> <a href="https://www.npmjs.com/package/infrawise"><img src="https://img.shields.io/npm/v/infrawise" alt="npm version" /></a> <a href="https://github.com/Sidd27/infrawise/actions/workflows/npm-publish.yml"><img src="https://github.com/Sidd27/infrawise/actions/workflows/npm-publish.yml/badge.svg" alt="Publish to npm" /></a> <a href="https://github.com/Sidd27/infrawise/actions/workflows/ci.yml"><img src="https://github.com/Sidd27/infrawise/actions/workflows/ci.yml/badge.svg" alt="CI" /></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT" /></a> <a href="https://scorecard.dev/viewer/?uri=github.com/Sidd27/infrawise"><img src="https://api.securityscorecards.dev/projects/github.com/Sidd27/infrawise/badge" alt="OpenSSF Scorecard" /></a> <a href="https://glama.ai/mcp/servers/Sidd27/infrawise"><img src="https://glama.ai/mcp/servers/Sidd27/infrawise/badges/score.svg" alt="infrawise MCP server" /></a> </p> <p align="center"> <a href="https://sidd27.github.io/infrawise/">Website</a> · <a href="https://sidd27.github.io/infrawise/getting-started/installation/">Docs</a> · <a href="#quick-start">Quick start</a> </p>

Infrawise gives AI coding assistants deterministic infrastructure awareness.

It statically analyzes your codebase, cloud infrastructure, and database schemas, then exposes that context through MCP so tools like Claude Code can understand your actual tables, indexes, query patterns, and service relationships instead of guessing from source files alone.

infrawise start --claude, then Claude Code answers an SQS handler question with the exact event shape and queue risks pulled live from infrawise


Why this exists

New software developers don't write wrong code. Claude Code writes wrong code and they ship it. Infrawise is the only thing standing between Claude Code's generated output and a production incident.

AI coding assistants can read your source files but have no deterministic knowledge of your infrastructure. They do not know which GSIs exist, how tables are partitioned, which functions already trigger scans, or where indexes are missing. So they guess.

Infrawise replaces guessing with infrastructure-aware context.

Without Infrawise, an AI assistant might:

  • Suggest a .scan() on your Orders table that has 50M rows
  • Recommend adding a GSI on status that you already have
  • Write a SELECT * when you need to keep query cost low
  • Not notice that 5 functions are already hammering the same partition key

With Infrawise, it knows:

  • Your exact table schemas, partition keys, sort keys, and GSIs
  • Which functions query which tables and how
  • Which patterns are already flagged as high severity
  • The exact CREATE INDEX SQL or GSI config for your tables — not generic advice

What Infrawise is not

Infrawise is not an AI agent framework, an infrastructure provisioning tool, an observability platform, or a cloud management dashboard.

It is a deterministic infrastructure intelligence layer for AI-assisted development.


Installation

npm install -g infrawise

or use without installing:

npx infrawise start --claude

Quick start

cd your-project
infrawise start --claude

That's it. Infrawise will:

  1. Probe your environment and generate infrawise.yaml (first time only — asks which AWS profile to use only if you have several)
  2. Scan your AWS services, databases, and codebase
  3. Write .mcp.json so your editor auto-connects on every future launch
  4. Open Claude Code with all 21 MCP tools ready

Every time after:

claude    # no infrawise command needed — editor manages the connection

Analysis is cached for 24 hours. When the cache is stale, infrawise serve --stdio (spawned automatically by your editor) refreshes it at session start. File changes are detected within the session and the code graph is updated automatically.

Findings (3 total)

1. [HIGH] Full table scan detected on DynamoDB table "Orders"
   listAllOrders() scans without any filter — reads every item in the table.
   Recommendation: Replace Scan with Query using a partition key or add a GSI.

2. [MEDIUM] PostgreSQL table "users" has no index on column "email"
   Filtering on "email" causes sequential scans.
   Recommendation: CREATE INDEX CONCURRENTLY idx_users_email ON users(email);

3. [MEDIUM] DynamoDB table "Sessions" accessed by 6 distinct code paths
   High access concentration may create hot partition issues at scale.

Using with AI coding assistants

Claude Code (recommended)

infrawise start --claude

Writes .mcp.json to your project root and opens Claude Code. Claude Code reads .mcp.json automatically on every launch and manages the infrawise serve --stdio process — no server to start, no ports to configure.

Cursor

infrawise start --cursor

Writes .cursor/mcp.json and opens Cursor. All 21 infrawise tools are available in Cursor's MCP panel.

VS Code

infrawise start --vscode

Writes .vscode/mcp.json (merging with any existing MCP servers) and opens VS Code. The tools are available to Copilot agent mode via the MCP servers panel.

Any editor (no flag)

infrawise start

Writes .mcp.json and exits. Open whichever editor you prefer — point it at infrawise serve --stdio --config /path/to/infrawise.yaml as an MCP server command.

HTTP transport (alternative)

If your editor or workflow requires an HTTP MCP endpoint instead of stdio:

infrawise serve    # starts server at http://localhost:3000/mcp

Add to your editor's MCP config:

{
  "mcpServers": {
    "infrawise": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

MCP tools

ToolWhat it provides
get_infra_overviewComplete snapshot — services, counts, high-severity findings, analysis freshness (age + stale flag), configured flag
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
suggest_gsiExact GSI config for a DynamoDB table + attribute
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)
get_parameter_overviewSSM Parameter Store — names, types, tiers (values never included)
get_lambda_overviewLambda functions — runtime, memory, timeout, execution role ARN, triggers (SQS/SNS/DynamoDB/Kinesis/MSK/EventBridge/S3), env var key names, cost signal
get_eventbridge_detailsEventBridge rules — name, state, schedule/event pattern, target functions
get_s3_overviewS3 buckets — versioning, encryption, public access, event notifications
get_log_errorsCloudWatch error patterns and counts (no raw log messages)
get_stack_outputsStack outputs and cross-stack exports parsed from local IaC files (Terraform outputs, CFN/CDK Outputs)
get_cognito_overviewCognito user pools — MFA config, app client auth flows, OAuth settings, token validity (secrets never included)
get_stream_detailsKinesis streams (shards, retention, capacity mode) and MSK clusters (state, Kafka version, brokers)
get_cache_overviewElastiCache clusters — engine, encryption in transit/at rest, replication group, failover, cost signal (data never read)

CLI reference

CommandWhat it does
infrawise startPrimary command — probe env, generate config, analyze, write editor MCP config
infrawise start --claudeSame as above, then opens Claude Code
infrawise start --cursorSame as above, then opens Cursor
infrawise start --vscodeSame as above, then opens VS Code (merges into .vscode/mcp.json)
infrawise start --interactiveRun the guided setup wizard instead of auto-discovery
infrawise start --rediscoverDelete infrawise.yaml + .infrawise/, then re-probe and re-analyze
infrawise analyzeForce a full re-scan — useful after major infrastructure changes
infrawise checkCI gate — analyze and exit non-zero when findings reach the threshold severity
infrawise serveStart the MCP server — HTTP by default, or --stdio for editor integration
infrawise doctorDiagnostic escape hatch — validate AWS/DB access, config, and repo scan

infrawise analyze options

FlagDescription
-c, --config <path>Path to infrawise.yaml (default: infrawise.yaml)
-r, --repo <path>Repository to scan (default: current directory)
--no-cacheSkip reading/writing the cache
-o, --output <path>Save findings as a markdown report, e.g. report.md
--severity <level>Only show findings at or above this level: high | medium | low
# Export a shareable findings report
infrawise analyze --output report.md

# Only show high-severity issues
infrawise analyze --severity high

# High-severity issues only, saved to a file
infrawis

…
View source on GitHub