Skip to main content
Glama
Axolotlpi

mcp-home-server

by Axolotlpi

mcp-home-server

Самохостируемый MCP-сервер, который предоставляет Claude инструменты для запуска shell-скриптов и чтения файлов на домашнем сервере. Работает на виртуальной машине Multipass, доступ открыт через Cloudflare Tunnel.

Инструменты

Инструмент

Что он делает

run_script(name, args[])

Запускает /opt/mcp-server/scripts/{name} на виртуальной машине

read_file(path)

Возвращает содержимое файла (путь не ограничен — виртуальная машина является песочницей)

update_self()

git pull + systemctl restart — автоматически подхватывает новые скрипты


Related MCP server: MCP Research Tools

Развертывание виртуальной машины

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

Разрешите службе перезапускаться без запроса пароля:

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

Настройка Cloudflare Tunnel

Это открывает доступ к 127.0.0.1:8000 на виртуальной машине через публичный HTTPS URL без открытия портов брандмауэра.

1. Установка cloudflared

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. Аутентификация и создание туннеля

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

Запишите ID туннеля, который отобразится после создания.

3. Создание файла конфигурации

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

Замените <YOUR_TUNNEL_ID> и mcp.yourdomain.com на ваши значения.

4. Настройка DNS

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

Это создает запись CNAME в вашей панели управления Cloudflare, указывающую на туннель.

5. Запуск в качестве службы

sudo cloudflared service install
sudo systemctl enable --now cloudflared

Туннель теперь будет запускаться при загрузке. Ваш сервер доступен по адресу https://mcp.yourdomain.com.


Добавление в Claude

MCP-сервер использует протокол SSE. Конечная точка: https://mcp.yourdomain.com/sse.

Claude Desktop

Отредактируйте 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"
      }
    }
  }
}

После сохранения перезапустите Claude Desktop.

Claude Code (CLI)

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

Или добавьте его в .claude/settings.json вручную:

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

Добавление новых скриптов

  1. Добавьте свой скрипт в папку scripts/ и отправьте изменения в GitHub

  2. Скажите Claude: "run update_self" — он подтянет актуальный код и перезапустится

  3. Скажите Claude: "run my-script.sh" — он выполнит скрипт на виртуальной машине

Во время перезапуска на шаге 2 соединение на короткое время прервется. Это ожидаемое поведение.

Чтобы запретить вызов скрипта через API, добавьте его имя файла в blacklist.txt.

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.
    -