Skip to main content

agentbill-mcp

One spend ceiling for one agent job, exposed as MCP tools. Bound to a task_ref you pass, not to a calendar month.

Remote or local

This package is the local server: it runs on your machine over stdio, with your API key in its environment. There is also a remote server at https://agentbill.dev/mcp, with a sign-in instead of a key for Claude, ChatGPT and other clients, and three more tools. Setup for each client is at agentbill.dev/integrations/mcp. The package's HTTP mode is for your own machine only; the hosted copy that once ran it was taken down on 2026-09-25.

What it does

Exposes two tools to any MCP-compatible agent host (Claude Code, Cursor, Windsurf, etc.):

  • preflight(agent_id, customer_id, estimated_units, ceiling, task_ref, task_ceiling, idempotency_key). Check budget before starting work; answers approved=False with a reason when a ceiling or balance is spent. Pass task_ref with a task_ceiling to give one job a single cross-call budget that every later call in the job consults, and idempotency_key so a retried check cannot reserve the budget twice.
  • record_event(agent_id, units, customer_id, metadata). Record what the work used against that customer's balance, after it completes. Idempotent.

Install

uvx agentbill-mcp

No install needed. uvx runs it directly.

Configure

Claude Code

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "agentbill": {
      "command": "uvx",
      "args": ["agentbill-mcp"],
      "env": {
        "AGENTBILL_API_KEY": "agb_your_key_here"
      }
    }
  }
}

Cursor / Windsurf / other MCP clients

Add to your MCP config:

{
  "agentbill": {
    "command": "uvx",
    "args": ["agentbill-mcp"],
    "env": {
      "AGENTBILL_API_KEY": "agb_your_key_here"
    }
  }
}

Get your API key at agentbill.dev/register.

Usage

Once configured, any agent using this MCP server can:

# Before running a task:
preflight(agent_id="research_agent", customer_id="user_123", estimated_units=5)

# After completing the task:
record_event(agent_id="research_agent", units=5, customer_id="user_123")

The server answers approved=False when the customer has no remaining balance, and the agent host decides what happens next. No code changes needed in your agent.

Environment variables

Variable Required Default Description
AGENTBILL_API_KEY Yes none Your AgentBill API key
AGENTBILL_BASE_URL No https://agentbill.dev Override for self-hosted. Must be https, or plain http to localhost, 127.0.0.1 or [::1] (since 0.3.0); anything else fails the tool call before a request is sent
MCP_TRANSPORT No stdio Set to http to serve streamable HTTP at /mcp instead of stdio
AGENTBILL_MCP_HOST No 127.0.0.1 HTTP mode only. Interface to bind
AGENTBILL_MCP_PORT No 8080 HTTP mode only. Port to bind
AGENTBILL_MCP_ALLOWED_HOSTS No none HTTP mode only. Extra Host header values to accept, comma separated (mcp.example.com,10.0.0.5:*)
AGENTBILL_MCP_ALLOWED_ORIGINS No none HTTP mode only. Extra Origin values to accept, comma separated

HTTP mode

MCP_TRANSPORT=http AGENTBILL_API_KEY=agb_your_key_here uvx agentbill-mcp

The server listens on 127.0.0.1:8080 and checks the Host and Origin headers of every request (DNS-rebinding protection). A web page open in your browser can reach loopback addresses, and this server holds your API key, so both defaults stay on unless you change them on purpose.

To serve on another interface, set the bind address and name the host names clients will use. Requests carrying any other Host header are answered with 421:

MCP_TRANSPORT=http \
AGENTBILL_MCP_HOST=0.0.0.0 \
AGENTBILL_MCP_ALLOWED_HOSTS=mcp.example.com \
AGENTBILL_API_KEY=agb_your_key_here \
uvx agentbill-mcp

Loopback host names are always accepted. There is no setting that turns the header checks off. Anyone who can reach an exposed port can spend the key in its environment, so put it behind your own authentication.

Release files for agentbill-mcp 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentbill-mcp 0.3.0
File Size Uploaded
agentbill_mcp-0.3.0.tar.gz 10.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentbill-mcp 0.3.0
File Interpreter ABI Platform
agentbill_mcp-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 18.6 kB

Release files / agentbill_mcp-0.3.0.tar.gz

Download URL agentbill_mcp-0.3.0.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
52a090e6655ee5cca6d4b9937a52af45c323e538c76b052b57f3c0f703b68543
BLAKE2b-256 checksum
How to use checksums
7ffcd41fc6845254b8268fd8ad9c19f128db830d3992074862fa98e1b2cc1932
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / agentbill_mcp-0.3.0-py3-none-any.whl

Download URL agentbill_mcp-0.3.0-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
12dbf74abdda5d2e0d1bb8e07c3cda7338a720bbbe583625789e8ca91798d589
BLAKE2b-256 checksum
How to use checksums
4894b7a6ed04057b64e0cd5448ee5bd06a341870e88c0d6ec9140bb5e014d087
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page