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 分