Skip to main content
Glama

AgentGuard

Stop runaway agents before they burn money.

Zero-dependency Python kill switch for AI agents. Hard budget caps. Loop detection. Local traces. MIT.

PyPI Downloads Python CI License: MIT

pip install agentguard47

Getting started

1. Install and verify

pip install agentguard47
agentguard doctor   # package ok?
agentguard demo     # offline proof (no API keys)

2. Guard an OpenAI client

from agentguard import BudgetGuard, LoopGuard, Tracer, patch_openai

budget = BudgetGuard(max_cost_usd=5.00, warn_at_pct=0.8)
loop = LoopGuard(max_repeats=3)
tracer = Tracer(service="my-agent", guards=[loop])

patch_openai(tracer, budget_guard=budget)
# every OpenAI call is now traced + budget-enforced

When spend crosses the hard limit, BudgetExceeded is raised and the run stops.

3. Cap a single task

Session budget can still have headroom. One goal can still be killed:

with budget.goal("refund", max_cost_usd=0.50, warn_at_pct=0.8) as g:
    g.attempt()
    budget.consume(cost_usd=0.12)
    # BudgetExceeded names the goal when it crosses

4. Read the local proof

agentguard report .agentguard/traces.jsonl
agentguard incident .agentguard/traces.jsonl

Or scaffold a starter file:

agentguard quickstart --framework raw --write
python agentguard_raw_quickstart.py

Related MCP server: Langfuse MCP Server

What it stops

Problem

Guard

Exception

Spend blowup

BudgetGuard

BudgetExceeded

Same tool forever

LoopGuard

LoopDetected

Fuzzy / A-B-A-B loops

FuzzyLoopGuard

LoopDetected

Retry storms

RetryGuard

RetryLimitExceeded

Hung runs

TimeoutGuard

TimeoutExceeded

Spam calls

RateLimitGuard

Not a dashboard. Not a model router. An in-process exception that kills the bad run mid-flight.

Features

  • Hard stops — exceptions inside your process, not after-the-fact alerts

  • Task-level budgetsBudgetGuard.goal(...) for sub-task caps + warn hooks

  • Local traces — JSONL by default; no network unless you opt in

  • Zero deps — stdlib only; Python 3.9+

  • Provider patchespatch_openai / patch_anthropic

  • Framework hooks — LangChain, LangGraph, CrewAI (optional extras)

Local by default

  • No API key required for local proof

  • No network unless you configure HttpSink

  • MIT licensed

The SDK is the free local proof path. Start local. Add hosted ingest later only if you want retained history, alerts, team visibility, spend trends, hosted decision history, or dashboard-managed remote kill signals. Local guards remain authoritative. HttpSink mirrors trace and decision events; it does not execute remote kill signals by itself.

Integrations

OpenAI · Anthropic · LangChain · LangGraph · CrewAI · raw agent loops

pip install "agentguard47[langchain]"   # optional extras as needed

Docs


MIT · Built for people who ship agents and hate surprise bills.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
23hResponse time
1wRelease cycle
14Releases (12mo)
Commit activity
Issues opened vs closed

Latest Blog Posts

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/bmdhodl/agent47'

If you have feedback or need assistance with the MCP directory API, please join our Discord server