{"_id":"@desktopninjas/aws-calc-assistant","_rev":"3-98cbc5e10f15c2387e260012e30742b8","name":"@desktopninjas/aws-calc-assistant","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@desktopninjas/aws-calc-assistant","version":"1.0.0","keywords":["aws","pricing","calculator","estimate","cost","mcp","model-context-protocol","map","migration","ec2","rds","infrastructure"],"author":{"name":"Michael Lucas"},"license":"MIT","_id":"@desktopninjas/aws-calc-assistant@1.0.0","maintainers":[{"name":"nubbthedestroyer","email":"michael@desktopninjas.com"}],"homepage":"https://github.com/desktopninjas/aws-calc-assistant#readme","bugs":{"url":"https://github.com/desktopninjas/aws-calc-assistant/issues"},"bin":{"aws-calc-assistant":"dist/server.mjs"},"dist":{"shasum":"0cc60db95dfffa0848cea85f00959c657c17c867","tarball":"https://registry.npmjs.org/@desktopninjas/aws-calc-assistant/-/aws-calc-assistant-1.0.0.tgz","fileCount":3,"integrity":"sha512-NpR5A5QzX3+Lt6el1gIssv4Os/PLu7wh3CZuBD9i/wILiNNf61yMyxKt05nCYtxH6g0uCCCQYth/64Q5+jYFeg==","signatures":[{"sig":"MEUCIH0DVKfkO39FnJ1FTdsR2AJpBFk0+k0mbFo+E5/Ez7boAiEA538SdVHuh+GvfxUfv9VXshQEHu9x+dgBJNIAvDwyd8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":783248},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"ab03fb426bf98437536a2a22da8818f2d191b221","_npmUser":{"name":"nubbthedestroyer","email":"michael@desktopninjas.com"},"repository":{"url":"git+https://github.com/desktopninjas/aws-calc-assistant.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server for building shareable AWS Pricing Calculator estimates programmatically","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aws-calc-assistant_1.0.0_1784236944849_0.9941436205398606","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Moved to @nubbthedestroyer/aws-calc-assistant"},"1.0.2":{"name":"@desktopninjas/aws-calc-assistant","version":"1.0.2","keywords":["aws","pricing","calculator","estimate","cost","mcp","model-context-protocol","map","migration","ec2","rds","infrastructure"],"author":{"name":"Michael Lucas"},"license":"MIT","_id":"@desktopninjas/aws-calc-assistant@1.0.2","maintainers":[{"name":"nubbthedestroyer","email":"michael@desktopninjas.com"}],"homepage":"https://github.com/desktopninjas/aws-calc-assistant#readme","bugs":{"url":"https://github.com/desktopninjas/aws-calc-assistant/issues"},"bin":{"aws-calc-assistant":"dist/server.mjs"},"dist":{"shasum":"169345dd6cf64279a8c1384502f9d6df660003a2","tarball":"https://registry.npmjs.org/@desktopninjas/aws-calc-assistant/-/aws-calc-assistant-1.0.2.tgz","fileCount":3,"integrity":"sha512-5YvSqDq3KtHUFIvzzcTuaRniaQFcLD/hz+AWiHKnNGAtIPS2CkyqyZpA9+VCeeLdgNenFgVax+n7Pn2DpFxCUQ==","signatures":[{"sig":"MEUCIHQyh79zSmg/HdvBKIAVSgAzvVtFnXIMhBiZ5FIbKjmIAiEAnLnZXfaBkTi2dZ3GJHaI43Pg8njsFlWZUK5WKlelCg8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":783453},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"815f06c7472af33bd4f7f47a049771b1af708e6d","_npmUser":{"name":"nubbthedestroyer","email":"michael@desktopninjas.com"},"repository":{"url":"git+https://github.com/desktopninjas/aws-calc-assistant.git","type":"git"},"_npmVersion":"10.9.8","description":"MCP server for building shareable AWS Pricing Calculator estimates programmatically","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/aws-calc-assistant_1.0.2_1784319661998_0.9444718854859915","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Moved to @nubbthedestroyer/aws-calc-assistant"}},"time":{"created":"2026-07-16T21:22:24.608Z","modified":"2026-07-17T20:30:11.754Z","1.0.0":"2026-07-16T21:22:25.022Z","1.0.2":"2026-07-17T20:21:02.164Z"},"bugs":{"url":"https://github.com/desktopninjas/aws-calc-assistant/issues"},"author":{"name":"Michael Lucas"},"license":"MIT","homepage":"https://github.com/desktopninjas/aws-calc-assistant#readme","keywords":["aws","pricing","calculator","estimate","cost","mcp","model-context-protocol","map","migration","ec2","rds","infrastructure"],"repository":{"url":"git+https://github.com/desktopninjas/aws-calc-assistant.git","type":"git"},"description":"MCP server for building shareable AWS Pricing Calculator estimates programmatically","maintainers":[{"name":"nubbthedestroyer","email":"michael@desktopninjas.com"}],"readme":"# AWS Calculator Power\n\nBuild shareable [AWS Pricing Calculator](https://calculator.aws/) estimates programmatically via MCP tools. Designed for creating MAP (Migration Acceleration Program) funding estimates from customer infrastructure descriptions.\n\nWorks with both **Kiro** (as a Power) and **Claude Code** (as a project with MCP + skills).\n\n## Prerequisites\n\n- **Node.js >= 18** (check with `node --version`)\n\n## Install via npx (recommended)\n\nThe simplest way to use this server — no git clone or manual updates needed. Updates are automatic via `@latest`.\n\n### Kiro\n\nAdd to your global Kiro config at `~/.kiro/settings/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"aws-calculator\": {\n      \"command\": \"npx\",\n      \"args\": [\"@desktopninjas/aws-calc-assistant@latest\"]\n    }\n  }\n}\n```\n\nRestart Kiro or reconnect MCP servers from the MCP Server view.\n\n### Claude Code\n\nRegister the MCP server globally:\n\n```bash\nclaude mcp add aws-calculator --scope user -- npx @desktopninjas/aws-calc-assistant@latest\n```\n\nOr add to your project's `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"aws-calculator\": {\n      \"command\": \"npx\",\n      \"args\": [\"@desktopninjas/aws-calc-assistant@latest\"]\n    }\n  }\n}\n```\n\n### Pin a specific version\n\nFor stability in production environments, pin to a specific version:\n\n```json\n{\n  \"mcpServers\": {\n    \"aws-calculator\": {\n      \"command\": \"npx\",\n      \"args\": [\"@desktopninjas/aws-calc-assistant@1.0.0\"]\n    }\n  }\n}\n```\n\n## Install from source (alternative)\n\nIf you want to develop or modify the server locally:\n\n```bash\ngit clone https://github.com/desktopninjas/aws-calc-assistant.git\ncd aws-calc-assistant\n```\n\nThen use the local path in your MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"aws-calculator\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/aws-calc-assistant/dist/server.mjs\"]\n    }\n  }\n}\n```\n\n### Kiro Power (from source)\n\nClone into your Kiro powers directory for automatic discovery:\n\n```bash\ngit clone https://github.com/desktopninjas/aws-calc-assistant.git ~/.kiro/powers/aws-calc-assistant\n```\n\n### Claude Code (from source)\n\nClone and open with Claude Code — it auto-discovers `.mcp.json`:\n\n```bash\ngit clone https://github.com/desktopninjas/aws-calc-assistant.git\ncd aws-calc-assistant\nclaude\n```\n\n## Verify Installation\n\nTest that the server responds:\n\n```bash\necho '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2024-11-05\",\"capabilities\":{},\"clientInfo\":{\"name\":\"test\",\"version\":\"1.0.0\"}}}' | npx @desktopninjas/aws-calc-assistant@latest\n```\n\nYou should see a JSON response containing `\"name\":\"aws-calculator-assistant\"`.\n\n## Update\n\nWith npx, updates are automatic — `@latest` always fetches the newest version. To clear the npx cache:\n\n```bash\nnpx clear-npx-cache\n```\n\nIf installed from source:\n\n```bash\ncd ~/.kiro/powers/aws-calc-assistant && git pull\n```\n\n## Uninstall\n\n### npx\n\nJust remove the `aws-calculator` entry from your MCP config. No files to delete.\n\n### From source (Kiro)\n\n```bash\nrm -rf ~/.kiro/powers/aws-calc-assistant\n```\n\nThen remove the `aws-calculator` entry from `~/.kiro/settings/mcp.json`.\n\n### From source (Claude Code)\n\n```bash\nclaude mcp remove aws-calculator\nrm -rf ~/tools/aws-calc-assistant\nrm -rf ~/.claude/skills/aws-calculator\n```\n\n## Alternative: Docker\n\nIf you prefer Docker over running Node.js directly:\n\n```bash\ngit clone https://github.com/desktopninjas/aws-calc-assistant.git\ncd aws-calc-assistant\ndocker build -t aws-calculator-mcp .\n```\n\nThen use this MCP config:\n\n```json\n{\n  \"aws-calculator\": {\n    \"command\": \"docker\",\n    \"args\": [\"run\", \"--rm\", \"-i\", \"aws-calculator-mcp\"]\n  }\n}\n```\n\n## Usage\n\nOnce installed, ask your AI agent to build estimates:\n\n```\nCreate an AWS MAP estimate for Acme Corp with:\n- Production: 4x m6i.2xlarge EC2 (Linux), RDS PostgreSQL db.r6g.2xlarge Multi-AZ 500GB\n- DR: 2x m6i.2xlarge EC2, RDS PostgreSQL db.r6g.large 500GB\n- Shared Services: CloudWatch, WAF\nRegion: us-east-1\n```\n\nIn Claude Code, you can also use the slash command:\n\n```\n/estimate 3 m6i.4xlarge EC2 instances with 500GB gp3 in us-east-1\n```\n\n## MCP Tools\n\n| Tool | Purpose |\n|------|---------|\n| `search_services` | Find AWS service codes by keyword |\n| `get_service_schema` | Get input field IDs and options for a service |\n| `configure_service` | Configure a service → returns cost + calculation components |\n| `create_estimate` | Combine services into a shareable calculator.aws link |\n| `load_estimate` | Load and inspect an existing estimate |\n\n## Development\n\nTo modify the server and rebuild:\n\n```bash\ncd server && npm install\n# Edit server/index.js\nnpm test                  # Run tests (20 unit tests)\ncd .. && ./build.sh       # Rebuild dist/server.mjs\n```\n\n### Customer Scripts\n\nWhen building estimates for specific customers, generated `.mjs` scripts and output files go in `customer-scripts/`. This folder is gitignored to keep customer data out of the repo.\n\nThe bundled `dist/server.mjs` is committed to the repo. After rebuilding, commit and publish:\n\n```bash\nnpm version patch         # bumps version in root package.json\nnpm publish --access public\n```\n\n### Drift Detection\n\nThe Claude Code skill (`.claude/skills/aws-calculator/SKILL.md`) is a symlink to `steering/aws-calculator-workflow.md`. This ensures both platforms always use identical instructions. Run `make verify` to confirm no drift:\n\n```bash\nmake verify\n```\n\nThis checks that the symlink is valid, frontmatter is present, MCP configs match, and the server responds.\n","readmeFilename":"README.md"}