DEV Community

Majesty
Majesty

Posted on

How I built a safety layer for AI terminal execution (MCP-based)

AI agents are becoming capable of executing terminal commands directly on your machine.

This is powerful — but also dangerous.

They don’t understand the consequences of destructive operations like rm -rf, fork bombs, or unsafe git resets.

So I built a small safety layer to sit between AI agents and the terminal.


The problem

When you give an AI access to a terminal, you’re essentially giving it:

  • full filesystem access
  • ability to delete files
  • ability to modify system state
  • ability to run destructive commands

The issue is not intent — it’s lack of system-level awareness.

AI doesn’t “know” what is dangerous in a real system context.


The solution

I built Terminal Guardian MCP — a safety layer for AI terminal execution.

It acts as a middleware between AI and your shell.


What it does

  • Detects potentially dangerous commands
  • Blocks destructive operations
  • Requires confirmation for risky actions
  • Logs all executed commands for auditability

Example

Claude: rm -rf /
Terminal Guardian: BLOCKED ❌

Claude: rm -rf ./dist
Terminal Guardian: WARNING → requires confirmation

User: approve
Terminal Guardian: executed
Enter fullscreen mode Exit fullscreen mode

Design goal

The goal is not to restrict AI.

It is to make terminal access safe by default.

AI should be powerful — but not destructive.


Why MCP?

Model Context Protocol makes it easy to insert middleware layers between AI agents and system tools.

This allowed me to build a lightweight interception layer without modifying the AI itself.


GitHub

Terminal Guardian MCP on GitHub


Why this matters

AI agents are moving fast toward autonomous system-level execution.

Without safety layers, a single mistake can lead to destructive system-level operations.

This is a small step toward safer AI tooling.


Final thoughts

AI agents will increasingly gain system-level access.

Without safety layers, this becomes a real risk for developers.

This is an early attempt at solving that problem.


Links

Top comments (0)