Infrawise/mcp-server
📇 ☁️ 🍎 🪟 🐧 - Azure FinOps infrastructure cost optimization: idle resources, rightsizing, and Reserved Instance recommendations for Claude Code.
Quick Install
{
"mcpServers": {
"infrawise-mcp-server": {
"command": "npx",
"args": [
"-y",
"infrawise-mcp-server"
]
}
}
}Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.
Documentation Overview
@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 deallocateget_sku_optimizations— rightsizing recommendations for overprovisioned resourcesget_general_recommendations— purchasing model and licensing optimizationsget_savings_summary— aggregated savings totals across all categories
All tools accept an optional subscription_filter (subscription UUID) to scope results.
Quickstart
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 →
Useful commands
# 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:
# 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
cd packages/claude-mcp
npm install
npm run build
node dist/index.js setup # or auth / doctor
Publishing a new version
cd packages/claude-mcp
npm version patch # or minor / major
npm publish --access public
prepublishOnly runs clean && build automatically. Verify after publishing:
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
0600mode (best effort on Windows) - Read-only server — all calls are GET only