clai MCP server
2026년 11월 14일 커밋MCP 네이티브 도구와 예약 실행 기능을 사용하여 샌드박스 워크스페이스 내에서 AI 에이전트 팀을 구성하고 제어합니다.
다른 이름 clairun/clai
- 스타
- 9
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 14일
- 라이선스
- MIT
clai MCP란?
clai은(는) MCP server입니다. MCP 네이티브 도구와 예약 실행 기능을 사용하여 샌드박스 워크스페이스 내에서 AI 에이전트 팀을 구성하고 제어합니다.
프로젝트 README에서 생성된 요약
clai MCP server 정보
clai는 개발자와 자동화된 워크플로우를 위해 보안된 샌드박스 환경 내에서 전문화된 AI 에이전트 팀을 관리할 수 있는 기능을 제공합니다. 사용자는 메인 에이전트가 Code Reviewer 또는 SoW Tracker와 같은 헬퍼 에이전트를 감독하는 워크스페이스 단위로 작업을 구성할 수 있으며, 각 에이전트는 고유한 도구, 제공업체 및 권한을 가집니다. 이 로컬 우선 플랫폼은 병렬 실행과 예약 실행을 지원하며, Fleet 뷰를 통해 모든 활성 작업과 플래그가 지정된 이슈를 감독할 수 있습니다.
설정 시 Anthropic 또는 OpenAI 호환 엔드포인트와 같은 API 제공업체를 연결하거나, Claude Code 및 OpenCode와 같은 로컬 CLI 에이전트를 구동할 수 있습니다. 개발자는 HTTP 또는 stdio 전송 방식을 통해 MCP server를 연결하여 에이전트의 기능을 확장할 수 있습니다. 보안은 세분화된 filesystem grants와 Off, Ask first, Don't ask의 세 가지 셸 모드를 통해 관리됩니다. 네트워크 액세스 또한 Off, Allowlist, Host network 모드를 통해 유사하게 제어되므로, 에이전트가 복잡한 작업을 수행하는 동안 정의된 경계 내에서 작동하도록 보장합니다.
활용 사례
- 1예약된 주기적 에이전트 작업정기적인 유지 관리 또는 모니터링을 수행할 수 있도록 워크스페이스가 설정된 간격에 따라 자동으로 실행되도록 구성할 수 있습니다.
- 2안전한 로컬 셸 실행git push와 같이 민감한 작업에 대해 수동 승인이 필요한 엄격한 안전 제어 기능을 갖춘 에이전트 명령을 실행할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능clairun/clai is public and reachablegithub.com/clairun/clai ↗통과
- 패키지가 이 저장소를 소스로 명시검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-14github.com/clairun/clai ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기What it is
CLAI organizes work into workspaces. A workspace is an ongoing conversation with a main agent — a configurable LLM that owns the workspace's provider, tools, skills, and permissions. The main agent can:
- Chat with you in a surface that stays front and center
- Use tools through attached MCP servers and a local shell sandbox
- Delegate to helper agents in the same workspace, each with their own skills, tools, and execution policy
- Persist context — memories and artifacts it writes are inspectable from the workspace header
- Run on a schedule — periodic workspaces fire on their interval
The Fleet view supervises everything: scheduled workspaces float to the top, anything needing attention (failed or blocked tasks, input prompts) is flagged, and selecting a card slides in a live chat preview.
Features
- Workspace-local agent teams — Add helpers (e.g. a Code Reviewer or SoW Tracker) with their own prompts, skills, MCP servers, providers, and execution policy. The main agent calls them as tools, and you can read their full transcripts.
- Multiple providers — API connections (OpenAI-compatible or Anthropic-compatible) and local CLI agents such as Claude Code, OpenAI Codex, and OpenCode. Each agent picks its own.
- MCP-native tools — Configure MCP servers once in Settings, then attach them per workspace or per agent. HTTP and stdio transports.
- Local execution sandbox — Per-agent filesystem grants and three shell
modes: Off (no generic local file access), Ask first (every command
runs, except that commands on the agent's ask-first list, such as
git push,rmornpm publish, wait for your approval), and Don't ask (every command runs without asking). The ask-first list catches common accidents, not a determined agent: on Linux and macOS the OS sandbox and your path grants are the boundary. On an ask-first card, Always allow removes the rule from the agent's list: for a shared teammate in every workspace that uses it, for a workspace's main agent in that workspace only. Add a rule back in the agent's settings to be asked again. - Network modes — Each agent has one of three, in its Local access settings: Off (no network for shell commands or the web tools), Allowlist (only the hosts matching the agent's allowed hosts, about 100 package registries and code hosts by default, never those matching its denied hosts; web search still reaches its search provider), and Host network (unfiltered), which reaches any host, including services on your computer and your local network. Allowlist never connects to loopback or link-local addresses, so services that listen only on your computer's localhost stay out of reach, but a host you list that resolves to a local-network address is reachable from shell commands. In Allowlist an agent that needs another host asks for it, and you allow it for the run or always, allow its parent domain instead, or deny it.
- A shared agent library — Teammates are defined once in Settings → Agents and added to the workspaces that need them. Editing one reaches every workspace using it; each workspace still owns its own main agent, history and schedule.
- Default skills — CLAI registers the read-only
clairun/clai-skillsrepository by default. - Inspectable tasks — Delegated work streams a live transcript: the helper agent's full conversation, tool calls, and verdict.
- Memory & artifacts — Agents persist findings to the workspace directory; the drawer surfaces both, with read-only previews (rendered markdown, pretty JSON, multi-file HTML).
- Run notices — A run that hits a policy denial finishes in an amber "warnings" state and surfaces in the Fleet, instead of failing silently.
Local execution sandboxing is platform-specific. On Linux, shell commands run through bubblewrap; in Allowlist each command gets its own network namespace whose only way out is CLAI's network proxy, through the small
clai-sandbox-helperbinary installed next toclai. Tools that ignoreHTTP(S)_PROXY, and DNS lookups, fail there; choose Host network for them. On macOS, they run through Seatbelt viasandbox-exec, with Off or Host network only: Allowlist is not available on macOS yet. On Windows there is no sandbox backend: shell execution is labeled as a host shell, and while CLAI still validates the command's working directory against the filesystem grants, nothing stops the command itself from reaching outside them. Windows also ships no POSIX shell, sobash_execlooks for Git Bash, then MSYS2, thenbashonPATH, and fails with an "install Git for Windows" notice when it finds none. The allow/block lists are enforced by CLAI before a command spawns, on every platform. On Windows the network setting applies to the web tools only: Off and Host network restrict or open web fetch and web search, and shell commands use the host network. Allowlist cannot be chosen there; a stored one (a hand edit or a config copied from Linux) stops shell commands until you choose Off or Host network.
Install
Download the latest build for your platform from the Releases page:
| Platform | Download |
|---|---|
| Windows | .msi / .exe |
| macOS | .dmg |
| Linux | .deb, .rpm, or .flatpak |
| Arch Linux | AUR: clai-desktop-bin |
On Debian/Ubuntu you can install from the CLAI apt repository instead —
updates then arrive through apt upgrade like any other package:
sudo curl -fsSLo /usr/share/keyrings/clai-archive-keyring.gpg \
https://download.clai.run/apt/clai-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/clai-archive-keyring.gpg] https://download.clai.run/apt stable main" | \
sudo tee /etc/apt/sources.list.d/clai.list
sudo apt update && sudo apt install clai
On Fedora/RHEL, the CLAI rpm repository does the same for dnf upgrade:
sudo curl -fsSLo /etc/yum.repos.d/clai.repo https://download.clai.run/rpm/clai.repo
sudo dnf install clai
openSUSE: sudo zypper ar -f https://download.clai.run/rpm clai && sudo zypper install clai
(Installing the .deb/.rpm from the Releases page enrolls the same
repository automatically; see packaging/linux-repo/README.md, including
the opt-outs.)
On macOS, the builds are not yet signed or notarized with an Apple
Developer ID, so after downloading macOS may say "clai is damaged and
can't be opened". The app is not damaged. Move clai.app to
Applications, run this once in Terminal to remove the download
quarantine flag, then open it normally:
xattr -cr /Applications/clai.app
Getting started
- Add a provider — In Settings, connect an API provider or point CLAI at a local CLI agent. Supported CLI agents are auto-detected and pre-wired into new workspaces.
- Add MCP servers (optional) — Register local or remote MCP servers for external tools.
- Create a workspace — From the Fleet view. Open its settings (gear icon in the header) to attach a provider, MCP servers, and skills.
- Chat with the main agent.
- Add helper agents (optional) — Define them once in Settings → Agents, then add them to a workspace's team from its settings; the main agent can then delegate to them.
- Make it periodic (optional) — Toggle Schedule to run the main agent on an interval.
Providers
- API connections — Add an OpenAI-compatible or Anthropic-compatible provider with an API key and optional custom base URL. Works with OpenAI, Anthropic, together.ai, Groq, and local endpoints (vLLM, llama.cpp, Ollama).
- CLI agents — Drive a locally installed coding CLI directly, such as Claude Code, OpenAI Codex, or OpenCode. CLAI exposes its tools to them over MCP and streams their output like any other run.
Each agent chooses its own provider, so you can mix — for example a Claude Code main agent with an OpenAI-compatible reviewer.
Development
git clone https://github.com/clairun/clai.git
cd clai
npm install
make dev # run the desktop app in development
make dev builds the sandbox helper before it starts the app. cargo run and
npm run tauri:dev build only the app, and the Allowlist network mode also
needs the helper next to it: build it with
cargo build --manifest-path src-tauri/Cargo.toml --bins, or shell commands in
Allowlist fail with "network helper not found".
Before pushing:
npm run lint && npm run format:check && npm run build
cargo fmt --manifest-path src-tauri/Cargo.toml --check
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
cargo test --manifest-path src-tauri/Cargo.toml
Architecture
- Frontend — React + Tauri; a chat-first workspace with a drawer for agents / tasks / memories / artifacts and slide-out transcript and file panels.
- Runtime — Each workspace owns its main agent, its assignments of shared agents, and a persistent session. Built-in tools (shell execution, inter-agent calls, task management) plus MCP tools, gated by each agent's policy. An agent is resolved fresh at the start of every turn, so a shared edit lands on the next turn and never mid-tool-sequence.
- Scheduler — Periodic workspaces run from the agent runner, emitting the same streaming events as interactive chat.
- Skills — Discovered from read-only local or git sources. The app-managed
default source is
clairun/clai-skills.
License
MIT
clai MCP 질문
CLAI는 보안과 샌드박싱을 어떻게 처리하나요?
CLAI는 플랫폼별 샌드박싱을 사용합니다. Linux에서는 bubblewrap, macOS에서는 Seatbelt, Windows에서는 filesystem grants를 사용하여 셸 및 네트워크 액세스를 제어합니다.
자체 LLM 제공업체를 사용할 수 있나요?
네, Ollama 또는 vLLM과 같은 로컬 엔드포인트를 포함하여 OpenAI 호환 또는 Anthropic 호환 제공업체를 연결할 수 있습니다.
에이전트가 타이머에 따라 자동으로 실행될 수 있나요?
네, periodic runs를 사용하여 워크스페이스가 정해진 일정에 따라 실행되도록 구성할 수 있습니다.
MCP server를 지원하나요?
네, HTTP 또는 stdio 전송 방식을 통해 MCP server를 구성하고 특정 에이전트나 워크스페이스에 연결할 수 있습니다.