io.github.giovanemartins/localstack

编码与调试

by giovanemartins

MCP server for LocalStack AWS services, enabling AI agents to interact with local AWS infra.

什么是 io.github.giovanemartins/localstack

MCP server for LocalStack AWS services, enabling AI agents to interact with local AWS infra.

README

LocalStack MCP Server

MCP Registry npm

MCP server that exposes LocalStack-managed AWS services as AI-agent tools, enabling LLMs and AI agents to interact with local AWS infrastructure during development and testing.

Installation

The server is published to npm and the MCP Registry. No local build needed.

bash
npm install -g @giovane.martins/localstack

Or run directly with npx (no install required):

bash
npx @giovane.martins/localstack

Requirements

  • Node.js 20+
  • Docker (for LocalStack)

Local Development

bash
# 1. Start LocalStack
docker compose up -d

# 2. Install dependencies
pnpm install

# 3. Build
pnpm run build

# 4. Run
pnpm start

Configuration

All configuration is via environment variables:

VariableDefaultDescription
LOCALSTACK_ENDPOINThttp://localhost:4566LocalStack base URL
AWS_REGIONus-east-1AWS region
AWS_ACCESS_KEY_IDtestFake credentials for LocalStack
AWS_SECRET_ACCESS_KEYtestFake credentials for LocalStack

Running Tests

Requires LocalStack running (docker compose up -d).

bash
pnpm test

MCP Client Configuration

Using the published npm package (recommended)

Add to your MCP client config (e.g. ~/.config/claude/claude_desktop_config.json):

json
{
  "mcpServers": {
    "localstack": {
      "command": "npx",
      "args": ["-y", "@giovane.martins/localstack"],
      "env": {
        "LOCALSTACK_ENDPOINT": "http://localhost:4566",
        "AWS_REGION": "us-east-1",
        "AWS_ACCESS_KEY_ID": "test",
        "AWS_SECRET_ACCESS_KEY": "test"
      }
    }
  }
}

Using a local build

json
{
  "mcpServers": {
    "localstack": {
      "command": "node",
      "args": ["/path/to/mcp-servers/localstack/dist/index.js"],
      "env": {
        "LOCALSTACK_ENDPOINT": "http://localhost:4566",
        "AWS_REGION": "us-east-1",
        "AWS_ACCESS_KEY_ID": "test",
        "AWS_SECRET_ACCESS_KEY": "test"
      }
    }
  }
}

Using tsx for development (no build step)

json
{
  "mcpServers": {
    "localstack": {
      "command": "npx",
      "args": ["tsx", "/path/to/mcp-servers/localstack/src/index.ts"],
      "env": {
        "LOCALSTACK_ENDPOINT": "http://localhost:4566",
        "AWS_REGION": "us-east-1",
        "AWS_ACCESS_KEY_ID": "test",
        "AWS_SECRET_ACCESS_KEY": "test"
      }
    }
  }
}

Available Tools

S3

ToolDescription
s3_list_bucketsList all S3 buckets
s3_create_bucketCreate a bucket
s3_delete_bucketDelete a bucket
s3_put_objectUpload an object (text/JSON content)
s3_get_objectDownload an object as text
s3_delete_objectDelete an object
s3_list_objectsList objects with optional prefix filter

SQS

ToolDescription
sqs_list_queuesList all queues
sqs_create_queueCreate a standard or FIFO queue
sqs_delete_queueDelete a queue
sqs_send_messageSend a message
sqs_receive_messagesReceive up to 10 messages (with long-polling support)
sqs_delete_messageDelete a message by receipt handle
sqs_purge_queuePurge all messages from a queue

SNS

ToolDescription
sns_list_topicsList all topics
sns_create_topicCreate a standard or FIFO topic
sns_delete_topicDelete a topic
sns_subscribeSubscribe an endpoint to a topic
sns_unsubscribeUnsubscribe from a topic
sns_list_subscriptions_by_topicList all subscriptions for a topic
sns_publishPublish a message to a topic

EventBridge

ToolDescription
eventbridge_list_busesList all event buses
eventbridge_create_busCreate a custom event bus
eventbridge_delete_busDelete a custom event bus
eventbridge_list_rulesList rules on a bus
eventbridge_put_ruleCreate or update a rule (event pattern or schedule)
eventbridge_delete_ruleDelete a rule
eventbridge_describe_ruleDescribe a rule
eventbridge_enable_ruleEnable a rule
eventbridge_disable_ruleDisable a rule
eventbridge_put_targetsAdd or update rule targets
eventbridge_list_targetsList targets for a rule
eventbridge_remove_targetsRemove targets from a rule
eventbridge_put_eventsSend custom events to a bus (max 10)

Kinesis

ToolDescription
kinesis_list_streamsList all streams
kinesis_create_streamCreate a stream
kinesis_delete_streamDelete a stream
kinesis_describe_streamDescribe a stream (status, shards)
kinesis_put_recordPut a single record
kinesis_put_recordsPut multiple records (max 500)
kinesis_get_recordsGet records from a shard

DynamoDB

ToolDescription
dynamodb_list_tablesList all tables
dynamodb_create_tableCreate a table (partition key + optional sort key)
dynamodb_delete_tableDelete a table
dynamodb_describe_tableDescribe a table
dynamodb_put_itemPut (create or replace) an item
dynamodb_get_itemGet an item by key
dynamodb_delete_itemDelete an item by key
dynamodb_scanScan all items (with optional filter expression)
dynamodb_queryQuery by key condition

Lambda

ToolDescription
lambda_list_functionsList all functions
lambda_get_functionGet function details
lambda_create_functionCreate a function from a base64-encoded ZIP
lambda_delete_functionDelete a function
lambda_invokeInvoke a function and return its response + logs

Secrets Manager

ToolDescription
secretsmanager_list_secretsList all secrets
secretsmanager_create_secretCreate a new secret
secretsmanager_get_secretGet the value of a secret
secretsmanager_update_secretUpdate the value of a secret
secretsmanager_describe_secretDescribe secret metadata
secretsmanager_delete_secretDelete a secret (with optional force delete)
secretsmanager_restore_secretRestore a previously deleted secret

SSM Parameter Store

ToolDescription
ssm_get_parameterGet a parameter by name
ssm_put_parameterCreate or update a parameter
ssm_delete_parameterDelete a parameter
ssm_delete_parametersDelete up to 10 parameters in batch
ssm_get_parameters_by_pathGet all parameters under a path prefix
ssm_describe_parametersList and describe parameters

SES

ToolDescription
ses_list_identitiesList all verified identities
ses_verify_email_identityVerify an email address
ses_get_identity_verification_attributesGet verification status for identities
ses_delete_identityDelete an identity
ses_send_emailSend an email (plain text and/or HTML)

Use Cases

  • Dev environment bootstrap — create S3 buckets, SQS queues, DynamoDB tables, and SSM parameters in one shot from a spec
  • Test data seeding — populate DynamoDB or S3 before running integration tests
  • Event-driven debugging — publish to EventBridge/SNS/Kinesis and inspect downstream effects without leaving the IDE
  • Secret/config management — read and update Secrets Manager / SSM values during local debug sessions
  • Lambda smoke testing — invoke Lambda functions, capture responses and logs, iterate quickly
  • Queue drain / inspect — receive and inspect SQS messages without a consumer running

Project Structure

code
localstack/
├── docker-compose.yml      # LocalStack container
├── package.json
├── tsconfig.json
├── vitest.config.ts
├── src/
│   ├── index.ts            # MCP server entry point
│   ├── config.ts           # Environment config
│   ├── tools/              # One file per AWS service
│   │   ├── s3.ts
│   │   ├── sqs.ts
│   │   ├── sns.ts
│   │   ├── eventbridge.ts
│   │   ├── kinesis.ts
│   │   ├── dynamodb.ts
│   │   ├── lambda.ts
│   │   ├── secretsmanager.ts
│   │   ├── ssm.ts
│   │   └── ses.ts
│   └── utils/
│       ├── client.ts       # Shared AWS client factory (LocalStack endpoint)
│       └── errors.ts       # Standardised MCP error formatting
└── tests/                  # Integration tests (real LocalStack)
    ├── s3.test.ts
    ├── sqs.test.ts
    ├── sns.test.ts
    ├── eventbridge.test.ts
    ├── kinesis.test.ts
    ├── dynamodb.test.ts
    ├── lambda.test.ts
    ├── secretsmanager.test.ts
    ├── ssm.test.ts
    └── ses.test.ts

常见问题

io.github.giovanemartins/localstack 是什么?

MCP server for LocalStack AWS services, enabling AI agents to interact with local AWS infra.

相关 Skills

网页构建器

by anthropics

Universal
热门

面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。

在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。

编码与调试
未扫描114.1k

前端设计

by anthropics

Universal
热门

面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。

想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。

编码与调试
未扫描114.1k

网页应用测试

by anthropics

Universal
热门

用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。

借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。

编码与调试
未扫描114.1k

相关 MCP Server

GitHub

编辑精选

by GitHub

热门

GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。

这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。

编码与调试
83.4k

by Context7

热门

Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。

它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。

编码与调试
52.2k

by tldraw

热门

tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。

这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。

编码与调试
46.3k

评论