selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

emisar logo

Self-host emisar

v0.53.0

AI agent gateway for infrastructure actions with policy

BetaOpen CoreOther
Updated5 days ago
LanguageElixir
Setup difficultyModerate
Stars
330
Docker
ghcr.io/andrewdryga/emisar-runner
Pending approval screen in emisar console showing action details and approve/deny controls

What is emisar?

emisar connects AI agents like Claude, Cursor, and ChatGPT to your infrastructure through a governed MCP server. Instead of SSH keys or raw shell access, agents discover and call versioned action packs — declared, schema-bounded operations for databases, containers, observability, cloud, and Linux systems. The control plane evaluates policy (allow, require approval, deny) per risk tier and action, with overrides for specific runners or groups. Every action runs on an outbound-only runner that re-validates arguments, verifies pack content hashes, redacts secrets from output, and writes a hash-chained local journal. The runner installs on Linux (systemd), macOS (launchd), Docker, Kubernetes (DaemonSet), or Nomad. The runner and MCP bridge are Apache-2.0 open source; the control plane is source-available under BSL-1.1 and currently offered as a hosted service. Free tier includes 3 runners and 7-day audit retention.

Should you self-host emisar?

emisar scores 47/100 on selfhost.directory (how scoring works) and ranks #64 of 125 in AI. It has 330 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v0.53.0, came out on 11 October 2026.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Other-licensed and written mostly in Elixir.

Its closest alternative on selfhost.directory is ComfyUI (93/100, 143 714 stars). It scores higher overall, so compare the two before you pick. See emisar vs ComfyUI side by side.

Features

  • 103 action packs, 1840 actions
  • Air-gapped deploymentNot generally available
  • Audit trail with host journal
  • Local admission control
  • MCP Server
  • Outbound-only runner
  • Output redaction
  • Pack trust & drift blocking
  • Per-runner scopes & credentials
  • Policy & approval gates
  • Runbooks
  • SCIM directory syncEnterprise only
  • SIEM exportPaid plans only
  • Signed dispatch (optional)Optional feature
  • Versioned action catalog

emisar README

emisar releases & version history

FAQ

Do you support SSO and SCIM?

Yes. OIDC single sign-on (Okta, Entra ID, JumpCloud, Google Workspace, Keycloak, or any compliant provider) is on Team and Enterprise. SCIM 2.0 directory sync is on Enterprise.

What counts as a runner?

One installation of the emisar binary on one host (VM, container, or bare metal). Human users are unlimited on Team and Enterprise.

What about secrets?

Runner output is redacted before leaving the host using 20 built-in patterns plus custom per-action rules. The audit trail stores metadata only.

Can I self-host the control plane?

The current product uses the hosted emisar control plane. The repository includes deployable control-plane code for evaluation, but supported self-hosted and air-gapped deployments are not generally available today.

Is this MCP-compatible?

Yes. Claude.ai and ChatGPT connect via OAuth to the remote JSON-RPC MCP server. 15+ local clients (Claude Code, Cursor, VS Code, etc.) work via the emisar-mcp stdio bridge.

What if my runner dies mid-run?

On Linux, the runner stops the action if it exits. If the runner stays offline, emisar marks in-flight runs as errored within minutes.

Do I have to approve every action?

No. Policy decides by risk tier, action, runner, or runner group. Routine reads can run automatically; risky changes require approval; destructive actions can be denied.

Where do approvals happen?

In the web UI and email inbox. The approver sees actor, arguments, target host, and the policy rule that triggered the gate.

What can it actually do?

Read and tail logs, query metrics, inspect processes, memory, disk, and containers, check databases, trace DNS/TLS/connectivity. Behind approval: restart units, stop jobs, fail over, scale.

Can the LLM run anything it wants?

No. The runner accepts only actions declared in a trusted pack and allowed by its local admission rules. Undeclared commands are rejected before execution.

More in Infrastructure

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…