by AndrewDryga
An MCP that lets AI tools securely connect to your infrastructure, write IaaS code, debug issues, and assist during incidents - without risking production stability. Built for security teams to approve and infrastructure teams to experience like magic.
# Add to your Claude Code skills
git clone https://github.com/AndrewDryga/emisarLast scanned: 7/23/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-07-23T06:29:29.413Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}emisar is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by AndrewDryga. An MCP that lets AI tools securely connect to your infrastructure, write IaaS code, debug issues, and assist during incidents - without risking production stability. Built for security teams to approve and infrastructure teams to experience like magic. It has 540 GitHub stars.
Yes. emisar passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/AndrewDryga/emisar" and add it to your Claude Code skills directory (see the Installation section above).
emisar is primarily written in Elixir. It is open-source under AndrewDryga on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh emisar against similar tools.
No comments yet. Be the first to share your thoughts!
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:
curl -sSL https://emisar.dev/install.sh \
| sudo EMISAR_ENROLLMENT_KEY=emkey-enroll-... EMISAR_URL=https://emisar.dev bash
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.
AI client
| MCP: discover actions, request one with typed arguments
v
emisar control plane
| authenticate, scope, apply policy, wait for approval when required
v
outbound-only runner
| verify pack hash, validate arguments, enforce local limits
v
declared host command
stream redacted output, journal the attempt, update fleet audit
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
docs/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 | docs/architecture.md |
| Review protocol contracts | docs/wire-protocol.md and docs/mcp-api-spec.md |
| Contribute to the control plane | portal/README.md |
| Review the production GCP infrastructure | infra/README.md |
portal/ Elixir/Phoenix control plane, operator console, website, and MCP API
runner/ Go host runner and operator CLI
mcp/ Go stdio-to-HTTP MCP bridge
packs/ Versioned action-pack catalog
skills/ Standalone customer skills for coding agents
infra/ Production Terraform for emisar on Google Cloud
tools/ Pack-authoring support, repository checks, and maintainer E2E drivers
docs/ Architecture, security, protocol, release, and distribution references
Each top-level project has its own AGENTS.md with its architecture, security
rules, and verification gate.
The root Compose stack starts PostgreSQL, the portal, seeded demo data, and three sample runners:
docker compose up --build
Open http://localhost:4010. See portal/README.md for
native Phoenix development and dev/README.md for the seeded
runner fixtures, pack harness, and signed-dispatch test stack.
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.