1. Conduid
  2. Agents
  3. Leash
MCP server · Agents

Leash

Keep your AI agents on a leash. API-layer policy engine for authorization, audit, and security features which includes deny-by-default, simple YAML rules, and tamper-evident logs.

59Fair

Scored 6 days ago · breakdown

About Leash

Leash is an MCP server in the Agents category: keep your AI agents on a leash. API-layer policy engine for authorization, audit, and security features which includes deny-by-default, simple YAML rules, and tamper-evident logs.

The repository has 2 stars and 0 forks.

Install

From source
git clone https://github.com/strongdm/leash

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Leash

Powered by Claude · Grounded in docs

I know everything about Leash. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

Leash

Tests

Leash wraps AI coding agents in containers and monitors their activity. You define policies in Cedar; Leash enforces them instantly.

Leash demo

Requirements

  • Docker, Podman, or OrbStack
  • macOS or Linux (WSL, too!)

Installation

Recommended method is via npm:

npm install -g @strongdm/leash

Alternative ways follow:

Download the latest pre-built release binary from the releases page.

or if you're on macOS:

brew tap strongdm/tap
brew install --cask leash-app

macOS Note 1: This installs a helper app that enables experimental native mode on macOS and also installs the leash formula.

macOS Note 2: If you download Leash from the releases page, you'll need to run xattr -d com.apple.quarantine leash after extracting it

Refer to MACOS.md to learn more about the additional native macOS capabilities.

Run your first Leash command

# Launch codex with the Control UI and pop open the web browser automatically
leash --open claude

leash --open codex

# Inspect available options
leash --help

AI agents claude, codex, gemini, qwen, and opencode are shipped in the default coder image.

On first use Leash will prompt to mount the host's coder-agent config directory (for example ~/.claude) into the container.

Choose whether to remember that decision globally, for the current project, or just this once; persistent choices are stored at ~/.config/leash/config.toml.

Key Concepts

  • Full monitoring captures every filesystem access and network connection initiated by the agent so Cedar policies and audit trails operate on complete telemetry.

  • Agent container runs your command with the current directory bind-mounted, so tools see the same file tree they would on the host.

  • Leash container monitors system calls, applies Cedar policies, and exposes the Control UI at http://localhost:18080 (use --open to launch it automatically).

  • Mount prompts remember whether to forward host agent credentials (see CONFIG.md).

  • Environment forwarding maps common API keys automatically: ANTHROPIC_API_KEY for claude, OPENAI_API_KEY for codex, GEMINI_API_KEY for gemini, and DASHSCOPE_API_KEY for qwen.

MCP Integration

Leash includes a Model Context Protocol (MCP) observer that inspects, records, and enforces MCP tool calls made by the agent. Requests flowing through supported MCP transports are correlated with filesystem and network telemetry, enabling Cedar policies to govern tool use alongside core runtime activity.

Using Leash

Images and Dependencies

  • Keep the default public.ecr.aws/s5i7k8t3/strongdm/coder image for a ready-to-run AI tooling environment.
  • Extend Dockerfile.coder with project packages, then point Leash at the new image.
  • Reuse an existing project image by adding ca-certificates and configuring Leash to launch it.

Configure alternative images through TOML, CLI flags, or environment variables:

[leash]
codex = true

[projects."/absolute/path/to/project"]
target_image = "ghcr.io/example/dev:latest"

[projects."/absolute/path/to/project".volumes]
"~/devtools" = "/workspace/devtools:rw"
Configure Use Notes
Target image target_image in config.toml, Defaults to public.ecr.aws/s5i7k8t3/strongdm/coder.
LEASH_TARGET_IMAGE, or --image flag
Target container base TARGET_CONTAINER Auto-sanitized from the current directory when unset.
Leash manager image --leash-image, LEASH_IMAGE Override when testing custom manager builds.
Cedar policy file --policy, LEASH_POLICY_FILE Mount a specific Cedar policy.
Control UI bind address --listen, LEASH_LISTEN Blank value binds to default 127.0.0.1:18080
Extra bind mount -v src:dst[:ro] Repeatable for multiple mounts.
Environment variables -e KEY=value Forwarded into both containers.

Run ./bin/leash --help for a complete list of flags and environment variables.

See CONFIG.md and CUSTOM-DOCKER-IMAGES.md for more information.

Manual Volumes and Environment Variables

Choose your own project-specific mounts and set additional environment variables as needed:

leash -v ~/.myconfig:/root/.myconfig claude bash
leash -e MY_VAR=value codex bash

Deep Dives

Dive deeper with CEDAR.md for ready-to-adapt snippets.

Troubleshooting & Next Steps

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Leash

How do I install Leash?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Leash safe to use with an AI agent?

Its trust score is 59 out of 100 (fair). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Leash still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.