@moniiapp/mcp
v0.1.0
Published
MONII MCP server — exposes Vercel + Netlify billing, logs, and the kill switch to Claude Desktop, Cursor, and any other MCP-speaking AI agent
Maintainers
Readme
@moniiapp/mcp
The MONII Model Context Protocol server. Exposes Vercel + Netlify billing, logs, and the kill switch to any MCP-speaking AI agent — Claude Desktop, Cursor, Continue, anything that supports the protocol.
It uses the same ~/.monii/auth.json file the
@moniiapp/cli writes when
you run monii login. No extra auth setup beyond that.
Install
The MCP server runs via npx on demand — no global install required.
Just point your MCP client at it.
Claude Desktop
Edit ~/.config/claude/mcp.json (macOS / Linux) or
%APPDATA%\Claude\mcp.json (Windows):
{
"mcpServers": {
"monii": {
"command": "npx",
"args": ["-y", "@moniiapp/mcp"]
}
}
}Restart Claude Desktop. Three new tools appear in any conversation:
monii_get_billing_status, monii_read_unified_logs,
monii_trigger_kill_switch.
Cursor / Continue / other MCP clients
Point your client's MCP config at the same command + args. The
server speaks stdio MCP via @modelcontextprotocol/sdk, so any
compliant client works.
Prerequisite — auth file
The MCP server reads ~/.monii/auth.json. Get one by running:
npm install -g @moniiapp/cli
monii loginThe CLI walks you through connecting Vercel and Netlify, auto-detecting
any existing CLI sessions on your machine, and writes the auth file
with 0600 permissions.
If ~/.monii/auth.json is missing when an MCP tool is called, the
server raises a clear error pointing you back at monii login.
Tools
monii_get_billing_status
Returns Vercel and/or Netlify usage versus plan limits — bandwidth, build minutes, edge invocations — for the current billing period.
{
provider?: "vercel" | "netlify" | "all" // defaults to "all"
teamId?: string // optional Vercel team id
}monii_read_unified_logs
Fetches the latest deploy log for a project on either provider. Up to
500 lines, default 200. Vercel uses the /v2/deployments/:id/events
endpoint; Netlify uses /deploys/:id/log.
{
projectId: string // project / site id or name
provider: "vercel" | "netlify"
limit?: number // 1–500, default 200
}monii_trigger_kill_switch
Takes a project offline immediately. Vercel: calls the project pause
endpoint. Netlify: sets the site password to monii-killed-{timestamp}.
Both reversible from the provider's dashboard.
{
projectId: string
provider: "vercel" | "netlify"
teamId?: string // optional Vercel team id
}Safety note for AI agents: this is a destructive operation that stops live traffic. The MCP server itself doesn't add a confirmation step — your agent / client is expected to ask the user before calling this tool. Claude Desktop's tool-use approval flow handles that automatically; if you're embedding this elsewhere, make sure your UI surfaces the consequence and gets explicit consent.
Data privacy
- The server runs locally on the user's machine and talks directly to Vercel / Netlify APIs over HTTPS. Nothing routes through MONII servers.
- The auth file is the only persistent state. It lives in
~/.monii/with0600permissions (owner-only read). - No telemetry. No request logging beyond what the AI client itself captures.
Versioning
Semver-compliant. Breaking changes to tool names or schemas only happen on major version bumps. Tool input schemas use JSON Schema + Zod for runtime validation.
License
MIT. See LICENSE.
Links
- App + docs: getmonii.com
- iOS app: on the App Store
- Sibling CLI:
@moniiapp/cli - Source: github.com/randomershenans/MONII
