emisar
What it does
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
- Connects 클라우드에서 실행
- Account or key Sign in to the service when you connect (OAuth)
- Category 개발자 도구
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 4/4 통과 · 내가 묻는 내용은 제작자 서버(emisar.dev)를 거쳐요 · ✓ 명령 확인 2026년 11월 13일
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
Claude의 Connectors 페이지 열기
CustomizeConnectors
“Add” → “Custom” → “Web”를 누르고 이 2칸 채우기
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
Name · 이름emisarRemote MCP server URL · 주소https://emisar.dev/api/mcp/rpcClaude가 찾은 로그인 설정 화면에서 Continue를 누르고 · Authentication은 제작자 안내대로(Sign in now, Sign in when needed, No sign in) 고른 뒤 Add를 누르세요
채팅에서 켜기
+Connectorsemisar
해 보기
emisar을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 emisar을 쓰고 있다고 하거나 답에 emisar 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT 연결은 요금제에 따라 달라요
전체 MCP: 웹 ChatGPT Business, Enterprise, Edu · Pro: 읽기/가져오기 권한으로 연결, 데이터를 바꾸는 도구는 안 될 수 있어요 · Plus: 공식 문서 미확인, 플러그인 화면에 사용자 지정 MCP 추가 항목이 보이면 시도해 볼 수 있어요 · 웹만
웹 ChatGPT에서 MCP 추가 페이지 열기
Plugins+Add custom MCP server
이름과 주소 입력
이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요
Name · 이름emisarConnection · 주소https://emisar.dev/api/mcp/rpc채팅에서 emisar 고르기
새 채팅을 열고 입력 전에 플러그인 목록에서 emisar을 고르세요
해 보기
emisar을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ ChatGPT가 emisar을 쓰고 있다고 하거나 답에 emisar 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
터미널 열기
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
이 명령을 붙여 넣고 Enter
claude mcp add --transport http --scope user emisar https://emisar.dev/api/mcp/rpcClaude Code에서 /mcp 입력
emisar이 목록에 있고 연결됨으로 보이면 돼요
해 보기
emisar을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 emisar을 쓰고 있다고 하거나 답에 emisar 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Cursor에서 AI 채팅을 Agent 모드로 열기
해 보기
emisar을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 emisar을 쓰고 있다고 하거나 답에 emisar 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
VS Code에서 AI 채팅을 Agent 모드로 열기
해 보기
emisar을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 emisar을 쓰고 있다고 하거나 답에 emisar 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
웹으로 연결하는 앱용 주소
https://emisar.dev/api/mcp/rpcJSON 설정은 아래 “개발자용”에 있어요
개발자용: 터미널 명령과 JSON 설정
웹으로 연결
Claude Code
claude mcp add --transport http --scope user emisar https://emisar.dev/api/mcp/rpcCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"emisar": {
"url": "https://emisar.dev/api/mcp/rpc"
}
}
}VS Code (mcp.json)
{
"servers": {
"emisar": {
"type": "http",
"url": "https://emisar.dev/api/mcp/rpc"
}
}
}이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
한눈에 보기
어떤 앱에서 쓸 수 있나요
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
할 수 있는 일
서버가 도구 목록을 보여 주기 전에 로그인을 요구해요.
기본 점검i
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 14일 점검
- ✓ 통과
제작자와 저장소 일치
레지스트리 이름이 도메인 emisar.dev 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
- ✓ 통과
계속 관리되고 있음
코드 마지막 변경: 어제
- – 해당 없음
라이선스 있음
해당 없음: emisar.dev 소유자가 직접 운영하는 클라우드 서버라 저장소 코드를 실행하지 않아요
- ✓ 통과
엔드포인트 응답
228ms 만에 응답(HTTP 401)
- ✓ 통과
OAuth로 로그인
OAuth 로그인을 지원한다고 밝혀서, AI 앱이 로그인 화면으로 안내해 줘요
- … 아직 점검 안 함
도구 설명에 숨겨진 지시 없음
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
토론
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
사용자 리뷰
아직 리뷰가 없어요
개발자 도구 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 5876개 중 98%보다 스타가 많아요
- 이 카테고리의 다른 서버 5876개 중 91%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 5876개 중 100%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
emisar, 안전한가요?
해당하는 기본 점검 4개 중 4개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 어제 변경됐고, 최신 버전(0.59.0)은 3일 전 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 받는 앱에서도 쓸 수 있어요. 예: 웹 ChatGPT(Business 이상은 전체 MCP, Pro는 읽기 전용).
같은 카테고리의 다른 것
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
제작자의 README
README 열기
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
emisar
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 and let emisar suggest the packs that match a host. Add your own actions without adding another MCP server to every client.
Start with one host
You need an emisar account, a Linux host with systemd, and sudo. GitHub CLI with gh attestation verify --bundle checks the release signature. Without GitHub CLI, the installer asks before it continues with only the checksum. With --yes, it warns and continues. Allow outbound HTTPS to emisar.dev:443, registry.emisar.dev:443, tuf-repo-cdn.sigstore.dev:443, and tuf-repo.github.com:443. The last two serve the public trust roots used to authenticate release checksums. No GitHub login is required.
GitHub is the optional release fallback. If you want that fallback, also allow api.github.com:443, github.com:443, and release-assets.githubusercontent.com:443.
- In the console, choose Connect a runner. Copy the generated command; it contains a fresh, single-use enrollment key.
- Run it on the host:
curl -fsSL https://emisar.dev/install.sh \
| sudo EMISAR_ENROLLMENT_KEY=emkey-enroll-... bash
The installer authenticates the signed release checksum and verifies the archive against it. It then creates the service, installs host-matched starter packs, and starts the runner.
- Confirm the runner is online in the console, then dispatch
linux.uptimewith a reason. You are done when the output appears and the run is present in the audit trail. - Open AI agents and connect your client. Remote MCP clients use OAuth; local stdio clients can use the
emisar-mcpbridge 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.
How an action runs
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 defines the contract: 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.
What holds the boundary
- The runner opens an outbound TLS WebSocket and exposes no inbound listener. Commands return through that established connection.
- Cloud input is limited to declared actions and typed, schema-bounded arguments. The runner rejects unknown actions and arguments.
- Packs are content-addressed: a hash of their contents identifies them. The control plane pins the trusted pack hash, and the runner recomputes it from disk before execution. New or changed custom packs wait for trust.
- The control plane evaluates runner scope, risk policy, action overrides, standing grants, and conditional approval before dispatch.
- On the host, the runner clamps execution options to the pack's limits and runs the declared binary and argv. The runner redacts output before it leaves the host, and Emisar keeps the redacted output in run history.
- The control-plane audit includes denied and pending requests. Every runner also writes its execution attempts and local refusals to a hash-chained JSONL journal.
- A runner can optionally require bridge-attested dispatch: intent signed by the customer-authorized MCP bridge with an Ed25519 or ECDSA P-256 leaf key. The control plane then cannot invent or widen a permitted call.
Read the exact guarantees, limitations, and threat model in .agent/kb/specs/security-model.md.
How emisar fits into your stack
Use declared actions for agent access and SSH for interactive administration. Run the agent in a sandbox such as co:op, grant the runner the OS permissions its actions need, and ship lasting configuration changes through your deployment workflow.
The runner executes permitted actions with its service user's OS permissions; it does not isolate those processes. Permitted destructive actions still have real effects. Review action definitions, pack trust, policy, runner settings, and host permissions together when deciding what the agent may do.
The staging-only shell pack is the explicit break-glass (emergency-only) exception to the declared-action model. It is critical-risk, default-denied, never suggested, and should not be installed on production runners.
Find the right surface
| Goal | Start here |
|---|---|
| Install, upgrade, harden, or diagnose a host | runner/README.md |
| Connect Claude, ChatGPT, Cursor, Codex, or another MCP client | Connect a CLI agent |
| 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 |
Repository layout
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 run Root contributor command for development, tests, gates, and operations dev/ Development Compose topologies, images, configs, and fixtures tools/ Go implementations behind the contributor command and CI dist/ Tracked distribution packages plus ignored generated build output .agent/kb/ Repository architecture, specifications, runbooks, and rules
Each top-level project has its own AGENTS.md with its architecture, security rules, and verification gate. Run ./run help for the complete list of contributor commands.
Develop locally
The recommended path needs only Coop and Docker on the host. It installs every tool version the repository pins in the isolated project image:
./run bootstrap # works before Go is installed
coop build # build the pinned project image once coop run -- ./run setup # sidecars, deps, migrations, browser tooling coop shell # enter the development box
Then, inside the shell:
./run seed # explicit, idempotent demo data
./run serve # live reload at the URL printed by Coop
or: ./run serve --iex
For native development, install the exact versions in .tool-versions with asdf. You also need Git, Coop, Docker, the PostgreSQL client, ShellCheck, jq, GNU Bash (with read -N), GNU coreutils, Chrome/Chromium, and ImageMagick. On macOS, Apple's bundled Bash and BSD utilities cannot run all pack regression checks:
brew install bash coreutils jq
export PATH="$(brew --prefix coreutils)/libexec/gnubin:$(brew --prefix bash)/bin:$PATH"
./run setup checks all prerequisites before starting services; ./run doctor reports every detected version and any mismatch to fix. 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. Setup, serve, and reset never apply seeds unless you ask for them.
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 (./run 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.
License
This repository is dual-licensed:
runner/,mcp/, andpacks/are open source under the Apache License 2.0. You can inspect, build, package, and operate the on-host components independently.- Everything else, including
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.