GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
제작자가 쓴 설명(영어 원문)
Rust MCP and CLI server for Docker, host inspection, SSH, logs, ZFS, and safe file operations.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
SYNAPSE_HOME, SYNAPSE_HOSTS_CONFIG, SYNAPSE_CONFIG_FILE, SYNAPSE_RMCP_VERSION, SYNAPSE_RMCP_REPO, SYNAPSE_RMCP_RELEASE_BASE_URL, RUST_LOG필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"synapse-rmcp": {
"command": "npx",
"args": [
"-y",
"synapse-rmcp",
"mcp"
],
"env": {
"SYNAPSE_HOME": "your-value",
"SYNAPSE_HOSTS_CONFIG": "your-value",
"SYNAPSE_CONFIG_FILE": "your-value",
"SYNAPSE_RMCP_VERSION": "your-value",
"SYNAPSE_RMCP_REPO": "your-value",
"SYNAPSE_RMCP_RELEASE_BASE_URL": "your-value",
"RUST_LOG": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add synapse-rmcp --env SYNAPSE_HOME=your-value --env SYNAPSE_HOSTS_CONFIG=your-value --env SYNAPSE_CONFIG_FILE=your-value --env SYNAPSE_RMCP_VERSION=your-value --env SYNAPSE_RMCP_REPO=your-value --env SYNAPSE_RMCP_RELEASE_BASE_URL=your-value --env RUST_LOG=your-value -- npx -y synapse-rmcp mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"synapse-rmcp": {
"command": "npx",
"args": [
"-y",
"synapse-rmcp",
"mcp"
],
"env": {
"SYNAPSE_HOME": "your-value",
"SYNAPSE_HOSTS_CONFIG": "your-value",
"SYNAPSE_CONFIG_FILE": "your-value",
"SYNAPSE_RMCP_VERSION": "your-value",
"SYNAPSE_RMCP_REPO": "your-value",
"SYNAPSE_RMCP_RELEASE_BASE_URL": "your-value",
"RUST_LOG": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"synapse-rmcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"synapse-rmcp",
"mcp"
],
"env": {
"SYNAPSE_HOME": "your-value",
"SYNAPSE_HOSTS_CONFIG": "your-value",
"SYNAPSE_CONFIG_FILE": "your-value",
"SYNAPSE_RMCP_VERSION": "your-value",
"SYNAPSE_RMCP_REPO": "your-value",
"SYNAPSE_RMCP_RELEASE_BASE_URL": "your-value",
"RUST_LOG": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
SYNAPSE_HOME envSYNAPSE_HOSTS_CONFIG envSYNAPSE_CONFIG_FILE envSYNAPSE_RMCP_VERSION envSYNAPSE_RMCP_REPO envSYNAPSE_RMCP_RELEASE_BASE_URL envRUST_LOG env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
게시자(dinglebear.ai)가 저장소 소유자(jmagar)가 아니에요. 다른 사람이 등록했을 수 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 0개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.5.4)은 4개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: GitHub, Desktop Commander, Cloudflare MCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Host, Docker, Compose, SSH, logs, ZFS, and file operations over MCP and CLI.
Synapse is a full-parity Rust port of synapse-mcp, built with the rmcp framework.
The server exposes two MCP tools (flux and scout) plus equivalent CLI commands, covering all 59 production actions from the original TypeScript server.
The repository is synapse-rmcp, the Rust crate is synapse, the MCP server identity is synapse, and the installed binary is synapse. The npm launcher package is synapse-rmcp.
Across most of the RMCP family, naming follows repo= -rmcp, npm= -rmcp, and CLI=r . Synapse is an exception because it is a Rust port of the older TypeScript synapse-mcp project and keeps the operator-facing synapse binary.
Synapse provides local Docker, Compose, host, SSH, log, ZFS, and file-operation workflows through two MCP tools and the equivalent CLI:
flux manages Docker infrastructure, containers, Compose projects, and host inspection.scout handles SSH/local host inspection, safe file reads, allowlisted command execution, bounded descriptor-confined file transfer, ZFS introspection, and log retrieval.Not for: arbitrary shell access, unaudited remote mutation, or bypassing host SSH trust. Destructive Docker/Compose/exec/file-transfer actions require explicit host targets and confirmation policy.
MCP callers never provide credentials, tokens, keys, or secrets as action arguments. Tokens, OAuth settings, host topology, SSH trust, and allowlists live in server-side configuration or the local SSH environment.
Use the npm launcher for stdio MCP or CLI access without a manual binary install:
npx -y @dinglebear/synapse --help
npx -y @dinglebear/synapse mcp
For a permanent command:
npm i -g @dinglebear/synapse
synapse --version
The npm package downloads the synapse binary from GitHub Releases during postinstall, keeping the release tag aligned with packages/synapse-rmcp/package.json.
From source:
cargo build --release
The production image includes Python 3 plus the official Docker CLI/Compose plugin because Scout's remote descriptor wrappers and Flux Compose operations invoke those runtime tools. The image does not contain a Docker daemon; Flux uses the mounted socket or SSH-forwarded remote socket. Persistent appdata lives at ~/.synapse on the host and /data in the container.
The first-screen 30-second path is:
npx -y @dinglebear/synapse mcp
Then configure an MCP client with stdio:
{
"mcpServers": { "synapse": { "command": "npx", "args": ["-y", "synapse-rmcp", "mcp"] } } }
Start with a read-only call:
{
"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "scout", "arguments": { "action": "nodes" } } }
stdio is preferred for local MCP clients:
{
"mcpServers": { "synapse": { "command": "synapse", "args": ["mcp"] } } }
Streamable HTTP uses /mcp on the configured host and port:
{
"mcpServers": { "synapse": { "url": "http://127.0.0.1:40080/mcp", "headers": { "Authorization": "Bearer ${SYNAPSE_MCP_TOKEN}" } } } }
plugins/synapse/ ships Claude Code, Codex, and Gemini CLI manifests that all point at the same HTTP MCP endpoint and the same shared skill.
These packages contain no lifecycle hooks. Connecting to a server that is already running needs no setup — the manifests substitute your server_url and api_token directly. If this machine also *runs* the server, bootstrap it once by hand:
synapse setup install # put/refresh the binary on PATH
synapse setup plugin-hook # check, then repair on blocking failures synapse setup plugin-hook --no-repair # audit only; never mutates appdata
Export the relevant SYNAPSE_* variables (or write them to ~/.synapse/.env) first; plugins/README.md maps each plugin option to its variable. Re-run synapse setup install after a plugin update.
| Surface | Status | Purpose |
|---|---|---|
| MCP | Required | Agent-facing flux and scout tools |
| CLI | Required | Scriptable parity surface for operators |
| REST | Compatibility | Thin local action endpoint for 14 of 59 actions |
| Web | Present | Lightweight static admin shell |
Synapse exposes two MCP tools:
flux: Docker daemon, container, host, and Compose operations.scout: SSH/local host inspection, filesystem reads, allowlisted exec, multi-host emit, file beam, ZFS, and logs.Both tools use an action-dispatched JSON shape:
{"name":"flux","arguments":{"action":"docker","subaction":"info"}}
{"name":"scout","arguments":{"action":"nodes"}}
The detailed action tables below are curated README reference material. The generated runtime MCP schema and the Rust action definitions are the source of truth for the live tool contract.
Common commands:
synapse flux docker info
synapse flux container list synapse flux compose list --host myhost synapse scout nodes synapse scout exec --host myhost --command hostname synapse scout zfs pools --host myhost synapse scout logs journal --host myhost --unit docker
Mounted HTTP supports bearer and Google OAuth modes. Loopback stdio/local dev can run without mounted HTTP auth. Important variables:
SYNAPSE_MCP_HOST=127.0.0.1
SYNAPSE_MCP_PORT=40080 SYNAPSE_MCP_TOKEN=change-me SYNAPSE_MCP_AUTH_MODE=bearer
See Configuration and docs/CONFIG.md for the full auth matrix.
Synapse separates read and write scopes (synapse:read, synapse:write) and uses confirmation gates for destructive operations. SYNAPSE_MCP_ALLOW_DESTRUCTIVE can skip prompts only in loopback-safe contexts. Host protocol is authoritative and defaults to SSH when omitted; local execution requires the explicit built-in local host or protocol: "local". SSH host trust is delegated to OpenSSH known-hosts behavior, and command execution uses execvp/argv semantics without shell interpolation. scout beam enforces both endpoints' configured read roots, blocks sensitive and symlinked paths, and caps each transfer at 64 MiB.
scout exec and scout emit accept only these 18 typed commands (ALLOWED_READ_COMMANDS in src/synapse/command_policy.rs):
cat, head, tail, grep, rg, ls, tree, wc, uniq, diff, stat, file, du, df, pwd, hostname, uptime, whoami
git is deliberately excluded, as are shells, interpreters, network clients, and mutating tools (EXEC_DENYLIST). There is no find or sort in the allowlist — use the dedicated scout find action for filesystem search. Per-host custom commands may be enabled via execAllowlist, but receive a zero-argument policy until a typed argument policy is registered.
The source of truth for release identity is the version shared by Cargo.toml, .release-please-manifest.json, packages/synapse-rmcp/package.json, release artifacts, and server.json.
Distribution/version invariants:
synapse.server.json must point at ghcr.io/dinglebear-ai/synapse: .just validate-plugin # plugin manifests, MCP config, monitors, skills
npm --prefix packages/synapse-rmcp run check cargo fmt --check cargo check cargo test git diff --check
For a persistent mounted HTTP server:
SYNAPSE_MCP_HOST=0.0.0.0 \
SYNAPSE_MCP_PORT=40080 \ SYNAPSE_MCP_TOKEN=change-me \ synapse serve
Use bearer or OAuth before exposing the endpoint beyond loopback. Production Docker/Compose notes live in docs/DEPLOYMENT.md and docs/DOCKER.md when present; local operator usage can stay on stdio.
401 or 403 from /mcp: check bearer/OAuth settings and gateway headers.SYNAPSE_HOSTS_CONFIG, SYNAPSE_CONFIG_FILE, and ~/.ssh/config.flux — Docker infrastructure managementflux docker — Docker daemon operations (9 actions)| Subaction | Scope | Description |
|---|---|---|
info | synapse:read | Docker daemon information |
df | synapse:read | Docker disk usage |
images | synapse:read | List Docker images; dangling_only to filter untagged |
networks | synapse:read | List Docker networks |
volumes | synapse:read | List Docker volumes |
pull | synapse:write | Pull a Docker image; requires host, image |
build | synapse:write | Build a Docker image; requires host, context, tag; optional dockerfile, no_cache |
rmi | synapse:write | Remove a Docker image; requires host, image, force=true |
prune | synapse:write | Remove unused resources; requires host, prune_target, force=true |
flux container — Container lifecycle + inspection (14 actions)| Subaction | Scope | Description |
|---|---|---|
list | synapse:read | List containers; optional state, name_filter, image_filter, label_filter |
inspect | synapse:read | Detailed container info; requires container_id; optional summary |
logs | synapse:read | Container logs; requires container_id; optional lines, since, until, grep, stream |
stats | synapse:read | Resource usage stats; optional container_id |
top | synapse:read | Show running processes; requires container_id |
search | synapse:read | Full-text search by name/image/labels; requires query |
start | synapse:write | Start a stopped container; requires host, container_id |
stop | synapse:write | Stop a running container (destructive); requires host, container_id |
restart | synapse:write | Restart a container; requires host, container_id |
pause | synapse:write | Pause a running container; requires host, container_id |
resume | synapse:write | Resume a paused container; requires host, container_id |
| pull | synapse:write | Pull latest image for a container; requires host
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요