← 返回目录
I

Infrawise MCP Server

社区
让 AI 编码助手真正了解你的 AWS 与数据库基础设施
GitHub 源仓库 ↗
★ 19 Stars 分类 · 开发工具 热门
64FMRS · C

一个设计严谨、只读、本地优先的确定性基础设施分析 MCP 服务器,提供 21 个工具覆盖 AWS、三大数据库、Kafka 和 IaC 漂移,适合让 AI 编码助手摆脱对基础设施的猜测。代码级关联目前限于 TS/JS/Python。

可靠性
8/20
安全与权限
12/20
维护活跃度
14/20
文档质量
17/20
安装易用性
13/20
查看 FMRS 评分方法 →

Infrawise 是一个基于 MCP 的基础设施分析服务器。它静态分析代码库、AWS 云资源、数据库 schema 和 IaC 文件(Terraform/CloudFormation/CDK),通过图引擎和 36 个规则分析器检测全表扫描、缺失索引/GSI、热分区、N+1 查询、缺失 DLQ 等反模式,并通过 21 个 MCP 工具将确定性上下文提供给 Claude Code、Cursor 和 GitHub Copilot 等编辑器。分析完全本地、只读、无 LLM 参与分析、无遥测。支持 stdio 和 HTTP(端口 3000 的 Streamable HTTP)传输。

工具能力

get_infra_overview
基础设施全量快照:服务、数量、高严重性发现、分析新鲜度与配置标志
get_graph_summary
完整基础设施图:所有节点、边和发现
get_table_schema
指定表/集合的列级 schema:类型、主外键、索引、DynamoDB 键与计费模式、成本信号
analyze_function
分析特定函数的问题:扫描、缺失索引、N+1、触发器事件形状、缺失 IAM 权限
suggest_gsi
为 DynamoDB 表和属性生成精确的 GSI 配置
postgres_index_suggestions
为实际 PostgreSQL 表生成精确的 CREATE INDEX SQL
suggest_mongo_index
为 MongoDB 集合和字段生成精确的 createIndex 命令
mysql_index_suggestions
为 MySQL 表生成精确的 ALTER TABLE ADD INDEX SQL
get_queue_details
SQS 队列:DLQ 状态、加密、FIFO 类型、可见性超时、消息数
get_api_routes
API Gateway API(REST/HTTP/WebSocket):路由、方法、路径与 Lambda 集成
get_topic_details
SNS 主题:订阅数、协议和每个订阅的过滤策略
get_secrets_overview
Secrets Manager:名称、轮换状态和从代码推断的密钥键名(不含值)
get_parameter_overview
SSM Parameter Store:名称、类型、层级(不含值)
get_lambda_overview
Lambda 函数:运行时、内存、超时、执行角色 ARN、触发器、环境变量键名、成本信号
get_eventbridge_details
EventBridge 规则:名称、状态、调度/事件模式、目标函数
get_s3_overview
S3 存储桶:版本控制、加密、公共访问、事件通知
get_log_errors
CloudWatch 错误模式与计数(不含原始日志)
get_stack_outputs
从本地 IaC 文件解析的堆栈输出与跨堆栈导出
get_cognito_overview
Cognito 用户池:MFA 配置、客户端认证流、OAuth 设置、令牌有效期
get_stream_details
Kinesis 流(分片、保留、容量模式)与 MSK 集群(状态、Kafka 版本、Broker)
get_cache_overview
ElastiCache 集群:引擎、传输/静态加密、复制组、故障转移、成本信号

安装接入

需要 Node.js 22+。运行 npm install -g infrawise 或直接 npx infrawise start --claude(也支持 --cursor、--vscode)。start 命令会生成 infrawise.yaml、扫描基础设施并写入编辑器的 MCP 配置文件。之后编辑器自动管理 infrawise serve --stdio 进程;HTTP 方式可运行 infrawise serve 并配置 url 为 http://localhost:3000/mcp。

claude_desktop_config.json
{"mcpServers":{"infrawise":{"command":"npx","args":["-y","infrawise","serve","--stdio"]}}}

选型与风险

适合谁

  • 使用 AWS + TypeScript/JavaScript/Python 的开发团队
  • 希望 AI 编码助手基于真实基础设施而非猜测生成代码的开发者
  • 需要在 CI 中做基础设施反模式门禁的工程团队

不适合谁

  • 不使用 AWS 或所列数据库/消息服务的项目
  • 需要基础设施供给/变更执行的工具(Infrawise 只读)
  • TypeScript/JS/Python 之外语言的代码级关联分析(仅能使用基础设施层分析)

所需权限

  • AWS 凭证(现有凭证链,至少 dynamodb:ListTables/DescribeTable,完整只读 IAM 策略见文档)
  • 可选的只读 PostgreSQL/MySQL/MongoDB 连接(建议只读用户)
  • SSO 配置需先执行 aws sso login

风险与副作用

  • 通过 AWS API 和数据库连接读取基础设施元数据;虽为只读且本地运行,仍应使用最小权限凭证
  • Python 代码扫描需要 PATH 上的 python3
  • 某些供应链扫描器可能因 'infra' 前缀误报 'deceptive naming'(作者声明为误报,项目独立无商标关联)
  • 大型 monorepo 可能需要未来的增量分析优化

常见排障

  1. 运行 infrawise doctor 验证 AWS/数据库访问、配置与仓库扫描
  2. 配置中每个服务必须显式 enabled: true,未列出的服务不会连接
  3. 缓存 24 小时过期;重大变更后运行 infrawise analyze 强制重新扫描
  4. 动态构造的查询可能无法被静态解析
  5. Rediscover:infrawise start --rediscover 重新探测并分析

使用场景

在 Claude Code 中生成 DynamoDB/PostgreSQL 查询前获取真实表结构与索引上下文
检测代码中的全表扫描、N+1、热分区等反模式
CI 中用 infrawise check 按严重性阈值阻断部署
对照 IaC 文件检测与已部署状态的漂移

支持客户端

Claude Code完整支持
Cursor完整支持
VS Code (GitHub Copilot)完整支持