MONII Guides Check your Vercel bill from inside Claude Code
Guide · MCP

Check your Vercel bill from inside Claude Code

Your agent can deploy, retry and regenerate for an hour without you watching. Here is how to let it check what that cost.

An agent can run for an hour unattended — deploying, retrying, regenerating. A retry loop written by an agent bills exactly like one written by a human, except nobody is watching the terminal.

The tool that would let the agent check its own spending is the one that does not exist: Vercel's MCP server has no billing tool.

Here is how to add one.

Setup#

1. Install the CLI and authenticate.

npm install -g @moniiapp/cli
monii login

monii login walks through Vercel and Netlify, detects tokens already on the machine, and writes ~/.monii/auth.json with mode 0600. Nothing is transmitted anywhere except to the provider APIs.

2. Register the MCP server.

Claude Code:

claude mcp add monii -- npx -y @moniiapp/mcp

Or by config, for Claude Desktop, Cursor and anything else that speaks MCP:

{
  "mcpServers": {
    "monii": {
      "command": "npx",
      "args": ["-y", "@moniiapp/mcp"]
    }
  }
}

3. Ask it something.

> What have I spent on Vercel and Netlify this month, and which project is worst?

The three tools#

Tool What it does
monii_get_billing_status Current spend and usage across both providers
monii_read_unified_logs Build logs from Vercel and Netlify in one shape
monii_trigger_kill_switch Pause a project

monii_read_unified_logs is the underrated one. Normalising both providers' log formats means you can ask "why did the last deploy fail" without the agent needing to know which host it is on.

Things worth doing with it#

Before you walk away from a long agent session:

> Check current spend, then tell me if anything looks like it is climbing.

After a session that did a lot of deploying:

> Compare spend now against what you saw at the start of this session.

When a build fails:

> Read the logs for the last failed deploy and tell me what broke.
On giving an agent the kill switch

monii_trigger_kill_switch pauses a real project and takes a real site offline. Think about whether you want that in an autonomous loop.

The safer pattern is to let the agent read freely and require a human for the pause — most MCP clients let you approve individual tool calls. Read tools are cheap to be wrong about. Destructive ones are not.

Run it alongside Vercel's, not instead#

Vercel's official MCP server is better than ours at everything it covers, and it is official. Register both:

claude mcp add --transport http vercel https://mcp.vercel.com
claude mcp add monii -- npx -y @moniiapp/mcp

Vercel's for operating projects. MONII's for the money. They do not conflict.

The honest limitation#

This is a pull interface. The agent finds out when it asks, and if nobody asks, nobody knows.

For an alarm that fires without being asked, you need something running when your terminal is not — which is the iOS app with a threshold set. The MCP server is for when you are already at the keyboard. Different job.

Questions people actually ask

Why can't Vercel's own MCP server do this?

It has no billing tool. Its 33 tools cover docs, projects, deployments, logs and analytics — and four of them spend money, but none read spend.

Is the MONII MCP server free?

Yes. Both the CLI and the MCP server are free and open source. Paid features live in the iOS app.

Where are my tokens stored?

In ~/.monii/auth.json, written with mode 0600 by the CLI. The MCP server reads it locally. Tokens are only ever sent to the provider APIs.

Free and open source

The MONII CLI and MCP server are free, open source, and run locally against your own tokens. The iOS app is where the alerting lives.

Get MONII for iOS ›