Infrawise
Officialby Infrawise
README.md
# @infrawise/mcp-server
Claude Code MCP server for Infrawise Azure FinOps recommendations.
## What it provides
Tools exposed to Claude Code:
- `get_idle_resources` — idle/zombie resources to delete or deallocate
- `get_sku_optimizations` — rightsizing recommendations for overprovisioned resources
- `get_general_recommendations` — purchasing model and licensing optimizations
- `get_savings_summary` — aggregated savings totals across all categories
All tools accept an optional `subscription_filter` (subscription UUID) to scope results.
## Quickstart
```bash
npx @infrawise/mcp-server@latest setup
```
That's it. `setup` opens your browser for Azure sign-in, registers the MCP server with Claude Code, and confirms everything is working. Restart Claude Code when it completes.
**Prerequisite:** You need an active Infrawise account with at least one Azure subscription onboarded. [Complete onboarding →](https://infrawiseai.com/onboard)
## Useful commands
```bash
# Re-authenticate only (e.g. after switching accounts) — opens browser
npx @infrawise/mcp-server@latest auth
# Pin a specific tenant
npx @infrawise/mcp-server@latest auth --tenant <tenantId>
# Diagnose auth and onboarding issues with fix steps
npx @infrawise/mcp-server@latest doctor
# Check that the MCP server is registered
claude mcp list
```
## Switching accounts
Delete the cached credentials and re-authenticate:
```bash
# macOS / Linux
rm ~/.infrawise/mcp-credentials.json
# Windows (PowerShell)
Remove-Item "$env:USERPROFILE\.infrawise\mcp-credentials.json"
npx @infrawise/mcp-server@latest auth
```
## Local development
```bash
cd packages/claude-mcp
npm install
npm run build
node dist/index.js setup # or auth / doctor
```
## Publishing a new version
```bash
cd packages/claude-mcp
npm version patch # or minor / major
npm publish --access public
```
`prepublishOnly` runs `clean && build` automatically. Verify after publishing:
```bash
npm view @infrawise/mcp-server version
```
Existing users re-run `npx @infrawise/mcp-server@latest setup` to pick up the new version — no config clearing or MCP re-registration needed.
## Environment variables
| Variable | Default | Purpose |
|---|---|---|
| `INFRAWISE_API_BASE` | `https://api.infrawiseai.com/api` | Backend base URL |
| `INFRAWISE_AZURE_CLIENT_ID` | `9d7c8230-3c1d-4a81-80cb-98f5cb40d2e7` | Public client app the CLI signs in as |
| `INFRAWISE_AZURE_API_SCOPE` | `api://06dc6d06-11f1-4543-bb2c-9c91b263df56/delegated_access` | Token scope (the Infrawise API audience) |
| `INFRAWISE_AZURE_AUTHORITY` | `https://login.microsoftonline.com/common` | MSAL authority |
| `INFRAWISE_AZURE_TENANT_ID` | _(unset)_ | Optional tenant override; builds authority URL automatically |
## Security
- Token cache stored at `~/.infrawise/mcp-credentials.json`
- Written with `0600` mode (best effort on Windows)
- Read-only server — all calls are GET only
TDQS
A3.7/5.0
Scored across 4 tools
Disambiguation5/5
Each tool targets a distinct aspect of cost optimization: general recommendations, idle resources, savings summary, and SKU optimizations. No overlap exists.
Naming Consistency5/5
All tools follow a consistent 'get_<noun_phrase>' pattern, making them predictable and easy to distinguish.
Tool Count5/5
With 4 tools covering the core categories of cost optimization (recommendations, idle resources, SKU, summary), the count is well-scoped for the domain.
Completeness4/5
The set covers retrieval of all major cost-saving categories, but lacks tools for taking actions (e.g., applying recommendations) or drilling into historical data, which are minor gaps.
Maintenance
ActivityStale
ResponsivenessNo issues