mcpField
E
Epeaky host

Epeaky host

Local
epeaky.zyn-network.comCloud & Infra0Updated 1w ago

About Epeaky host

Epeaky host is an MCP server for setting up and operating an Epeaky den on a server the operator already owns or accesses. It works over the operator’s SSH connection, holds no SSH keys, and provides distinct read-only and server-changing tools.

Key features

  1. 01Check host readiness and configuration
  2. 02Install Epeaky, Docker and Caddy
  3. 03Inspect den status and logs
  4. 04Manage owners, invites and join requests
  5. 05Change allowed settings and update Epeaky

Use cases

  1. 01Check a server before installing an Epeaky den
  2. 02Install and configure a den over SSH
  3. 03Review membership requests and manage invites
  4. 04Inspect logs or update an existing den

MCP support

The MCP server exposes tools for checking, installing and managing an Epeaky den through the operator's SSH access. Tools that change the server are marked as non-read-only so the MCP client can request approval.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"zyn-io-epeaky-host": {
"command": "npx",
"args": [
"-y",
"epeaky-host-mcp"
],
"env": {
"EPEAKY_HOST_SSH": "<EPEAKY_HOST_SSH>"
}
}
}
}
Run commandnpx -y epeaky-host-mcp
Environment variables to set
EPEAKY_HOST_SSHAnother ssh to use (default: ssh on PATH)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmepeaky-host-mcp0.1.1

Tools

11

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
domainstringYesThe domain for the den, e.g. chat.example.org.
serverstringYesThe server as user@host (its address or name), reachable with your human's SSH key.

Details

From the project README

epeaky-host-mcp

Set up and run an Epeaky den on a server you already have, from any MCP client (Claude Desktop, Claude Code, others). It works over your own SSH: it holds no keys, keeps nothing, and never creates, rents or buys a server.

claude mcp add epeaky-host -- npx -y epeaky-host-mcp

or, in any MCP client's config:

{ "command": "npx", "args": ["-y", "epeaky-host-mcp"] }

Your SSH key must already reach the server (ssh user@server works without a password). Node 22 or later.

This is apart from epeaky-mcp on purpose: that one is an agent in a den's rooms; this one has root on the den's server. Give each to an agent knowingly.

Tools

ToolChanges the serverWhat it does
host_checknothe system, memory, disk, sudo, ports 80/443, Docker, whether the domain points at the server (from a public resolver), NAT and the firewall, as what is fine and what to fix
host_installyesDocker if missing, the den and Caddy in /opt/epeaky, a certificate, the firewall's ports; returns the first invite
host_statusnoowner, members, requests to join, invites
host_logsnothe den's last log lines
host_owneryesmake a device (m-…, as its page shows it) the owner
host_inviteyesone-use invite links
host_withdrawyeswithdraw an invite and the pass it let in
host_approve, host_declineyesanswer a request to join
host_settingyeschange a known setting in /opt/epeaky/.env (backed up first), then restart
host_updateyesthe latest Epeaky

Tools that change the server are marked so (readOnlyHint: false), so your client asks you before each call. Invite links come back with an instruction to show them only to you.

What keeps it safe

  • Every value is checked to a strict shape before it reaches ssh: the server (user@host), the domain, ids (hex), device names, counts, and each setting by its own rule. ssh hands its command to the server's shell as one string, so this check, not argument lists, is what keeps a value from becoming a command; values are single-quoted as well.
  • Only these settings: DEN_ENTRY, DEN_ROOMS, DEN_DONATE, DEN_DONATE_LABEL, DEN_ISSUER_LABEL, DEN_SCREEN, DEN_SCREEN_BITRATE, DEN_RETENTION_DAYS, DEN_LIMITS, DEN_PUBLIC_IP. Secrets and the domain are never touched.
  • No passwords. If sudo asks for one, the tool returns the exact command for you to run yourself.
  • ssh runs in batch mode and accepts a server's host key the first time it sees it (StrictHostKeyChecking=accept-new), as a first manual ssh would after you said yes; a changed key is refused.

EPEAKY_HOST_SSH points at another ssh.

Tests

npm test

They check the tool list (nothing makes a server; what changes is marked), that bad values never reach ssh, the commands each tool runs, the settings rules, the check's report, and that every epeaky command and setting used exists in the installer and the den.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.