You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Runtime guardrails for AI agents — configurable, extensible, and production-ready.
4
-
icon: "house"
3
+
description: An open‑source control plane for centralized agent governance and guardrails.
5
4
---
6
5
7
6
<iframe
@@ -14,245 +13,50 @@ icon: "house"
14
13
allowFullScreen
15
14
></iframe>
16
15
17
-
**Agent Control** provides a policy-based control layer that sits between your AI agents and the outside world. It evaluates inputs and outputs against configurable rules, blocking harmful content, prompt injections, PII leakage, and other risks — all without changing your agent's code. It's fully open source--check out the **Agent Control**[repo](https://github.com/agentcontrol/agent-control).
16
+
**Agent Control** provides a centralized control layer that evaluates inputs and outputs against configurable rules to block harmful content, prompt injections, PII leakage, and more—without changing agent code.
18
17
19
-
## Why Do You Need It?
18
+
Choose your next step: follow the quickstart, explore examples, or head to the repo:
20
19
21
-
Traditional guardrails embedded inside your agent code have critical limitations:
22
-
23
-
-**Scattered Logic:** Control code is buried across your agent codebase, making it hard to audit or update
24
-
-**Deployment Overhead:** Changing protection rules requires code changes and redeployment
25
-
-**Limited Adaptability:** Hard-coded checks can't adapt to new attack patterns or production data variations
26
-
27
-
**Agent Control gives you runtime control over what your agents can and cannot do:**
28
-
29
-
-**For developers:** Centralize safety logic and adapt to emerging threats instantly without redeployment
30
-
-**For non-technical teams:** Intuitive UI to configure and monitor agent safety without touching code
31
-
-**For organizations:** Reusable policies across agents with comprehensive audit trails
32
-
33
-
34
-

35
-
36
-
37
-
## Get started
38
-
39
-
Protect your AI agent in 4 simple steps.
40
-
41
-
## Prerequisites
42
-
43
-
-**Python 3.12+**
44
-
45
-
-**Docker**
46
-
47
-
<Tip>
48
-
**Quick setup (no repo cloning required)** - Copy this into your terminal or directly paste into your coding agent to start the Agent Control server, UI:
49
-
50
-
```bash
51
-
curl -L https://raw.githubusercontent.com/agentcontrol/agent-control/refs/heads/main/docker-compose.yml | docker compose -f - up -d
52
-
```
53
-
54
-
Then, install sdk in your virtual env:
55
-
56
-
```bash
57
-
uv venv
58
-
source .venv/bin/activate
59
-
uv pip install agent-control-sdk
60
-
```
61
-
62
-
**What this does:**
63
-
64
-
- ✅ Starts Agent Control server at `http://localhost:8000`
65
-
- ✅ Starts UI dashboard at `http://localhost:8000`
66
-
- ✅ Installs Python SDK (`agent-control-sdk`)
67
-
68
-
**Next:** Jump to [Step 3: Register your agent](#step-3-register-your-agent)
69
-
70
-
</Tip>
71
-
72
-
73
-
**Alternatively**, for local development with the Agent Control repository, clone the repo and follow all steps below.
74
-
75
-
## Step 1: Start the Agent Control Server
76
-
77
-
Startup AgentControl server manually for local development.
# Start the Agent Control server (boots Postgres + runs migrations)
99
-
100
-
make server-run
101
-
102
-
# Start the UI (in a separate shell)
103
-
104
-
make ui-install
105
-
make ui-dev
106
-
```
107
-
108
-
-**Server runs at `http://localhost:8000`** ✅
109
-
110
-
-**UI runs at `http://localhost:4000`** ✅
111
-
112
-
> 💡 **Verify the server:** Open [http://localhost:8000/health](http://localhost:8000/health) — you should see `{"status": "healthy", "version": "..."}`.
113
-
114
-
## Step 2: Install the SDK
115
-
116
-
In your agent application project:
117
-
118
-
```bash
119
-
pip install agent-control-sdk
120
-
```
121
-
122
-
## Step 3: Register Your Agent
123
-
124
-
Agent must be registered with the server. You should also add `@control` decorator around tools and LLM call functions.
125
-
126
-
Here is a contrived example. Reference our [Examples](/examples/overview) for real world examples for specific frameworks.
127
-
128
-
```python
129
-
130
-
# my_agent.py
131
-
132
-
import asyncio
133
-
import agent_control
134
-
from agent_control import control, ControlViolationError
135
-
136
-
# Protect any function (like LLM calls)
137
-
138
-
@control()
139
-
asyncdefchat(message: str) -> str:
140
-
# In production: response = await LLM.ainvoke(message)
141
-
# For demo: simulate LLM that might leak sensitive data
142
-
if"test"in message.lower():
143
-
return"Your SSN is 123-45-6789"# Will be blocked!
144
-
returnf"Echo: {message}"
145
-
146
-
# Initialize your agent
147
-
148
-
agent_control.init(
149
-
agent_name="awesome_bot_3000", # Unique name
150
-
agent_description="My Chatbot",
151
-
)
152
-
153
-
asyncdefmain():
154
-
try:
155
-
print(await chat("test")) # ❌ Blocked
156
-
except ControlViolationError as e:
157
-
print(f"❌ Blocked: {e.control_name}")
158
-
159
-
asyncio.run(main())
160
-
```
161
-
162
-
## Step 4: Add Controls
163
-
164
-
The easiest way to add controls is through the UI — see the [UI Quickstart](/core/ui-quickstart) for a step-by-step guide. Alternatively, use the SDK as shown below or call the API directly.
165
-
166
-
Run following setup script to create controls to protect your agent.
167
-
168
-
```python
169
-
# setup.py - Run once to configure agent controls
170
-
171
-
import asyncio
172
-
from datetime import datetime, UTC
173
-
from agent_control import AgentControlClient, controls, agents
174
-
from agent_control_models import Agent
175
-
176
-
asyncdefsetup():
177
-
asyncwith AgentControlClient() as client: # Defaults to localhost:8000
<Cardtitle="Agent Control Repo"icon="github"href="https://github.com/agentcontrol/agent-control">
31
+
Browse the source, contribute, or star the project.
32
+
</Card>
215
33
216
-
> [!NOTE]
217
-
> **Authentication Note:** Authentication is disabled by default in the server .env (`AGENT_CONTROL_API_KEY_ENABLED=false`). If you enable it, this setup script needs an admin API key because it creates a control and attaches it to an agent. `agents.register_agent()` accepts a regular or admin key, but `controls.create_control()` and `agents.add_agent_control()` require a key listed in `AGENT_CONTROL_ADMIN_API_KEYS`.
218
-
>
219
-
> In the example .env, the placeholders are:
220
-
>
221
-
> -**Regular API key(s):**`AGENT_CONTROL_API_KEYS` (e.g., "my-ui-key")
222
-
> -**Admin API key(s):**`AGENT_CONTROL_ADMIN_API_KEYS` (e.g., "my-admin-key")
223
-
>
224
-
> **Replace these defaults before any shared or production deployment.**
Traditional guardrails embedded inside your agent code have critical limitations:
231
39
40
+
-**Scattered Logic:** Control code is buried across your agent codebase, making it hard to audit or update
41
+
-**Deployment Overhead:** Changing protection rules requires code changes and redeployment
42
+
-**Limited Adaptability:** Hard-coded checks can’t adapt to new attack patterns or production data variations
232
43
233
-
Now, run your agent code.
44
+
**Agent Control gives you runtime control over what your agents can and cannot do:**
234
45
235
-
**🎉 Done!** Your agent now blocks SSN patterns automatically.
46
+
-**For developers:** Centralize safety logic and adapt to emerging threats without redeployment
47
+
-**For non-technical teams:** Configure and monitor agent safety without touching code
48
+
-**For organizations:** Reuse controls across agents with audit-ready traces
236
49
237
-
For detailed explanations of how controls work under the hood, performance benchmarks, configuration options, and development setup, see the complete [Quickstart](/core/quickstart) guide.
Copy file name to clipboardExpand all lines: core/quickstart.mdx
+9-6Lines changed: 9 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -85,7 +85,7 @@ make ui-dev
85
85
In your agent application project:
86
86
87
87
```bash
88
-
pip install agent-control-sdk
88
+
uv pip install agent-control-sdk
89
89
```
90
90
91
91
## Step 3: Register Your Agent
@@ -182,7 +182,11 @@ async def setup():
182
182
asyncio.run(setup())
183
183
```
184
184
185
-
> [!NOTE]
185
+
Now, run your agent code.
186
+
187
+
**🎉 Done!** Your agent now blocks SSN patterns automatically.
188
+
189
+
> [**!NOTE**]
186
190
> **Authentication Note:** Authentication is disabled by default in the server .env (`AGENT_CONTROL_API_KEY_ENABLED=false`). If you enable it, this setup script needs an admin API key because it creates a control and attaches it to an agent. `agents.register_agent()` accepts a regular or admin key, but `controls.create_control()` and `agents.add_agent_control()` require a key listed in `AGENT_CONTROL_ADMIN_API_KEYS`.
0 commit comments