MCP Overview
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 | 31 tools. Most read; the rest carry a savings from the decision to a rollout, in LevelFour, never in your cloud |
| 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-costs-by-tag, get-usage-costs, get-cost-forecast |
| Savings opportunities | list-recommendations, get-recommendation, get-savings-overview, get-potential-savings |
| 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-realized-savings |
| Commitments | get-commitment-overview, list-commitments |
| Spikes | list-anomalies, update-anomaly-status |
| Context | get-identity, list-accounts |
The seven 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, and close an anomaly. None of them touches a cloud resource. 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