agentbill-mcp
AgentBill
A preflight gate for AI agent runs. Stop runaway loops before they start.
Budget exceeded? GPU quota hit? Free tier exhausted? AgentBill blocks the run before the first token — not after the damage is done.
Works whether you're paying OpenAI per token or running your own GPU.
![]()
$ python run_agent.py
[AgentBill] preflight check... BLOCKED
reason: free_tier_exceeded (1000/1000 calls used)
upgrade: https://agentbill.fly.dev/upgrade
Agent did not run. $0 spent.vs. without AgentBill:
$ python run_agent.py
[OpenAI] Running research loop...
... 3 hours later ...
[OpenAI] $47.82 charged"The moment you're using Stripe as your safety net, you've already lost the run." — scarlett1908, r/LangChain
Install
Python:
pip install agentbill-sdkNode.js:
npm install agentbillRelated MCP server: AgentPay
Quick Start
from agentbill import AgentBillClient
client = AgentBillClient(api_key="agb_your_key")
check = client.preflight(agent_id="researcher", estimated_units=10)
if not check.approved:
raise Exception(f"Blocked: {check.reason}")
# run your agent here
client.record(agent_id="researcher", units=10)Get your API key: https://agentbill.fly.dev/register
What it does
Preflight. Before the agent runs, AgentBill checks: does this customer have enough budget? If not, block it before any compute is consumed.
Per-request ceiling. Monthly caps do not catch the bad single run. One 3-hour research loop can blow your budget before the cap triggers. AgentBill enforces a ceiling at the invocation level.
Outcome-based metering. You define what counts as a billable event. Not bytes, not seconds. The business-level action the agent performed.
Free tier
1,000 preflight calls/month. No credit card required.
When to use AgentBill
Add billing to a LangChain agent — wrap any chain with
preflight()+record(). Two calls.Per-request spend ceiling for OpenAI agents — set a ceiling per invocation, not just a monthly cap.
Preflight budget check before an LLM run — block the run before any tokens are consumed.
Agent cost control in Python or Node.js — SDK available for both.
Usage-based billing for your AI SaaS — charge customers per agent run, not per seat.
What it does NOT do
Multi-step workflows with state machines or reversal logic (out of scope)
Replace your payment processor (AgentBill sits in front of it)
No-code dashboard for non-developers
Why not Stripe
Stripe | AgentBill | |
Preflight block | No | Yes |
Per-request ceiling | No | Yes |
Blocks before compute | No | Yes |
Built for agents | No | Yes |
MCP Server
AgentBill ships an MCP server for native integration with Claude Code, Cursor, Windsurf, and any MCP-compatible agent host.
uvx agentbill-mcpThe MCP server exposes two tools:
preflight(agent_id, customer_id, estimated_units, ceiling)— check budget before running. Blocks if exhausted.record_event(agent_id, units, customer_id, metadata)— bill after work completes.
Configure in ~/.claude/settings.json:
{
"mcpServers": {
"agentbill": {
"command": "uvx",
"args": ["agentbill-mcp"],
"env": { "AGENTBILL_API_KEY": "sk_live_..." }
}
}
}Source: mcp/ | PyPI: agentbill-mcp
Tech Stack
Layer | Technology |
Backend API | Node.js 20, TypeScript, Fastify |
Deployment | Fly.io, Docker |
Billing | Polar |
Python SDK |
|
Node.js SDK |
|
MCP Server |
|
Local Dev
Prerequisites: Node.js 20+, Python 3.10+
git clone https://github.com/marketinglior-pixel/agentbill.git
cd agentbill
npm install
cp .env.example .env # fill in POLAR_API_KEY and friends
npm run dev # API listens on http://localhost:3000Run the smoke test suite (requires the dev server running):
./test_live.shContributing
Contributions are welcome. See CONTRIBUTING.md for setup instructions, code style, and how to open a PR.
Looking for something to work on? Check the good first issue label.
Star this repo
If per-request ceilings are what you needed, star this. It helps other developers find it.
This server cannot be installed
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/marketinglior-pixel/agentbill'
If you have feedback or need assistance with the MCP directory API, please join our Discord server