CCM
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
eren-solutions avatar

Agent Guardrail MCP Server

eren-solutions/agent-guardrail
6 toolsSTDIOregistry active
Summary

This is a policy enforcement layer that sits between your AI agent framework and the actions it wants to take. Instead of filtering LLM outputs, it evaluates every tool call, shell command, or API request against allowlists, denylists, and spend caps before execution. You get a Python library with a PolicyEngine for LangChain, CrewAI, or custom agents, plus an optional HTTP proxy for multi-agent orchestrators. Every action gets logged to a SQLite flight recorder with full replay capability. Ships with three policy templates (restrictive, moderate, permissive) and includes automatic risk scoring. The hosted API mode adds metered billing via Bitcoin for agent-to-agent governance scenarios. Reach for this when you need runtime control over what agents can actually do, not just what they say.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
ego lite browserego lite browser
ego lite browser
Fastest browser for AI agents to run web automation tasks, always free.
Download Free life-time →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
inference shell
inference shell
create and run specialised agents in minutes
build now →
CodeHealth MCP ServerCodeHealth MCP Server
CodeHealth MCP Server
Protect your code quality, stop the AI slop.
Try For Free →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
ego lite browserego lite browser
ego lite browser
Fastest browser for AI agents to run web automation tasks, always free.
Download Free life-time →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
inference shell
inference shell
create and run specialised agents in minutes
build now →
CodeHealth MCP ServerCodeHealth MCP Server
CodeHealth MCP Server
Protect your code quality, stop the AI slop.
Try For Free →

Tools

Public tool metadata for what this MCP can expose to an agent.

6 tools
evaluate_actionEvaluate whether an agent action is allowed by the guardrail policy. Call this BEFORE executing any tool, shell command, or HTTP request.5 params

Evaluate whether an agent action is allowed by the guardrail policy. Call this BEFORE executing any tool, shell command, or HTTP request.

Parameters* required
action_typestring
Category of action: tool_call, shell, http, file_read, file_write, database, api_call.
agent_idstring
Unique identifier of the agent. Must be registered first via register_agent.
cost_usdnumber
Estimated cost in USD for spend tracking and budget enforcement.default: 0
targetstring
Target resource path or URL, e.g. /etc/passwd, https://api.example.com.default:
tool_namestring
Name of the tool being invoked, e.g. bash, write_file, curl.default:
register_agentRegister a new agent with the guardrail system. Must be called before evaluate_action.3 params

Register a new agent with the guardrail system. Must be called before evaluate_action.

Parameters* required
descriptionstring
Short description of what this agent does.default:
frameworkstring
Agent framework: langchain, autogen, crewai, claude-code.default:
namestring
Human-readable name for the agent, e.g. code-reviewer, data-analyst.
list_agentsList all agents currently registered in the guardrail system. Shows active and killed agents. Returns: Array of agent records with fields: id, name, framework, description, status, created_at.

List all agents currently registered in the guardrail system. Shows active and killed agents. Returns: Array of agent records with fields: id, name, framework, description, status, created_at.

No parameter schema in public metadata yet.

get_statsRetrieve aggregate statistics from the guardrail system including evaluation counts, policy data, and agent metrics. Returns: Statistics object with fields: total_evaluations, allowed_count, denied_count, agent_count, policy_count.

Retrieve aggregate statistics from the guardrail system including evaluation counts, policy data, and agent metrics. Returns: Statistics object with fields: total_evaluations, allowed_count, denied_count, agent_count, policy_count.

No parameter schema in public metadata yet.

kill_agentEmergency kill-switch: immediately block ALL actions for an agent. Use when an agent is misbehaving or compromised.1 params

Emergency kill-switch: immediately block ALL actions for an agent. Use when an agent is misbehaving or compromised.

Parameters* required
agent_idstring
Unique identifier of the agent to kill. All subsequent actions will be denied.
unkill_agentRe-enable a previously killed agent, restoring its ability to have actions evaluated.1 params

Re-enable a previously killed agent, restoring its ability to have actions evaluated.

Parameters* required
agent_idstring
Unique identifier of the agent to reactivate.

Agent Guardrail

Action-level governance for AI agents — control what they DO, not what they SAY.

PyPI License: MIT Python 3.10+


The Problem

AI agents are getting tool access. They can run shell commands, make API calls, read files, spend money. But most "guardrails" only filter what agents say — not what they do.

Real incidents:

  • AutoGPT autonomously spent $10K+ on API calls in a single session
  • ChaosGPT attempted to access military systems and recruit other AI agents
  • Air Canada chatbot invented a refund policy that cost the airline $800+

You need action-level control. Not output filtering.

What Agent Guardrail Does

Agent Framework --> Agent Guardrail --> {allow, deny, require_approval}
                                    --> Flight Recorder logs everything
  • Policy Engine — allowlists, denylists, glob patterns for tools and targets
  • Spend Caps — daily and total USD limits per agent
  • Kill Switch — instantly deny all actions for a runaway agent
  • Flight Recorder — every action logged with full replay capability
  • Approval Gates — route risky actions to human review
  • Risk Scoring — automatic risk assessment per action type
  • 3 Templates — restrictive, moderate, permissive (apply in one command)
  • Pay-per-eval Billing — free tier + BTC credit packs via Blockonomics

Zero dependencies. Python stdlib only. SQLite for storage.

30-Second Quickstart

pip install agent-guardrail

# Register an agent
agent-guardrail register "my-research-agent" --framework langchain

# Apply the moderate policy template
agent-guardrail apply-template moderate <agent-id>

# Test it
agent-guardrail eval <agent-id> bash --target /workspace/test.sh     # -> allow
agent-guardrail eval <agent-id> bash --target /etc/shadow             # -> deny
agent-guardrail eval <agent-id> sudo                                  # -> deny

Python API

from agent_guardrail import GuardrailStore, PolicyEngine, DEFAULT_POLICIES

# Initialize
store = GuardrailStore()  # ~/.agent-guardrail/guardrail.db
engine = PolicyEngine(store)

# Register agent
agent = store.register_agent("my-agent", framework="langchain")

# Apply policy template
store.save_policy({
    "name": "moderate",
    "agent_id": agent["id"],
    "rules": DEFAULT_POLICIES["moderate"]["rules"],
})

# Evaluate actions
decision = engine.evaluate(agent["id"], "bash", target="/workspace/run.sh")
# -> PolicyDecision(decision="allow", risk_score=0.7)

decision = engine.evaluate(agent["id"], "bash", target="/etc/shadow")
# -> PolicyDecision(decision="deny", reason="Target '/etc/shadow' is denied...")

# Evaluate + record to flight recorder
decision = engine.evaluate_and_record(
    agent_id=agent["id"],
    action_type="api_call",
    tool_name="openai_chat",
    cost_usd=0.05,
    session_id="session-123",
)

Framework Integrations

LangChain Callback

from agent_guardrail import GuardrailStore, PolicyEngine

class GuardrailCallback:
    """Drop into any LangChain agent as a callback handler."""
    def __init__(self, agent_id, db_path=None):
        self._engine = PolicyEngine(GuardrailStore(db_path=db_path))
        self.agent_id = agent_id

    def on_tool_start(self, serialized, input_str, **kwargs):
        decision = self._engine.evaluate_and_record(
            agent_id=self.agent_id,
            action_type="tool_call",
            tool_name=serialized.get("name"),
            target=input_str[:200],
        )
        if decision.decision == "deny":
            raise PermissionError(f"Guardrail: {decision.reason}")

CrewAI Task Guardrail

from agent_guardrail import GuardrailStore, PolicyEngine

def make_guardrail(agent_id, db_path=None):
    engine = PolicyEngine(GuardrailStore(db_path=db_path))

    def check(task_output):
        decision = engine.evaluate_and_record(
            agent_id=agent_id, action_type="task_output",
            target=str(task_output)[:200],
        )
        if decision.decision == "deny":
            return (False, f"Blocked: {decision.reason}")
        return (True, task_output)
    return check

# task = Task(description="...", guardrail=make_guardrail("agent-id"))

Universal Decorator

from agent_guardrail import GuardrailStore, PolicyEngine
import functools

def guardrail(agent_id, action_type="function_call", db_path=None):
    engine = PolicyEngine(GuardrailStore(db_path=db_path))
    def decorator(func):
        @functools.wraps(func)
        def wrapper(*args, **kwargs):
            target = str(args[0])[:200] if args else None
            decision = engine.evaluate_and_record(
                agent_id=agent_id, action_type=action_type,
                tool_name=func.__name__, target=target,
            )
            if decision.decision == "deny":
                raise PermissionError(f"Guardrail: {decision.reason}")
            return func(*args, **kwargs)
        return wrapper
    return decorator

@guardrail("my-agent", action_type="bash")
def run_command(cmd):
    ...

Hosted API (For Agents)

The library is for humans. The API is for agents.

An orchestrator running 5 sub-agents doesn't pip install — it calls an endpoint.

# Start the proxy server
pip install agent-guardrail[proxy]
guardrail-proxy --port 8300 --admin-key YOUR_ADMIN_KEY
# Register an agent (admin)
curl -X POST http://localhost:8300/v1/agents \
  -H "X-Admin-Key: YOUR_ADMIN_KEY" \
  -d '{"name": "research-agent", "framework": "crewai"}'

# Evaluate an action (agent)
curl -X POST http://localhost:8300/v1/evaluate \
  -H "X-API-Key: gw_agent_key_here" \
  -d '{
    "agent_id": "...",
    "action_type": "bash",
    "tool_name": "shell",
    "target": "/etc/shadow",
    "cost_usd": 0.0
  }'
# -> {"decision": "deny", "reason": "Target denied...", "risk_score": 0.7}

Full API docs at http://localhost:8300/docs (Swagger UI).

Billing & Pricing

Free tier included. Pay with Bitcoin when you need more.

TierEvaluationsPricePer Eval
Free100/day per agent$0$0
Starter1,000$10$0.010
Growth5,000$40$0.008
Scale25,000$150$0.006

Credits are prepaid and never expire. Admin-authenticated requests bypass billing entirely.

How it works:

# Check your balance
curl http://localhost:8300/v1/billing/balance \
  -H "X-API-Key: gw_your_agent_key"

# Buy credits (returns a BTC address + amount)
curl -X POST http://localhost:8300/v1/billing/checkout \
  -H "X-API-Key: gw_your_agent_key" \
  -d '{"pack_id": "pack_1000"}'
# -> {"btc_address": "bc1q...", "amount_btc": 0.00015, "amount_satoshi": 15000, ...}

# Pay the BTC address -> webhook confirms -> credits granted automatically

When free tier is exhausted and no credits remain, /v1/evaluate returns 402 Payment Required with a link to available packs.

Self-hosted billing: Set BLOCKONOMICS_API_KEY and BLOCKONOMICS_WEBHOOK_SECRET environment variables. Without these, billing is disabled and all evaluations proceed without metering (backward compatible).

Policy Rules Reference

{
    "tool_allowlist": ["read_file", "write_file"],    # Only these tools allowed
    "tool_denylist": ["sudo", "rm", "delete*"],       # These tools always denied
    "target_allowlist": ["/workspace/*"],              # Only these targets allowed
    "target_denylist": ["/etc/*", "*.env", "*.key"],   # These targets always denied
    "network_allowlist": ["api.openai.com"],           # Allowed network targets
    "network_denylist": ["*"],                         # Denied network targets
    "spend_cap_daily_usd": 25.0,                      # Daily spend limit
    "spend_cap_total_usd": 500.0,                     # Lifetime spend limit
    "require_approval": ["bash", "install"],           # Human approval required
    "risk_threshold": 0.8,                             # Auto-approval gate
}

Patterns support glob matching (*, ?, [abc]).

Decision Flow

Kill switch? ──deny──> DENY
      |
Agent enabled? ──no──> DENY
      |
Spend cap? ──exceeded──> DENY
      |
Tool denylist? ──match──> DENY
      |
Target denylist? ──match──> DENY
      |
Approval required? ──match──> REQUIRE_APPROVAL
      |
Risk threshold? ──exceeded──> REQUIRE_APPROVAL
      |
Tool allowlist? ──not in list──> DENY
      |
Target allowlist? ──not in list──> DENY
      |
DEFAULT ──> ALLOW

Architecture

+-------------------+     +------------------+     +-----------------+
|  Agent Framework  |---->|  Billing Check   |---->|  Policy Engine  |
|  (LangChain,     |     |  (free tier /    |     |  (evaluate)     |
|   CrewAI, custom) |     |   credits)       |     +-----------------+
+-------------------+     +------------------+            |
                                 |                        v
                                 |           +------------------------+
                          402 if empty       |  Decision:             |
                                             |  allow / deny /        |
                                             |  require_approval      |
                                             +------------------------+
                                                         |
                                                         v
                                             +-----------------+
                                             |  Flight Recorder|
                                             |  (SQLite)       |
                                             +-----------------+

+-------------------+     +------------------+
|  BTC Payment      |---->|  Blockonomics    |
|  (checkout)       |     |  (xpub-derived   |
+-------------------+     |   addresses)     |
                          +------------------+
                                 |
                          webhook (status=2)
                                 |
                                 v
                          +------------------+
                          |  Credit Grant    |
                          |  (billing_ledger)|
                          +------------------+

Comparison

FeatureAgent GuardrailGuardrails AINeMo GuardrailsDIY
Action-level controlYesNo (output only)No (dialogue only)Manual
Spend capsYesNoNoManual
Kill switchYesNoNoManual
Flight recorderYesNoNoManual
Pay-per-eval billingYes (BTC)NoNoManual
Zero dependenciesYesNo (many)No (many)Varies
Framework agnosticYesLangChain-focusedLangChain-focusedYes
Hosted APIYesCloud onlyNoManual

CLI Reference

agent-guardrail agents                      # List registered agents
agent-guardrail register "name"             # Register a new agent
agent-guardrail kill <agent_id>             # Emergency kill switch
agent-guardrail unkill <agent_id>           # Revoke kill switch
agent-guardrail policies                    # List policies
agent-guardrail apply-template <template> <agent_id>
agent-guardrail actions [--agent X] [--decision deny]
agent-guardrail replay <session_id>         # Session replay
agent-guardrail approvals                   # Pending approvals
agent-guardrail approve <id>                # Approve action
agent-guardrail deny <id>                   # Deny action
agent-guardrail eval <agent_id> <type> [--target X] [--cost 0.5]
agent-guardrail stats                       # Statistics

Configuration

VariableDefaultPurpose
GUARDRAIL_DB~/.agent-guardrail/guardrail.dbSQLite database path
GUARDRAIL_LOG_DIR~/.agent-guardrail/logsCLI log directory
GUARDRAIL_ADMIN_KEY(none)Admin API key for proxy
BLOCKONOMICS_API_KEY(none)Blockonomics Store API key (enables billing)
BLOCKONOMICS_WEBHOOK_SECRET(none)Secret for webhook verification
GUARDRAIL_BILLING_ENABLEDtrueSet false to disable billing even with API key

License

MIT

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
ego lite browserego lite browser
ego lite browser
Fastest browser for AI agents to run web automation tasks, always free.
Download Free life-time →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
inference shell
inference shell
create and run specialised agents in minutes
build now →
CodeHealth MCP ServerCodeHealth MCP Server
CodeHealth MCP Server
Protect your code quality, stop the AI slop.
Try For Free →
Categories
AI & LLM Tools
Registryactive
Packageagent-guardrail
TransportSTDIO
UpdatedMar 14, 2026
View on GitHub

More from eren-solutions

  • Security Auditor
  • Security Auditor
  • Report Needs
  • Report Needs

Related AI & LLM Tools MCP Servers

View all →
fcfrasca avatar
agent-canvas-arena

fcfrasca/agent-canvas-arena

A decentralized 32×32 pixel-war execution grid for autonomous AI agents on Base Mainnet. Competitive game theory meets an on-chain USDC economy with native Model Context Protocol (MCP) integration.
fcfrasca avatar
agent-canvas-arena

fcfrasca/agent-canvas-arena-782a1cb0

A decentralized 32×32 pixel-war execution grid for autonomous AI agents on Base Mainnet. Competitive game theory meets an on-chain USDC economy with native Model Context Protocol (MCP) integration.
heather-macavelia avatar
ai-agent-index

heather-macavelia/ai-agent-index

Search and retrieve structured data on AI agents for business automation. Filter by category, pricing, integration, and capability. Updated daily.
huggingface avatar
Hugging Face

huggingface

AI model hub for machine learning. Discover models, explore datasets, and access model documentation and capabilities.
hustada avatar
Collective Memory

hustada/collective-memory

MCP server for persistent, semantic memory across AI sessions
info.blocksize.mcp avatar
Agentic Payments

info.blocksize.mcp/agentic-payments

Public MCP discovery for Blocksize market data, pricing, and docs.