Put the Arithmetic in the Tool: an MCP Server for an AWS Waste Scanner A developer built zombiescan, an open-source AWS waste scanner, and wrapped it in a Model Context Protocol (MCP) server so AI agents can query cost data through the same engine a terminal uses. The server exposes five read-only tools — including scan_account and estimate_savings — that return precomputed totals, counts, and breakdowns rather than raw rows, after testing showed a small model answered a simple counting question wrong in twenty out of twenty calls. An end-to-end test holds the terminal and MCP front doors to identical dollar figures. This article provides a step by step guide to adding an MCP server to an AWS cost scanner so an agent drives the same engine a terminal does. Every tool returns figures the engine computed, and the two front doors are held to the same number by an end-to-end test. https://github.com/xbill9/zombiescan https://github.com/xbill9/zombiescan A scan produces one JSON document. A person reads it through a terminal table; an agent reads it through whatever tool it is given. Both quote dollar figures to whoever asked. When the two disagree, one of them is wrong in a way that survives review, because each looks sourced. A model handed a list of rows and asked "how much is this costing" does the addition in the answer. Eleven small integers are enough to break that: one small model asked how many of eleven ids were 10 or more answered wrong in twenty calls out of twenty. Push the count into the engine and the same question is right every time. So the tools here return totals, counts, breakdowns, minima and maxima, and the filter that produced them. aws login , a profile, SSO or environment variables uv ce:GetCostAndUsage for the calibration step The scan is read-only: Describe, List and Get calls, across every region the account has enabled. uv run zombiescan scan --all-regions --limit 8 Scanning as arn:aws:iam::