ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Synapse RMCP

โดย dinglebear-aiรุ่น 1.0.0i★ –iรันบนเครื่อง
ชื่อใน registryai.dinglebear/synapse

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Host, Docker, Compose, SSH, logs, ZFS, and file operations over MCP and CLI.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: เครื่องมือนักพัฒนา

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: SYNAPSE_HOME, SYNAPSE_HOSTS_CONFIG, SYNAPSE_CONFIG_FILE, SYNAPSE_RMCP_VERSION, SYNAPSE_RMCP_REPO, SYNAPSE_RMCP_RELEASE_BASE_URL, RUST_LOG

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "synapse": {
      "command": "npx",
      "args": [
        "-y",
        "@dinglebear/synapse",
        "mcp"
      ],
      "env": {
        "SYNAPSE_HOME": "ใส่ค่าของคุณ",
        "SYNAPSE_HOSTS_CONFIG": "ใส่ค่าของคุณ",
        "SYNAPSE_CONFIG_FILE": "ใส่ค่าของคุณ",
        "SYNAPSE_RMCP_VERSION": "ใส่ค่าของคุณ",
        "SYNAPSE_RMCP_REPO": "ใส่ค่าของคุณ",
        "SYNAPSE_RMCP_RELEASE_BASE_URL": "ใส่ค่าของคุณ",
        "RUST_LOG": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add synapse --env SYNAPSE_HOME='ใส่ค่าของคุณ' --env SYNAPSE_HOSTS_CONFIG='ใส่ค่าของคุณ' --env SYNAPSE_CONFIG_FILE='ใส่ค่าของคุณ' --env SYNAPSE_RMCP_VERSION='ใส่ค่าของคุณ' --env SYNAPSE_RMCP_REPO='ใส่ค่าของคุณ' --env SYNAPSE_RMCP_RELEASE_BASE_URL='ใส่ค่าของคุณ' --env RUST_LOG='ใส่ค่าของคุณ' -- npx -y @dinglebear/synapse mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "synapse": {
      "command": "npx",
      "args": [
        "-y",
        "@dinglebear/synapse",
        "mcp"
      ],
      "env": {
        "SYNAPSE_HOME": "ใส่ค่าของคุณ",
        "SYNAPSE_HOSTS_CONFIG": "ใส่ค่าของคุณ",
        "SYNAPSE_CONFIG_FILE": "ใส่ค่าของคุณ",
        "SYNAPSE_RMCP_VERSION": "ใส่ค่าของคุณ",
        "SYNAPSE_RMCP_REPO": "ใส่ค่าของคุณ",
        "SYNAPSE_RMCP_RELEASE_BASE_URL": "ใส่ค่าของคุณ",
        "RUST_LOG": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "synapse": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@dinglebear/synapse",
        "mcp"
      ],
      "env": {
        "SYNAPSE_HOME": "ใส่ค่าของคุณ",
        "SYNAPSE_HOSTS_CONFIG": "ใส่ค่าของคุณ",
        "SYNAPSE_CONFIG_FILE": "ใส่ค่าของคุณ",
        "SYNAPSE_RMCP_VERSION": "ใส่ค่าของคุณ",
        "SYNAPSE_RMCP_REPO": "ใส่ค่าของคุณ",
        "SYNAPSE_RMCP_RELEASE_BASE_URL": "ใส่ค่าของคุณ",
        "RUST_LOG": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • SYNAPSE_HOME env
    Optional Synapse appdata directory.
  • SYNAPSE_HOSTS_CONFIG env
    Inline host topology as a JSON array.
  • SYNAPSE_CONFIG_FILE env
    Path to a host configuration file.
  • SYNAPSE_RMCP_VERSION env
    Optional GitHub release tag override for the downloaded Synapse binary.
  • SYNAPSE_RMCP_REPO env
    Optional GitHub owner/repo override for release asset downloads.
  • SYNAPSE_RMCP_RELEASE_BASE_URL env
    Optional release download base URL override.
  • RUST_LOG env
    Tracing filter for Synapse logs.

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันโดเมน dinglebear.ai แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด เครื่องมือนักพัฒนาi

  • ดาวมากกว่า 0% ของอีก 1385 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 39% ของอีก 1385 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1385 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Synapse RMCP ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.0) เข้า registry 3 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

GitHub

โดย github

server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้

บนเครื่องหรือคลาวด์★ 34,245MITอัปเดต 3 วันที่ผ่านมา
ติดตั้ง

Desktop Commander

โดย wonderwhy-er

MCP server for terminal commands, file operations, and process management

รันบนเครื่อง★ 10,225MITอัปเดต 15 วันที่ผ่านมา
ติดตั้ง

Cloudflare MCP

โดย cloudflare

Cloudflare MCP servers

รันบนคลาวด์★ 4,446Apache-2.0อัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

synapse-rmcp

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.

Contents

  • Naming
  • Capabilities And Boundaries
  • Install
  • Quickstart
  • Client Configuration
  • Plugin Packages
  • Runtime Surfaces
  • MCP Tool Reference
  • CLI Reference
  • Authentication
  • Safety And Trust Model
  • Distribution Contract
  • Verification
  • Deployment
  • Troubleshooting
  • Tools and Actions
  • Known Parity Gaps
  • Configuration
  • Run
  • Architecture
  • Development
  • Documentation
  • Related Servers
  • License

Naming

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.

Capabilities And Boundaries

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.
  • REST exists only as a compatibility shim for a subset of actions.
  • The web surface is a lightweight static admin shell, not a full dashboard.

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.

Install

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.

Quickstart

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" } } }

Client Configuration

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}" } } } }

Plugin Packages

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.

Runtime Surfaces

SurfaceStatusPurpose
MCPRequiredAgent-facing flux and scout tools
CLIRequiredScriptable parity surface for operators
RESTCompatibilityThin local action endpoint for 14 of 59 actions
WebPresentLightweight static admin shell

MCP Tool Reference

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.

CLI Reference

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

Authentication

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.

Safety And Trust Model

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.

Distribution Contract

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:

  • The npm package downloads the matching GitHub Release binary.
  • The installed binary remains synapse.
  • server.json must point at ghcr.io/dinglebear-ai/synapse: .
  • Plugin manifests stay versionless where marketplaces derive identity from git state.
  • Generated docs and schemas must come from source-controlled generation inputs; curated README/docs should point at source-of-truth files for details.

Verification

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

Deployment

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.

Troubleshooting

  • 401 or 403 from /mcp: check bearer/OAuth settings and gateway headers.
  • no hosts appear: check SYNAPSE_HOSTS_CONFIG, SYNAPSE_CONFIG_FILE, and ~/.ssh/config.
  • destructive actions are refused: confirm the host target and confirmation policy.
  • SSH errors: verify OpenSSH known_hosts, mux/socket availability, and host reachability outside Synapse first.

Tools and Actions

flux — Docker infrastructure management
flux docker — Docker daemon operations (9 actions)
SubactionScopeDescription
infosynapse:readDocker daemon information
dfsynapse:readDocker disk usage
imagessynapse:readList Docker images; dangling_only to filter untagged
networkssynapse:readList Docker networks
volumessynapse:readList Docker volumes
pullsynapse:writePull a Docker image; requires host, image
buildsynapse:writeBuild a Docker image; requires host, context, tag; optional dockerfile, no_cache
rmisynapse:writeRemove a Docker image; requires host, image, force=true
prunesynapse:writeRemove unused resources; requires host, prune_target, force=true
flux container — Container lifecycle + inspection (14 actions)
SubactionScopeDescription
listsynapse:readList containers; optional state, name_filter, image_filter, label_filter
inspectsynapse:readDetailed container info; requires container_id; optional summary
logssynapse:readContainer logs; requires container_id; optional lines, since, until, grep, stream
statssynapse:readResource usage stats; optional container_id
topsynapse:readShow running processes; requires container_id
searchsynapse:readFull-text search by name/image/labels; requires query
startsynapse:writeStart a stopped container; requires host, container_id
stopsynapse:writeStop a running container (destructive); requires host, container_id
restartsynapse:writeRestart a container; requires host, container_id
pausesynapse:writePause a running container; requires host, container_id
resumesynapse:writeResume a paused container; requires host, container_id

| pull | synapse:write | Pull latest image for a container; requires host

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx