Self-hostable policy control plane for AI coding agents.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Laguarde is a self-hostable policy control plane for AI coding agents.
It gives a team one persistent place to define engineering practices, evaluate agent actions, ratify recurring developer preferences, and retain the exact policy revisions behind important decisions.
Laguarde runs locally for one developer or behind a team URL. Agents interact with the same server through standard MCP; humans use the dashboard and REST API.
allowed, limited, approval, and forbidden.limited, not silently
allowed.For a local MCP installation, use Node.js 24 or newer:
The first command reuses the healthy local daemon or starts it once. The second registers the current Git repository and prints its project-specific MCP URL. All local projects share the daemon, dashboard, SQLite database, and audit history while remaining separately identifiable.
Conceptual MCP configuration:
For repository development, install Bun and run:
Project HTTP MCP endpoints live under
http://localhost:3000/mcp/projects/:projectId, and agent-facing discovery is
available at http://localhost:3000/llms.txt.
Onboarding surfaces:
http://localhost:3000/guide;http://localhost:3000/install (text/plain).To onboard a capable agent, send it the /install URL and explicitly ask it to
connect Laguarde for the current project. The contract tells it how to verify
the server, make a minimal native MCP configuration change, discover the tools,
and load the registered project's policy bundle.
Install the optional fail-closed skill from this repository with:
The skill requires a cooperative agent to load the project-bound Laguarde policy bundle, evaluate and record every material action, and stop when policy is unavailable, limited, approval-required, or forbidden. It does not replace a sandbox or host-level execution hook.
For S3/CloudFront onboarding, generate the two static upload objects with:
MCP Registry publication is automated through GitHub Actions after a one-time
DNS authentication setup. See
docs/registry-publishing.md.
The daemon's first start creates ~/.laguarde/laguarde.db, seeds global policy,
and adds ten policies. Set LAGUARDE_DATA_DIR, or the more specific
LAGUARDE_DB_PATH and LAGUARDE_EVIDENCE_DIR, to place persistent data
elsewhere.
get_policy_bundle retrieves the current policies and their revision IDs.evaluate_action previews the boundary decision for an exact intended
action.record_decision re-evaluates and persists that action as evidence.list_preference_proposals and propose_preference turn reusable developer
corrections into a human review queue.See usage instructions for tool inputs and concrete calls.
The published CLI uses Node.js, TypeScript, Express, SQLite, and the standard
MCP SDK. Bun remains the repository's development and test runner. Policy types
share one revisioned model, while category-specific configuration is stored in
fields.
MCP connectivity makes policies discoverable and decisions auditable, but it does not technically prevent an uncooperative agent from using tools outside Laguarde. Hard enforcement requires Laguarde decisions to be wired into an execution hook, command proxy, sandbox, filesystem permissions, or CI gate.
This prototype is therefore an enforceable decision service, but only an advisory boundary until the host agent or execution environment uses it as a mandatory gate.
src/ β policy engine, persistence, REST API, and MCP tools.public/ β human dashboard.llms.txt β agent-facing discovery and operating contract.examples/ β bootstrap, control-boundary, and feedback demos.docs/ β installation, usage, decisions, and current limits.test/ β executable behavior specification.Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/laguarde)<a href="https://allmcps.com/mcp/laguarde"><img src="https://allmcps.com/api/badge/laguarde?style=directory" alt="Laguarde on AllMCPs" /></a>