Skip to main content
Glama

@gnaws/mcp

Let your AI agent see what's beneath your cloud.

npm license node

MCP (Model Context Protocol) server for @gnaws/core — expose AWS resource scanning, graph building, and unused resource detection as tools for AI agents.

What is this?

An MCP server that gives AI agents (Claude, Kiro, Cursor, etc.) the ability to:

  • Scan your AWS account and build a resource relationship graph

  • Load previously dumped data for offline analysis

  • Detect unused/orphaned resources (detached volumes, unassociated IPs, empty load balancers, etc.)

  • Export the graph to GEXF (Gephi), JSON (sigma.js), or Markdown

  • Dump raw resource data for later use

Related MCP server: CloudGuard MCP

Installation

npm install -g @gnaws/mcp
# or run without installing:
npx @gnaws/mcp

Requires Node.js >= 24.

MCP Client Configuration

Kiro

Add to .kiro/settings/mcp.json:

{
  "mcpServers": {
    "gnaws": {
      "command": "npx",
      "args": ["@gnaws/mcp"]
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "gnaws": {
      "command": "npx",
      "args": ["@gnaws/mcp"]
    }
  }
}

VS Code (GitHub Copilot)

Add to .vscode/mcp.json:

{
  "servers": {
    "gnaws": {
      "command": "npx",
      "args": ["@gnaws/mcp"]
    }
  }
}

Cursor

Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "gnaws": {
      "command": "npx",
      "args": ["@gnaws/mcp"]
    }
  }
}

Available Tools

Tool

Description

Requires

status

Check server state (loaded? how many nodes/edges?)

—

scan

Scan AWS resources live with a profile

AWS credentials

load

Load from a dump directory (offline)

Dump path

detect

Find unused/orphaned resources

scan or load

export

Export graph to gexf/json/md/csv

scan or load

dump

Save raw data for offline use

scan or load

regions

List enabled AWS regions

scan or load

Example Conversations

User: Show me the unused resources in my AWS account
Agent: calls scan with profile → calls detect → presents findings

User: Load the dump from ./data and export a graph
Agent: calls load with path → calls export with format "gexf"

User: What's the state of the gnaws server?
Agent: calls status → reports no data loaded, suggests scan or load

Features

  • Progress notifications — long-running scans report progress to the agent

  • Error handling — every tool returns structured errors with actionable guidance

  • Workflow guidance — tool responses tell the agent what to call next

  • Offline mode — load from dumps without AWS credentials

  • 81 AWS services — EC2, Lambda, S3, RDS, ECS, EKS, DynamoDB, and many more

Log Level

All logging goes to stderr (safe for MCP stdio transport). Control verbosity with:

LOG_LEVEL=debug npx @gnaws/mcp

Available levels: debug, info, warn, error, silent (default: info).

Development

# Build
npm run build

# Dev mode (tsx with hot reload)
npm run dev

# Type-check
npm run typecheck

# Lint
npm run lint

# Test with MCP Inspector
npx @modelcontextprotocol/inspector npx @gnaws/mcp

Contributing

See CONTRIBUTING.md.

Support

If GNAWS saves you money on your AWS bill, consider sponsoring the project.

Sponsor on GitHub Sponsor on PayPal

License

AGPL-3.0 — see LICENSE.


Not affiliated with or endorsed by Amazon Web Services.

Available Tools

7 tools
detectDetect Unused ResourcesA

Detect structurally unused/orphaned resources in the loaded graph. Requires 'scan' or 'load' to be called first. Optionally export findings to a file (.json or .md).

Inputs: outputPath.

dumpDump ResourcesA

Dump loaded resources to a directory for offline use. Requires 'scan' or 'load' to be called first. The output can later be used with 'load' for offline analysis.

Inputs: path.

exportExport GraphA

Export the resource graph to a file. Requires 'scan' or 'load' to be called first. Supported formats: gexf (Gephi), json (sigma.js viewer), md (markdown report), csv (flat inventory sheet).

Inputs: format (required), path.

loadLoad Cached ResourcesA

Load resources from a previously dumped directory (offline mode). No AWS credentials needed. After loading, use 'regions', 'detect', or 'export' to work with the data.

Inputs: path (required).

regionsList RegionsA

List enabled AWS regions from the loaded inventory. Requires 'scan' or 'load' to be called first.

Inputs: no named parameters.

scanScan AWS ResourcesA

Scan AWS resources live using an AWS profile. This builds an in-memory graph of all resources and their relationships. This is a long-running operation (may take several minutes). After scanning, use 'regions' to list regions, 'detect' to find unused resources, 'export' to export the graph, or 'dump' to save raw data for offline use.

Inputs: profile (required).

statusServer StatusA

Check the current state of the gnaws server: whether resources are loaded, graph size, and available actions. Call this first to understand what tools are available.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 7 tools

    Disambiguation4/5

    Each tool maps to a distinct action (scan live, load offline, detect orphans, export graph, dump raw data, list regions, show status), but export and dump both involve saving data and detect can also write findings to a file, creating mild overlap. Overall boundaries are clear enough for an agent to select correctly.

    Naming Consistency5/5

    All tool names are single lowercase words following a simple command-style convention (scan, load, detect, export, dump, status). The only non-verb, regions, still fits the same flat lowercase pattern, so there is no style mixing.

    Tool Count5/5

    Seven tools is well-scoped for an AWS resource graph scanning and orphan detection server. Each tool supports a distinct stage in the workflow without redundancy or bloat.

    Completeness4/5

    The core workflow is complete: scan or load builds the graph, status confirms readiness, regions summarizes scope, detect finds orphans, dump enables offline reuse, and export produces output. A minor gap is the lack of a direct resource-listing/query tool, though export formats can serve that purpose.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      A read-only MCP server for inspecting AWS resources, detecting misconfigurations, and estimating costs across EC2, S3, and IAM, enabling agents to safely query and analyze cloud infrastructure.
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to query multi-cloud costs, inventory, waste, and commitments across AWS, GCP, Cloudflare, and OVH through read-only MCP tools.
      Apache 2.0
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables users to analyze AWS cloud costs, audit for wasted resources like stopped EC2 instances and unattached EBS volumes, and check budget status through natural language in any MCP-compatible AI assistant. Supports multi-profile and multi-region querying while keeping AWS credentials local to the user's machine.
      -