Epeaky host について
Epeaky hostは、既存のサーバーにEpeaky denをセットアップして運用するためのMCPサーバーです。運用者自身のSSH接続を使い、SSH鍵を保持せず、読み取り専用ツールとサーバーを変更するツールを区別します。
主な機能
- 01ホストの準備状況と設定を確認
- 02Epeaky、Docker、Caddyをインストール
- 03denの状態とログを確認
- 04所有者、招待、参加申請を管理
- 05許可された設定の変更とEpeakyの更新
活用シーン
- 01Epeaky denの導入前にサーバーを確認
- 02SSH経由でdenをインストールして設定
- 03参加申請を確認し、招待を管理
- 04ログの確認や既存denの更新
MCP 対応
このMCPサーバーは、運用者のSSHアクセスを通じてEpeaky denの確認、導入、管理ツールを提供します。サーバーを変更するツールは読み取り専用ではないと示され、MCPクライアントが承認を求められます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
11掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| domain | string | はい | den に使用するドメイン(例:chat.example.org)。 |
| server | string | はい | サーバーを user@host(アドレスまたは名前)で指定します。ユーザーの SSH キーで接続できる必要があります。 |
詳細
epeaky-host-mcp
お使いのサーバー上に Epeaky のデンをセットアップして実行します。Claude Desktop、Claude Code など、任意の MCP クライアントから利用できます。お客様ご自身の SSH を使用するため、鍵を保持せず、何も保存せず、サーバーを作成、レンタル、購入することもありません。
claude mcp add epeaky-host -- npx -y epeaky-host-mcp
または、任意の MCP クライアントの設定に次の内容を追加します。
{ "command": "npx", "args": ["-y", "epeaky-host-mcp"] }
SSH キーでサーバーに接続できる必要があります(ssh user@server がパスワードなしで実行できること)。Node 22 以降が必要です。
これは意図的に epeaky-mcp とは別のものです。そちらはデンのルーム内で動作するエージェントですが、こちらはデンのサーバーの root 権限を持ちます。それぞれをエージェントに渡す際は、内容をよく確認してください。
ツール
| ツール | サーバーを変更 | 内容 |
|---|---|---|
host_check | いいえ | システム、メモリ、ディスク、sudo、ポート 80/443、Docker、ドメインがサーバーを指しているか(パブリックリゾルバーから確認)、NAT、ファイアウォールを確認し、問題がない項目と修正が必要な項目を報告します |
host_install | はい | Docker がない場合はインストールし、デンと Caddy を /opt/epeaky に配置して、証明書とファイアウォールのポートを設定します。最初の招待リンクを返します |
host_status | いいえ | オーナー、メンバー、参加リクエスト、招待を確認します |
host_logs | いいえ | デンの最新ログ行を確認します |
host_owner | はい | デバイス(ページに表示されている m-…)をオーナーにします |
host_invite | はい | 1 回だけ使える招待リンクを作成します |
host_withdraw | はい | 招待と、その招待で入ったパスを取り消します |
host_approve、host_decline | はい | 参加リクエストを承認または却下します |
host_setting | はい | /opt/epeaky/.env の既知の設定を(最初にバックアップしてから)変更し、再起動します |
host_update | はい | 最新の Epeaky に更新します |
サーバーを変更するツールにはその旨が明示されているため(readOnlyHint: false)、クライアントは呼び出しごとに確認を求めます。招待リンクは、お客様だけに表示するよう指示を添えて返されます。
安全性を保つ仕組み
- すべての値は、ssh に渡される前に厳密な形式に照らして検証されます。 対象はサーバー(
user@host)、ドメイン、ID(16 進数)、デバイス名、件数、個別のルールが定められた各設定です。ssh はコマンドを 1 つの文字列としてサーバーのシェルに渡すため、値がコマンドとして扱われないようにするのは引数リストではなく、この検証です。値はシングルクォートでも囲まれます。 - 変更できるのは次の設定のみです。
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。シークレットとドメインには一切触れません。 - パスワードは使いません。 sudo がパスワードを求めた場合、ツールはお客様自身で実行するための正確なコマンドを返します。
- ssh はバッチモードで実行され、サーバーのホストキーを初めて確認したときは受け入れます(
StrictHostKeyChecking=accept-new)。これは、最初に手動でsshを実行して承認した後の動作と同じです。キーが変更されていた場合は拒否されます。
EPEAKY_HOST_SSH は別の ssh を指定します。
テスト
npm test
テストでは、ツール一覧(サーバーを作成するものがないこと、変更を伴う操作が明示されていること)、不正な値が ssh に渡されないこと、各ツールが実行するコマンド、設定のルール、チェックのレポート、そして使用するすべての epeaky コマンドと設定がインストーラーとデンに存在することを確認します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。