MCP
MCP Overview
A remote MCP server over your cloud spend, savings backlog, and realized savings. Most tools read; the rest record a decision. Connect by signing in, no key to copy.
LevelFour runs a remote Model Context Protocol server at https://mcp.levelfour.ai/mcp. Point Claude Code, Claude, Cursor, VS Code, Windsurf or any other MCP client at it, and the model can read your cloud spend, the savings opportunities LevelFour has found, and what you have already booked. It serves the same data as the dashboard and the REST API, shaped so a model can ask for it in one call instead of five.
Connect
Add the server
claude mcp add --transport http levelfour https://mcp.levelfour.ai/mcpType the URL exactly as written, path included. A client that sends the bare host or a trailing slash will not match what the server advertises.
Sign in
Run /mcp inside Claude Code and choose Authenticate. Your browser opens the LevelFour approval screen, you sign in with the account you already have, and you approve the connection for one organization.
No key is copied and nothing lands in a config file. The token expires in an hour, refreshes on its own, and works at this server and nowhere else.
Read Approving a connection before you click through it.
Confirm it worked
Ask your client to call get-identity:
{ "plan": "enterprise", "enabled_providers": ["aws"], "executions_remaining": 12, "days_remaining": 30 }If no tools appear at all, restart the client. Most read their MCP config once at startup.
Ask it something
Why did our AWS bill go up last month, and what can we do about it?
Ask it this has more that work as written, and the ones that do not.
l4 mcp install is the other way in. One command writes the server into every MCP client on the machine, across Claude Code, Claude Desktop, Cursor, VS Code and Windsurf. It installs an API key rather than signing you in, so reach for it when you want five clients wired at once, or when something runs unattended.The server
| Property | Value |
|---|---|
| Endpoint | https://mcp.levelfour.ai/mcp |
| Transport | Streamable HTTP, stateless |
| Authorization | OAuth 2.1 with PKCE, or a LevelFour API key in Authorization: Bearer |
| Issuer | https://mcp.levelfour.ai |
| Tools | Most read; the rest carry a savings from the decision to a rollout, define a virtual tag, or manage a cost alert, in LevelFour, never in your cloud. Tools lists every one |
| Prompts | 5 |
| Resources | 4 |
| Rows per call | 50 maximum |
Every tool resolves your organization from the credential, never from an argument. If you belong to two organizations, connect twice under different names and approve each separately.
What it answers
| Area | Tools |
|---|---|
| Spend | get-cost-summary, get-cost-breakdown, get-cost-series, get-cost-growth, get-usage-costs, get-cost-forecast |
| Spend by team | get-costs-by-tag, get-tag |
| Defining a virtual tag | preview-virtual-tag, create-virtual-tag, update-virtual-tag, delete-virtual-tag |
| Editing one of its configs | create-virtual-tag-config, update-virtual-tag-config, delete-virtual-tag-config, update-virtual-tag-config-order |
| Cost alerts | list-cost-alerts, list-cost-alert-events, get-cost-alert-suggestions, create-cost-alert, update-cost-alert, pause-cost-alert, delete-cost-alert |
| Savings opportunities | list-recommendations, get-recommendation, get-savings-overview, get-savings-potential |
| Deciding and delivering | decide-recommendation, set-implementation-method, get-savings-readiness, start-rollout |
| Applying it yourself | get-manual-instructions |
| Automated Savings access | get-savings-grant, create-savings-grant |
| Pull request delivery | connect-version-control, list-repositories |
| Approvals | list-approval-requests, release-rollout |
| Watching a rollout | get-implementation-status, get-execution-logs |
| Realized savings | get-savings-realized |
| Commitments | get-commitment-overview, list-commitments, get-commitment, get-commitment-utilization, get-commitment-coverage, get-commitment-renewal-plan, get-commitment-renewal-options, get-commitment-purchase-plan, get-commitment-savings-rate, list-commitment-contracts |
| Buying and renewing commitments | list-commitment-offerings, preview-commitment-purchase, create-commitment-purchase, update-commitment-purchase, create-commitment-renewal |
| Spikes | list-anomalies, update-anomaly-status |
| Context | get-identity, list-accounts |
The tools that write are spread across the rows above rather than gathered into one, because they no longer do one thing: a connection approved for changes can decide, choose how a change is delivered, clear what that format needs first, queue it, release a colleague's, close an anomaly, arm, change, silence or delete a cost alert, raise a commitment renewal or purchase, and define a virtual tag or edit one of its configs. None of them touches a cloud resource or buys anything: a raised renewal or purchase waits for an organization admin to release it. The tag tools change only how LevelFour allocates spend in its own reports. See Approving a connection.
Alongside the tools the server ships 5 prompts and 4 resources. The prompts encode a full analysis in order, with the mistakes a model reliably makes already corrected. The resources tell a model which services, accounts, tags and environments your data actually contains, so it stops guessing at filter values. See Prompts and resources.
Next
- Connecting a client covers Claude Code, Claude, Cursor, VS Code and Windsurf, and the two credentials
- Approving a connection is what the browser asks you, and when to refuse
- Tools is the generated reference, with every parameter, enum and default
- Reading a result is what comes back: the pagination envelope, truncation, limits and errors
- Ask it this has questions that work as written
- CLI has the write commands this server does not expose