io.github.localstack/localstack-mcp-server

平台与服务

by localstack

基于 LocalStack 的 MCP server,提供本地云开发与测试所需的核心工具,便于模拟云服务环境。

什么是 io.github.localstack/localstack-mcp-server

基于 LocalStack 的 MCP server,提供本地云开发与测试所需的核心工具,便于模拟云服务环境。

README

<div align="center"> <img src="icon.png" alt="LocalStack MCP Server" width="120" />

LocalStack MCP Server

Let an AI agent manage and interact with LocalStack on your machine.

npm version License: Apache-2.0 MCP Registry

</div>

[!IMPORTANT] The LocalStack MCP server is currently available as an experimental public preview. For questions, issues or feedback, please utilize the LocalStack Community slack or submit a GitHub Issue

LocalStack emulates the cloud on your local machine so software teams and AI agents can validate security, quality, and reliability faster and more safely than the cloud allows. This Model Context Protocol (MCP) server lets any MCP client (Cursor, Claude, VS Code, and more) start LocalStack, deploy infrastructure, and debug your local cloud in natural language.

Quick start

Set up the server in your MCP client with the interactive wizard:

bash
npx -y @localstack/localstack-mcp-server init

The wizard detects your installed clients, asks how you want to run the server, and writes the configuration for you. You need a LocalStack Auth Token; the wizard reads LOCALSTACK_AUTH_TOKEN from your environment or asks for it. For the full options, prerequisites, and manual setup, see Installation.

What you can ask your agent

Once the server is configured, talk to LocalStack through your agent in natural language:

  • "Start LocalStack and deploy the Terraform project in ./infra, then tell me which resources came up."
  • "My Lambda calls are failing. Read the LocalStack logs, find the permission errors, and generate an IAM policy that fixes them."
  • "Inject 500ms of latency into DynamoDB and confirm my retry logic still works."
  • "Search the LocalStack docs for how to enable S3 event notifications and summarize the steps."

How it works

The server connects MCP-compatible apps directly to your local LocalStack environment and its emulated AWS services, so your assistant can operate the stack securely without custom scripts or manual setup.

This server eliminates custom scripts and manual LocalStack management. Your agent can:

  • Start, stop, restart, and monitor LocalStack for AWS container status with built-in auth.
  • Deploy CDK, Terraform, and SAM projects with automatic configuration detection.
  • Search LocalStack documentation for guides, API references, and configuration details.
  • Parse logs, catch errors, and auto-generate IAM policies from violations.
  • Inject chaos faults and network effects into LocalStack to test system resilience.
  • Manage LocalStack state snapshots via Cloud Pods for development workflows.
  • Export, import, inspect, and reset LocalStack state locally with Export & Import State file-based workflows.
  • Install, remove, list, and discover LocalStack Extensions from the marketplace.
  • Launch and manage Ephemeral Instances for remote LocalStack testing workflows.
  • Replicate external AWS resources into LocalStack with AWS Replicator so IaC stacks can resolve shared dependencies locally.
  • Inspect LocalStack application flows with App Inspector traces, spans, events, payload metadata, and IAM policy evaluations.
  • Start repeatable LocalStack workflows from ready-made MCP prompts, including infrastructure validation and integration test generation.

Tools

This server provides your AI with dedicated tools for managing your LocalStack environment:

[!NOTE] All tools in this MCP server require LOCALSTACK_AUTH_TOKEN.

Tool NameDescriptionKey Features
localstack-managementManages LocalStack runtime operations for AWS and Snowflake stacks- Execute start, stop, restart, and status checks<br/>- Integrate LocalStack authentication tokens<br/>- Inject custom environment variables<br/>- Verify real-time status and perform health monitoring
localstack-deployerHandles infrastructure deployment to LocalStack for AWS environments- Automatically run CDK, Terraform, and SAM tooling to deploy infrastructure locally<br/>- Enable parameterized deployments with variable support<br/>- Process and present deployment results<br/>- Requires you to have cdklocal, tflocal, or samlocal installed in your system path
localstack-logs-analysisAnalyzes LocalStack for AWS logs for troubleshooting and insights- Offer multiple analysis options including summaries, errors, requests, and raw data<br/>- Filter by specific services and operations<br/>- Generate API call metrics and failure breakdowns<br/>- Group errors intelligently and identify patterns
localstack-iam-policy-analyzerHandles IAM policy management and violation remediation- Set IAM enforcement levels including enforced, soft, and disabled modes<br/>- Search logs for permission-related violations<br/>- Generate IAM policies automatically from detected access failures<br/>- Requires a valid LocalStack Auth Token
localstack-chaos-injectorInjects and manages chaos experiment faults for system resilience testing- Inject, add, remove, and clear service fault rules<br/>- Configure network latency effects<br/>- Comprehensive fault targeting by service, region, and operation<br/>- Built-in workflow guidance for chaos experiments<br/>- Requires a valid LocalStack Auth Token
localstack-cloud-podsManages remote LocalStack Cloud Pods for development workflows- Save current state as a Cloud Pod<br/>- Load previously saved Cloud Pods instantly<br/>- Delete Cloud Pods from remote cloud-backed storage<br/>- Use this for managed remote state snapshots, not local export/import files<br/>- Requires a valid LocalStack Auth Token
localstack-state-managementManages local file-based LocalStack state export/import workflows- Export LocalStack state to a local file on disk through the LocalStack State REST API<br/>- Import LocalStack state from a local file<br/>- Inspect current LocalStack state as JSON metamodel data<br/>- Reset all state or only selected services<br/>- Supports service-level granularity for export, reset, and inspect<br/>- Use this for local disk workflows; use Cloud Pods for remote cloud-backed snapshots<br/>- Requires a valid LocalStack Auth Token
localstack-extensionsInstalls, uninstalls, lists, and discovers LocalStack Extensions- Manage installed extensions (list, install, uninstall) inside the running container<br/>- Browse the LocalStack Extensions marketplace (available)<br/>- Requires a valid LocalStack Auth Token
localstack-ephemeral-instancesManages cloud-hosted LocalStack Ephemeral Instances- Create temporary cloud-hosted LocalStack instances and get an endpoint URL<br/>- List available ephemeral instances, fetch logs, and delete instances<br/>- Supports lifetime, extension preload, Cloud Pod preload, and custom env vars on create<br/>- Requires a valid LocalStack Auth Token
localstack-aws-clientRuns AWS CLI commands inside the LocalStack for AWS container- Executes commands via awslocal inside the running container<br/>- Sanitizes commands to block shell chaining<br/>- Auto-detects LocalStack coverage errors and links to docs
localstack-aws-replicatorReplicates external AWS resources into a running LocalStack instance- Start single-resource replication jobs with a resource type and identifier or ARN<br/>- Start batch replication jobs, such as SSM parameters under a path prefix<br/>- Poll job status by job ID and list existing jobs<br/>- List resource types supported by the running Replicator extension<br/>- Reads source AWS credentials from the MCP server environment and supports optional target account or region overrides
localstack-app-inspectorInspects LocalStack application traces, spans, events, and IAM evaluations- Enable or disable App Inspector for the running LocalStack instance<br/>- List and inspect traces to understand AWS service-to-service flows<br/>- Drill into spans, events, payload metadata, and IAM policy evaluation events<br/>- Filter by service, region, operation, resource, ARN, status, and time range<br/>- Requires a valid LocalStack Auth Token and the App Inspector feature in the connected LocalStack license
localstack-docsSearches LocalStack documentation through CrawlChat- Queries LocalStack docs through a public CrawlChat collection<br/>- Returns focused snippets with source links only<br/>- Helps answer coverage, configuration, and setup questions without requiring LocalStack runtime
localstack-snowflake-clientRuns SQL against the LocalStack Snowflake emulator through the snow CLI- Execute SELECT, DDL (CREATE/DROP), DML (INSERT/UPDATE/DELETE), and SHOW/DESCRIBE statements from a query string or a .sql file<br/>- Check the Snowflake connection before running queries<br/>- Set optional database, schema, warehouse, and role context per query<br/>- Requires the Snowflake CLI (snow) and a valid LocalStack Auth Token

Prompts

Prompts are user-selected workflow templates exposed by MCP clients as slash commands or quick actions. They frame multi-step LocalStack tasks so the assistant follows the same phases, evidence requirements, and reporting format every time.

Prompt NameDescriptionArguments
infrastructure-testerDeploys an IaC project to LocalStack, validates declared resources with live AWS probes and App Inspector evidence, then writes and runs deterministic integration tests.iac_path (required), iac_type, test_language, test_framework, mode, services_focus, user_focus

Installation

Set up with the wizard (recommended)

The fastest way to install the MCP server is the interactive setup wizard:

bash
npx -y @localstack/localstack-mcp-server init

The wizard:

  • lets you choose how to run the server (npx on your machine, or the self-contained Docker image),
  • checks the prerequisites (Node.js, Docker) and tells you how to fix anything missing,
  • picks up your LOCALSTACK_AUTH_TOKEN from the environment, or asks for it,
  • lets you pass extra LocalStack config (e.g. DEBUG=1,PERSISTENCE=1),
  • detects your installed MCP clients (Cursor, Antigravity, Claude Code, Claude Desktop, VS Code, Codex, OpenCode, Amazon Q CLI) and writes the right configuration for each one you select.

It can also run fully non-interactively, e.g. in dotfiles or scripts:

bash
npx -y @localstack/localstack-mcp-server init --method npx --client cursor,claude-code --yes

To remove the server from your clients again:

bash
npx -y @localstack/localstack-mcp-server remove

Run npx -y @localstack/localstack-mcp-server init --help for all options.

Prerequisites

  • Docker installed and running. The MCP server manages the LocalStack container directly through the Docker API.
  • cdklocal, tflocal, or samlocal installed in your system path if you want to deploy CDK, Terraform, or SAM projects
  • Snowflake CLI (snow) installed in your system path if you want to use the Snowflake tool
  • A valid LocalStack Auth Token configured as LOCALSTACK_AUTH_TOKEN (required for all MCP tools)
  • Node.js v20 or higher installed in your system path

Run with npx

Add the following to your MCP client's configuration file (e.g., ~/.cursor/mcp.json). This configuration uses npx to run the server, which will automatically download and install the package if needed. The server manages LocalStack through your Docker daemon; any deployment CLIs used by tools run from your host PATH.

json
{
  "mcpServers": {
    "localstack": {
      "command": "npx",
      "args": ["-y", "@localstack/localstack-mcp-server"],
      "env": {
        "LOCALSTACK_AUTH_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

All LocalStack MCP tools require LOCALSTACK_AUTH_TOKEN to be set. You can get your LocalStack Auth Token by following the official documentation.

Run from source

If you installed from source, change command and args to point to your local build:

json
{
  "mcpServers": {
    "localstack": {
      "command": "node",
      "args": ["/path/to/your/localstack-mcp-server/dist/cli.js"],
      "env": {
        "LOCALSTACK_AUTH_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Run with Docker

The localstack/localstack-mcp-server Docker image bundles Terraform/tflocal, CDK/cdklocal, SAM/samlocal, and the Snowflake CLI. The only required host dependency is Docker. The container uses the mounted Docker socket to run LocalStack as a sibling container on the host; state lives in a named Docker volume (localstack-mcp) unless LOCALSTACK_VOLUME_DIR points at a host directory.

If you use the deployer tool with local Terraform, CDK, or SAM projects, bind-mount those project paths into the MCP container and pass the in-container path to the tool. The simplest convention is to mount projects at the same absolute path they use on the host.

json
{
  "mcpServers": {
    "localstack": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/var/run/docker.sock:/var/run/docker.sock",
        "--add-host",
        "host.docker.internal:host-gateway",
        "--add-host",
        "s3.host.docker.internal:host-gateway",
        "--add-host",
        "snowflake.localhost.localstack.cloud:host-gateway",
        "-e",
        "LOCALSTACK_AUTH_TOKEN",
        "-e",
        "LOCALSTACK_HOSTNAME=host.docker.internal",
        "-v",
        "/Users/you/projects:/Users/you/projects",
        "localstack/localstack-mcp-server:latest"
      ],
      "env": { "LOCALSTACK_AUTH_TOKEN": "<YOUR_TOKEN>" }
    }
  }
}

See docs/DOCKER.md for the run command, MCP client config, IaC project mounts, CDK notes, and troubleshooting.

LocalStack configuration

Variable NameDescriptionDefault Value
LOCALSTACK_AUTH_TOKEN (required)The LocalStack Auth Token to use for the MCP serverNone
MAIN_CONTAINER_NAMEThe explicit LocalStack container name to use for Docker-based tools. When unset, the server auto-detects standard LocalStack containers such as localstack-main and localstack-aws, then LocalStack Docker images.Auto-detect
LOCALSTACK_IMAGE_NAME / IMAGE_NAMEDocker image the start action launches for the AWS stack. LOCALSTACK_IMAGE_NAME wins when both are set (beware: bare IMAGE_NAME is a common CI variable).localstack/localstack-pro:latest
LOCALSTACK_VOLUME_DIRHost directory mounted at /var/lib/localstack in the LocalStack container. Defaults to the same per-OS cache path the LocalStack CLI used (state carries over); inside Docker it defaults to the localstack-mcp named volume.Per-OS cache dir
GATEWAY_LISTENOverride the gateway port bindings for start (comma-separated [host]:port). When set, the implicit 443 binding is skipped.:4566,:443
DOCKER_HOSTDocker daemon endpoint used for all container operations (unix://, npipe://, tcp://).Platform default socket
DOCKER_SOCKHost path of the Docker socket mounted into the LocalStack container (for Lambda). Validated to exist when set explicitly./var/run/docker.sock
EXTERNAL_SERVICE_PORTS_START / _ENDInclusive host port range published for external services on start. Validated (1–65535, start ≤ end).4510 / 4560
MCP_ANALYTICS_DISABLEDDisable MCP analytics when set to 10
APP_INSPECTORSet to 1 in the LocalStack container environment to enable App Inspector by default across restarts. The MCP tool can also toggle App Inspector at runtime with set-status.0
AWS_ACCESS_KEY_ID (required for AWS Replicator tool)Source AWS access key used by AWS Replicator to read external AWS resourcesNone
AWS_SECRET_ACCESS_KEY (required for AWS Replicator tool)Source AWS secret access key used by AWS Replicator to read external AWS resourcesNone
AWS_DEFAULT_REGION (required for AWS Replicator tool)Source AWS region used by AWS ReplicatorNone

Migration notes (CLI-free lifecycle)

Since v0.6.0 the MCP server no longer uses (or requires) the localstack CLI. The LocalStack container is created directly through the Docker Engine API. Behavioral differences from CLI-driven starts:

  • ~/.localstack/*.env config profiles and DOCKER_FLAGS are not read at start. Pass configuration through the envVars argument of the localstack-management start action, or set LOCALSTACK_-prefixed variables in the MCP server's environment (LocalStack aliases LOCALSTACK_<NAME> to <NAME> natively).
  • Besides LOCALSTACK_*/PROVIDER_OVERRIDE_*, only a curated set of common unprefixed config variables is forwarded from the host environment (DEBUG, LS_LOG, SERVICES, PERSISTENCE, EAGER_SERVICE_LOADING, ENFORCE_IAM, IAM_SOFT_MODE, EXTENSION_AUTO_INSTALL, APP_INSPECTOR, DNS_ADDRESS, MAIN_DOCKER_NETWORK, and the LAMBDA_*/CFN_*/SNOWFLAKE_*/SF_* families).
  • Port 443 is published by default. If something else uses port 443 locally, set GATEWAY_LISTEN=:4566 to skip it.
  • If you previously used lstk, note the container the server creates is named localstack-main (externally started localstack-aws containers are still detected and managed; restart preserves their name, image, and volume).

For AWS Replicator-specific source credentials, you can use the AWS_REPLICATOR_SOURCE_ prefixed variants instead of the unprefixed variants. Do not mix the prefixed and unprefixed source credential groups; when any AWS_REPLICATOR_SOURCE_ variable is set, the Replicator tool reads the source configuration only from that group.

Contributing

Built on the XMCP framework, you can add new tools by adding a new file to the src/tools directory and documenting it in the manifest.json file.

Pull requests are welcomed on GitHub! To get started:

  • Install Git and Node.js
  • Clone the repository
  • Install dependencies with yarn
  • Build with yarn build

MCP Server Tester

This repository includes MCP Server Tester for tool validation in direct mode and LLM host mode.

  • Run direct MCP tests (deterministic):
    bash
    yarn test:mcp:direct
    
  • Run Gemini-based MCP host evals:
    bash
    export GOOGLE_GENERATIVE_AI_API_KEY="<your-gemini-key>"
    export LOCALSTACK_AUTH_TOKEN="<your-localstack-auth-token>"
    yarn test:mcp:evals
    
  • Open the latest MCP Server Tester HTML report:
    bash
    npx mcp-server-tester open
    
  • Run both:
    bash
    yarn test:mcp
    

Notes:

  • MCP tests target the lifecycle-aware local server command node dist/cli.js by default.
  • LOCALSTACK_AUTH_TOKEN is required for all MCP tool usage and test suites.
  • You can override the target command with:
    • MCP_TEST_COMMAND
    • MCP_TEST_ARGS (space-separated arguments)

License

Apache License 2.0

<a href="https://glama.ai/mcp/servers/@localstack/localstack-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@localstack/localstack-mcp-server/badge" alt="LocalStack Server MCP server" /> </a>

常见问题

io.github.localstack/localstack-mcp-server 是什么?

基于 LocalStack 的 MCP server,提供本地云开发与测试所需的核心工具,便于模拟云服务环境。

相关 Skills

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描176.4k

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描176.4k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描26.0k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.7k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
80.0k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
72.9k

评论