Governed MCP for real infrastructure actions β gated, approved, audited.
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)
Leave the agent working. Keep production authority bounded.
emisar gives MCP-capable agents a catalog of declared infrastructure actions instead of a shell. Policy decides what runs, what waits for a person, and what is denied. A small outbound-only runner checks the action again on the host before it executes anything.
Start with the public pack catalog, let emisar suggest the packs that match a host, and add your own actions without adding another MCP server to every client.
You need an emisar account, a Linux host with
systemd and sudo, and outbound HTTPS access to emisar.dev:443. You do not
open an inbound port on the host.
In the dashboard, choose Connect a runner. Copy the generated command; it contains a fresh, single-use enrollment key.
Run it on the host:
The installer verifies the release checksum, creates the service, installs host-matched starter packs, and starts the runner.
Confirm the runner is online in the dashboard, then dispatch
linux.uptime with a reason. You are done when the output appears and the
run is present in the audit trail.
Open LLM agents and connect your client. Remote MCP clients use OAuth;
local stdio clients can use the emisar-mcp bridge and its browser approval
flow.
The complete walkthrough, including expected output and troubleshooting, is at
emisar.dev/docs/quickstart. An agent can
perform and certify the setup with the public
install-emisar skill.
The action pack is the contract. It fixes the executable, argv shape, argument schema, risk, timeout, output limits, redaction, and side-effect description. The model selects from that contract; it does not invent a command line for the runner to execute.
Adding a pack adds capabilities behind the same MCP surface. Operators do not need to deploy another tool server or reconfigure every agent when the catalog changes.
Read the exact guarantees, limitations, and threat model in
.agent/kb/specs/security-model.md.
execute(command) tool or a replacement for SSH.The staging-only shell pack is the explicit break-glass exception to the
declared-action model. It is critical-risk, default-denied, never suggested,
and should not be installed on production runners.
| Goal | Start here |
|---|---|
| Install, upgrade, harden, or diagnose a host | runner/README.md |
| Connect Claude, ChatGPT, Cursor, Codex, or another MCP client | Connect an LLM |
| Inspect or develop the stdio bridge | mcp/README.md |
| Browse, install, or author action packs | packs/README.md |
| Let an agent install emisar, connect a client, or author a pack | skills/README.md |
| Review architecture and trust boundaries | .agent/kb/architecture.md |
| Review protocol contracts | .agent/kb/specs/wire-protocol.md and .agent/kb/specs/mcp-api.md |
| Contribute to the control plane | portal/README.md |
| Review the production GCP infrastructure | infra/README.md |
Each top-level project has its own AGENTS.md with its architecture, security
rules, and verification gate. Run ./run help for the complete contributor
command surface.
The recommended path needs only Coop and Docker on the host. It installs every repository pin in the isolated project image:
Then, inside the shell:
For native development, install the exact versions in .tool-versions with
asdf, plus Git, Coop, Docker, the PostgreSQL client, ShellCheck,
Chrome/Chromium, and ImageMagick.
./run setup validates all prerequisites before starting services; ./run doctor reports every detected version and an actionable mismatch. On macOS,
run ./run certs trust once for this workspace after setup.
The fast loop runs Phoenix in the current environment and keeps only PostgreSQL and Keycloak in the workspace-isolated Coop dependency stack.
./run urls prints this workspace's distinct Portal, metrics, Postgres, and
Keycloak URLs. Coop forks inherit the same setup but receive different ports and
volumes. Seeds are never applied by setup, serve, or reset unless explicitly
requested.
Use ./run status for a read-only view of the current workspace, ./run logs [db|keycloak] for its exact sidecar logs, and ./run psql for its development
database. Every canonical gate prints its current phase and elapsed time; a
failure names the phase that stopped it.
The root docker-compose.yml remains the slower packaged topology with the
release Portal image, seeded demo data, three runners, MCP, and signing. Start it
with ./run smoke; it serves http://localhost:4010. See
portal/README.md and dev/README.md.
This repository is dual-licensed:
runner/, mcp/, and packs/ are open source under the
Apache License 2.0. You can inspect, build, package, and
operate the on-host components independently.portal/, is source-available under the
Business Source License 1.1. Non-production use is free.
Production use is permitted only as needed to operate the Apache-licensed
components or the hosted service under the Additional Use Grant; other
production use requires a commercial license. Each version converts to
Apache 2.0 on its Change Date.See contributing, security,
and the CLA. For commercial licensing, contact
licensing@emisar.dev.
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/emisar)<a href="https://allmcps.com/mcp/emisar"><img src="https://allmcps.com/api/badge/emisar?style=directory" alt="Emisar on AllMCPs" /></a>