Localstack

io.github.giovanemartins由 GitHub 账号 giovanemartins 发布v1.1.5更新于 Oct 24, 2026

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

概览

AI 生成的概览

本地 MCP 服务器,让助手在本地 LocalStack 实例中创建、查看和修改 S3、SQS、SNS、EventBridge、Kinesis、DynamoDB、Lambda、Secrets Manager、SSM 与 SES 等 AWS 资源。

可以做什么
  • 管理 S3 存储桶与对象:列出、创建、删除、上传和下载文本或 JSON 内容
  • 操作 SQS 队列与消息:创建、发送、接收、删除、清空
  • 处理 SNS 主题与订阅,并发布消息
  • 管理 EventBridge 事件总线、规则、目标与自定义事件
  • 管理 Kinesis 流与记录,以及 DynamoDB 表、条目、扫描与查询
  • 调用 Lambda 函数并获取响应与日志;管理 Secrets Manager 密钥、SSM 参数以及 SES 身份与邮件发送
适用场景
适合在本地开发或测试基于 AWS 的应用时使用:按规格一次性创建存储桶、队列、表和参数,填充测试数据,调试事件驱动流程,或在不接触真实 AWS 账户的情况下对 Lambda 函数做冒烟测试。
运行要求
通过 npm 或 npx 在本地运行,需要 Node.js 20+,并需要 Docker 运行 LocalStack 本身。通过环境变量配置:LOCALSTACK_ENDPOINT(默认 和 AWS_SECRET_ACCESS_KEY,README 中示例为测试用的假值。仅支持桌面客户端。
安装前请注意
这些工具会创建、覆盖和删除资源与数据,包括存储桶、表、队列、密钥和参数,并可通过 SES 发送邮件。凭据以环境变量传入;README 预期使用 LocalStack 的假值,因此不要指向真实 AWS 端点或填入真实 AWS 密钥。通过 Secrets Manager 和 SSM 读取的密钥值会返回给助手。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Localstack,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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 LocalStackdocker compose up -d
# 2. Install dependenciespnpm install
# 3. Buildpnpm run build
# 4. Runpnpm 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

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

来源:README.md,提交 6d17dbb

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.1.5最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分