Skip to main content
Glama
Infrawise

Infrawise

Official
by 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