Haiku 5.5
Native agent · Needs credentials · full use untestedOperation / attempted scope limited checks
Agent-reported scope: Build the LocalStack MCP server from source (yarn build) and run its stdio server, then call a real tool (localstack-docs search) to confirm behavior
Run details
- run
- localstack--localstack-mcp-server-claude-haiku-5-5-1792815218770221365
- date
- Oct 24, 2026
- time to working
- 613.9s (recorded; checker proof unavailable)
- product hosting / execution
- Not recorded
- recorded operation scope
- limited checks
- model
- claude-haiku-5-5
- agent / version
- claude-code / 2.1.300 (Claude Code)
- platform
- linux
- reported cost
- $0.023342
- Recorded source
- https://github.com/localstack/localstack-mcp-server
- Backend
- hyperv
- Tool transport
- mcp-assigned-vm
- Requested source pin (not an observed revision)
- {"commit": "afeff462768d4fc7ac719ba8e9895233e6aa72cf", "url": "https://github.com/localstack/localstack-mcp-server"}
- Test version
- readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9
- revision
- afeff462768d4fc7ac719ba8e9895233e6aa72cf
Prerequisite: full use remains untested. This is not a repo defect.
No LocalStack Auth Token in the guest environment.
Step: Running LocalStack-backed tools: every tool, including localstack-docs, requires LOCALSTACK_AUTH_TOKEN before doing any work.
Safety: Review signals: 1 connection review, 1 download and execute, 1 hardcoded secret, 72 known vulnerability, 1 outside write.
Review signals: 1 connection review, 1 download and execute, 1 hardcoded secret, 72 known vulnerability, 1 outside write.
Reviewed as expected for a test run: npm looked for a config file that did not exist, so nothing was read; resolver address lookups that send no data.
Repository processes attempted these non-loopback connections; proxies can hide the final hostname. 3.41.202.155:443 1 attributed processes.
PID 8453: /usr/bin/node · <guest-path>
Source contains download and execute; review its purpose. src/lib/azure/resolve-az.ts
Gitleaks found a possible hardcoded secret; value withheld. src/core/analytics.ts
OSV reports a known vulnerability in this dependency version. 12 distinct locations. 72 findings.
Repository processes attempted these writes outside documented output/cache paths. 3 distinct locations. 3 attributed processes.
OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.
A short run cannot establish that code is safe.
Connections show IP addresses; proxies can hide the final hostname.
Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.
Install / setup / connection checks
[
{
"status": "PASS",
"details": {
"working": false,
"argv": [
"node",
"dist/cli.js"
],
"kind": "mcp",
"serverInfo": {
"name": "LocalStack",
"version": "0.7.0",
"description": "Manage and interact with LocalStack for local cloud development and testing",
"icons": [
{
"src": "https://raw.githubusercontent.com/localstack/localstack-mcp-server/main/icon.png",
"mimeType": "image/png",
"sizes": [
"256x256"
]
}
]
},
"tools": [
"localstack-app-inspector",
"localstack-aws-client",
"localstack-aws-replicator",
"localstack-azure-client",
"localstack-chaos-injector",
"localstack-cloud-pods",
"localstack-deployer",
"localstack-docs",
"localstack-ephemeral-instances",
"localstack-extensions",
"localstack-iam-policy-analyzer",
"localstack-logs-analysis",
"localstack-management",
"localstack-snowflake-client",
"localstack-state-management"
],
"tool_schema_bytes": 20791,
"tool_result": {
"content": [
{
"type": "text",
"text": "\u274c **Auth Token Required**\n\nLOCALSTACK_AUTH_TOKEN is required for this operation."
}
]
},
"tool_result_checked": true,
"scope": "partial: credentials_error"
},
"check": "credentials_error",
"optional": false
}
]Answers recorded for this run
- All LocalStack MCP tools require a token: Real input produced the expected result: LOCALSTACK_AUTH_TOKEN is required for this operation.
Source: All LocalStack MCP tools require `LOCALSTACK_AUTH_TOKEN` to be set.
Input: {"tool": "localstack-docs", "arguments": {"query": "S3 event notifications", "limit": 1}}
Expected: tool refuses with an auth-token error
Command: node dist/cli.js tools/call {"tool": "localstack-docs", "arguments": {"query": "S3 event notifications", "limit": 1}}
Observed: LOCALSTACK_AUTH_TOKEN is required for this operation."}]}
- Tools require the auth token in the MCP tool list: Real input produced the expected result: Auth Token Required
Source: All tools in this MCP server require `LOCALSTACK_AUTH_TOKEN`.
Input: {"tool": "localstack-docs", "arguments": {"query": "S3 event notifications", "limit": 1}}
Expected: tool refuses with an auth-token error
Command: node dist/cli.js tools/call {"tool": "localstack-docs", "arguments": {"query": "S3 event notifications", "limit": 1}}
Observed: Auth Token Required**\n\nLOCALSTACK_AUTH_TOKEN is required for this operation."}]}
Examples
- Offline unit test suite passes: command completed successfully
Source: README.md Contributing section (MCP Server Tester notes); package.json test script
Input: yarn test
Expected: all jest suites pass
Command: yarn test
Observed: c.test.ts PASS src/lib/localstack/platform.client.test.ts PASS src/lib/wizard/env-parser.logic.test.ts PASS src/lib/azure/runtime-status.test.ts PASS src/cli/lifecycle.test.ts PASS src/lib/azure/child-env.test.ts PASS src/core/preflight.test.ts PASS src/core/localstack-env.test.ts PASS src/lib/wizard/entry-builders.logic.test.ts PASS src/lib/wizard/server-config.logic.test.ts PASS src/lib/wizard/paths.logic.test.ts PASS src/lib/azure/config.test.ts Test Suites: 38 passed, 38 total Tests: 395 passed, 395 total Snapshots: 0 total Time: 11.95 s, estimated 13 s Ran all test suites.
- Direct MCP server tests: yarn test:mcp:direct requires LOCALSTACK_AUTH_TOKEN for MCP tool usage per README; no token available, so not run
Source: README.md MCP Server Tester section
Expected: documented command completes successfully
Observed: yarn test:mcp:direct requires LOCALSTACK_AUTH_TOKEN for MCP tool usage per README; no token available, so not run
Local or hosted: both
What the agent did
Build the LocalStack MCP server from source (yarn build) and run its stdio server, then call a real tool (localstack-docs search) to confirm behavior
cd <guest-path> && pwd && ls -la && id -u && cat /etc/os-release | head -3 && python3 --version && git -C . rev-parse HEAD 2>&1 | head -1; ls /inputs 2>&1
cd <guest-path> && cat README.md 2>/dev/null | head -200
cd <guest-path> && sed -n 200,400p README.md | cut -c1-400
cd <guest-path> && cat package.json; echo ---; (node -v; npm -v; yarn -v; docker --version; sudo -n true && echo SUDO_OK; echo "LOCALSTACK_AUTH_TOKEN set: <env-ref>") 2>&1
apt-cache policy nodejs 2>/dev/null | head -3; echo "proxy: ${HTTPS_PROXY:-${https_proxy:-none}}"; timeout 20 curl -sI https://deb.nodesource.com/ | head -1; timeout 20 curl -sI https://registry.npmjs.org/ | head -1; timeout 20 curl -sI https://github.com | head -1
set -x; curl -fsSL https://deb.nodesource.com/setup_22.x -o /tmp/ns_setup.sh && sudo -n bash /tmp/ns_setup.sh && sudo -n DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs && node -v && npm -v
cd <guest-path> && head -5 yarn.lock; sudo -n npm install -g yarn@1 2>&1 | tail -2; yarn -v; git init -q 2>&1; git remote add origin https://github.com/localstack/localstack-mcp-server 2>&1; timeout 300 git fetch --depth 1 origin afeff462768d4fc7ac719ba8e9895233e6aa72cf 2>&1 | tail -3; git reset --mixed FETCH_HEAD 2>&1 | tail -2; git rev-parse HEAD
cd <guest-path> && timeout 900 yarn install --frozen-lockfile 2>&1 | tail -15; echo "EXIT=${PIPESTATUS[0]}"
cd <guest-path> && timeout 900 yarn build 2>&1 | tail -25; echo "EXIT=${PIPESTATUS[0]}"; ls -la dist 2>&1 | head
cd <guest-path> && node dist/cli.js --help 2>&1 | head -30; echo "---"; grep -rn "LOCALSTACK_AUTH_TOKEN" src --include=*.ts | head -20; echo "---"; ls src src/tools; echo; grep -n "name:" src/tools/localstack-docs.ts | head
cd <guest-path> && sed -n 1,60p src/core/preflight.ts; echo ---; grep -ln "preflight\|requireAuth\|assertAuth" src/tools/*.ts; echo ---; grep -n "preflight\|Token\|token" src/tools/localstack-docs.ts | head; echo ---; sed -n 1,80p src/tools/localstack-docs.ts | cut -c1-200
cd <guest-path> && { printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}' '{"jsonrpc":"2.0","method":"notifications/initialized"}' '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"localstack-docs","arguments":{"query":"S3 event notifications","limit":1}}}'; } | timeout 60 node dist/cli.js 2>/tmp/mcp_err.txt | cut -c1-600; echo "EXIT=${PIPESTATUS[1]}"; echo "stderr:"; head -c 800 /tmp/mcp_err.txt; echo; echo "--- cycle grep:"; grep -rniE "setInterval|cron|--once|--now|schedule" src --include=*.ts -l | grep -v test | head
cd <guest-path> && grep -niE "setInterval|cron|--once|--now|schedule" src/cli/lifecycle.ts src/lib/localstack/localstack.utils.ts | cut -c1-220 | head -12; echo ---; (sudo -n DEBIAN_FRONTEND=noninteractive apt-get install -y docker.io >/tmp/docker_install.log 2>&1; echo "apt docker.io EXIT=$?"; tail -3 /tmp/docker_install.log; docker --version 2>&1; sudo -n docker info >/dev/null 2>&1 && echo DAEMON_OK || echo DAEMON_UNAVAILABLE)
cd <guest-path> && timeout 900 yarn test 2>&1 | tail -15; echo "EXIT=${PIPESTATUS[0]}"
cd <guest-path> && which yarn node && ls -la <guest-path> && mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'
{"checks":[{"check":"credentials_error","kind":"mcp","argv":["node","dist/cli.js"],"cwd":"<guest-path>","tool":"localstack-docs","arguments":{"query":"S3 event notifications","limit":1},"expected_text":"LOCALSTACK_AUTH_TOKEN is required for this operation."}]}
EOF
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"All LocalStack MCP tools require a token","source":"All LocalStack MCP tools require `LOCALSTACK_AUTH_TOKEN` to be set.","input":"localstack-docs search with no LOCALSTACK_AUTH_TOKEN set","expected":"tool refuses with an auth-token error","probe_kind":"mcp","argv":["node","dist/cli.js"],"tool":"localstack-docs","arguments":{"query":"S3 event notifications","limit":1},"expected_text":"LOCALSTACK_AUTH_TOKEN is required for this operation.","cwd":"<guest-path>"},
{"kind":"claim","claim":"Tools require the auth token in the MCP tool list","source":"All tools in this MCP server require `LOCALSTACK_AUTH_TOKEN`.","input":"localstack-docs search with no LOCALSTACK_AUTH_TOKEN set","expected":"tool refuses with an auth-token error","probe_kind":"mcp","argv":["node","dist/cli.js"],"tool":"localstack-docs","arguments":{"query":"S3 event notifications","limit":1},"expected_text":"Auth Token Required","cwd":"<guest-path>"}]
EOF
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"Offline unit test suite passes","source":"README.md Contributing section (MCP Server Tester notes); package.json test script","input":"yarn test","expected":"all jest suites pass","argv":["yarn","test"],"cwd":"<guest-path>","env":{},"expected_text":"395 passed, 395 total"},
{"kind":"example","claim":"Direct MCP server tests","source":"README.md MCP Server Tester section","reason":"yarn test:mcp:direct requires LOCALSTACK_AUTH_TOKEN for MCP tool usage per README; no token available, so not run"}]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"Entry points inspected: README.md, package.json scripts (start = node dist/cli.js), src/cli/index.ts/lifecycle.ts. The product is a request-driven stdio MCP server: it answers tools/call requests from the client and exits when stdin closes. Only timers found are an internal health-poll loop during LocalStack container start (src/lib/localstack/localstack.utils.ts scheduleNextPoll) and stdin-exit scheduling (src/cli/lifecycle.ts); neither is a user-facing cron, --once, --now or webhook cycle. No cycle triggered.","checks":[]}
EOF
for f in probe claims examples cycles; do python3 -I -c "import json,sys; json.load(open(sys.argv[1])); print('ok', sys.argv[1])" .coldpass/$f.json; done
cd <guest-path> && <env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay 2>&1 | tail -60; echo "EXIT=${PIPESTATUS[0]}"
cd <guest-path> && cat > .coldpass/report.json <<'EOF'
{"outcome":"needs_credentials","fault_owner":"prerequisite","operation":"Build the LocalStack MCP server from source (yarn build) and run its stdio server, then call a real tool (localstack-docs search) to confirm behavior","operation_scope":"Node.js >= 20 (installed v22.23.4), yarn 1.22.22, Docker 29.1.3 (daemon up). Build and offline jest suite (395 tests) verified. Every MCP tool requires LOCALSTACK_AUTH_TOKEN, which is not present in this guest and was not obtained, so LocalStack start, deploy, logs and docs search could not be exercised successfully. The no-token tool call returns the documented 'Auth Token Required' error.","steps":["git init; git remote add origin https://github.com/localstack/localstack-mcp-server; git fetch --depth 1 origin afeff462768d4fc7ac719ba8e9895233e6aa72cf; git reset --mixed FETCH_HEAD","Install Node.js 22 (NodeSource setup_22.x + apt install nodejs) and yarn (sudo npm install -g yarn@1)","yarn install --frozen-lockfile (exit 0; optional cpu-features native build warning ignored per yarn)","yarn build (xmcp build + esbuild -> dist/cli.js; 15 tools, 1 prompt)","node dist/cli.js (stdio MCP server, README 'Run from source'); tools/call localstack-docs -> 'Auth Token Required'","yarn test (jest): 38 suites, 395 tests passed"],"deviations":["Node.js and npm were absent; installed Node 22.23.4 from NodeSource apt repo (README requires Node 20+).","yarn was absent; installed yarn 1.22.22 globally with npm (README uses yarn).","Docker was absent; installed docker.io 29.1.3 via apt (README prerequisite). No LocalStack image was pulled because the start action is gated by the auth token.","LOCALSTACK_AUTH_TOKEN not available; not obtained or faked. Probe recorded as a credentials_error check on the documented tool call, not a successful tool result.","yarn test:mcp:direct not run (requires the auth token per README).","/inputs/coldpass-preflight.py does not exist in this guest; used <guest-path> as instructed in the task's validation command, which passed."],"stuck_step":"Running LocalStack-backed tools: every tool, including localstack-docs, requires LOCALSTACK_AUTH_TOKEN before doing any work.","main_blocker":"No LocalStack Auth Token in the guest environment.","plain_failure":"The server builds and starts, and its tools answer, but every tool stops with 'LOCALSTACK_AUTH_TOKEN is required'. A LocalStack account token is needed to run the operations (start LocalStack, deploy, logs, docs search), and it was not available in this disposable VM, so those operations were not exercised.","suggested_fix":"Re-run in a guest where LOCALSTACK_AUTH_TOKEN is set to a valid LocalStack Auth Token (and Docker is available to start the LocalStack container), then replay probe.json and claims with the token exported. No product change is needed."}
EOF
python3 -I -c "import json; d=json.load(open('.coldpass/report.json')); print(d['outcome'], d['fault_owner'])"; ps aux | grep -c "[d]ist/cli.js"
ps -eo pid,ppid,etime,args | grep "[d]ist/cli.js"; echo ---; pids=$(ps -eo pid,args | grep "[d]ist/cli.js" | awk '{print $1}'); for p in $pids; do echo "$p: $(ps -o args= -p $p | cut -c1-80) parent=$(ps -o args= -p $(ps -o ppid= -p $p) | cut -c1-60)"; done
cd <guest-path> && <env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay 2>&1 | python3 -I -c "import json,sys; d=json.load(sys.stdin); print('valid:',d['valid'],'problems:',d['problems'],'replay:',d['replay']['status'])"; ls -la .coldpass; ps -eo args | grep -c "[d]ist/cli.js"run JSON · checker evidence · agent report + check · transcript excerpt unavailable · error excerpt unavailable