Skip to main content
Glama
Axolotlpi

mcp-home-server

by Axolotlpi

mcp-home-server

Selbst-hostbarer MCP-Server, der Claude Werkzeuge zum Ausführen von Shell-Skripten und Lesen von Dateien auf einem Heimserver zur Verfügung stellt. Läuft auf einer Multipass-VM, bereitgestellt über einen Cloudflare-Tunnel.

Werkzeuge

Werkzeug

Was es tut

run_script(name, args[])

Führt /opt/mcp-server/scripts/{name} auf der VM aus

read_file(path)

Gibt den Dateiinhalt zurück (uneingeschränkter Pfad — die VM ist die Sandbox)

update_self()

git pull + systemctl restart — übernimmt automatisch neue Skripte


Related MCP server: MCP Research Tools

VM-Bereitstellung

git clone git@github.com:Axolotlpi/mcp-home-server.git /opt/mcp-server
cp /opt/mcp-server/.env.example /opt/mcp-server/.env
nano /opt/mcp-server/.env          # set MCP_TOKEN to a long random secret
sudo bash /opt/mcp-server/setup.sh

Erlaube dem Dienst, sich ohne Passwortabfrage selbst neu zu starten:

echo 'ubuntu ALL=(ALL) NOPASSWD: /bin/systemctl restart mcp-server' \
  | sudo tee /etc/sudoers.d/mcp-server

Cloudflare-Tunnel-Einrichtung

Dies macht 127.0.0.1:8000 auf der VM über eine öffentliche HTTPS-URL zugänglich, ohne Firewall-Ports zu öffnen.

1. cloudflared installieren

curl -L https://pkg.cloudflare.com/cloudflare-main.gpg \
  | sudo tee /usr/share/keyrings/cloudflare-main.gpg > /dev/null
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared jammy main' \
  | sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt update && sudo apt install cloudflared -y

2. Authentifizieren und einen Tunnel erstellen

cloudflared tunnel login           # opens browser — pick your domain
cloudflared tunnel create mcp-server

Notieren Sie sich die Tunnel-ID, die nach der Erstellung ausgegeben wird.

3. Die Konfigurationsdatei erstellen

sudo mkdir -p /etc/cloudflared
sudo tee /etc/cloudflared/config.yml <<EOF
tunnel: <YOUR_TUNNEL_ID>
credentials-file: /root/.cloudflared/<YOUR_TUNNEL_ID>.json

ingress:
  - hostname: mcp.yourdomain.com
    service: http://127.0.0.1:8000
  - service: http_status:404
EOF

Ersetzen Sie <YOUR_TUNNEL_ID> und mcp.yourdomain.com durch Ihre eigenen Werte.

4. DNS routen

cloudflared tunnel route dns mcp-server mcp.yourdomain.com

Dies erstellt einen CNAME-Eintrag in Ihrem Cloudflare-Dashboard, der auf den Tunnel verweist.

5. Als Dienst ausführen

sudo cloudflared service install
sudo systemctl enable --now cloudflared

Der Tunnel startet nun beim Booten. Ihr Server ist unter https://mcp.yourdomain.com erreichbar.


Zu Claude hinzufügen

Der MCP-Server spricht SSE. Der Endpunkt ist https://mcp.yourdomain.com/sse.

Claude Desktop

Bearbeiten Sie claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "home-server": {
      "url": "https://mcp.yourdomain.com/sse",
      "headers": {
        "Authorization": "Bearer YOUR_MCP_TOKEN"
      }
    }
  }
}

Starten Sie Claude Desktop nach dem Speichern neu.

Claude Code (CLI)

claude mcp add --transport sse home-server https://mcp.yourdomain.com/sse \
  --header "Authorization: Bearer YOUR_MCP_TOKEN"

Oder fügen Sie es manuell zu .claude/settings.json hinzu:

{
  "mcpServers": {
    "home-server": {
      "type": "sse",
      "url": "https://mcp.yourdomain.com/sse",
      "headers": {
        "Authorization": "Bearer YOUR_MCP_TOKEN"
      }
    }
  }
}

Neue Skripte hinzufügen

  1. Fügen Sie Ihr Skript zu scripts/ hinzu und pushen Sie es auf GitHub

  2. Sagen Sie Claude: "run update_self" — es lädt den neuesten Code und startet neu

  3. Sagen Sie Claude: "run my-script.sh" — es wird auf der VM ausgeführt

Die Verbindung wird während des Neustarts in Schritt 2 kurz unterbrochen. Das ist zu erwarten.

Um zu verhindern, dass ein Skript über die API aufgerufen werden kann, fügen Sie dessen Dateinamen zu blacklist.txt hinzu.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server that enables Claude to control your computer, similar to Anthropic's computer use but easy to set up locally.
    351 npm
    382
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Local-first MCP server that gives Claude Code web search, page reading, video transcription, and image analysis — without paid API keys. Runs SearXNG + whisper.cpp natively on Apple Silicon for zero-cost, low-latency research workflows.
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A remote MCP server that gives Claude (and ChatGPT/Gemini) persistent read/write access to your own memory: books, games, projects, notes, and freeform facts.
    -