Skip to main content
Glama
kohaku4yz

Haru VPS MCP

by kohaku4yz

Haru VPS MCP

Мини-туннель к мини-компьютеру для ChatGPT.

Haru VPS MCP — это небольшой самохостинговый MCP-шлюз для изолированного VPS-рабочего пространства. Он предоставляет MCP-клиенту ограниченный набор возможностей файловой системы и оболочки, не превращая сам хост в рабочее пространство.

MCP client / authenticated tunnel
              |
              v
      Haru MCP gateway
        127.0.0.1:8765
              |
       +------+------+
       |             |
       v             v
 filesystem MCP   shell MCP
  loopback only   loopback only
       |             |
       +------v------+
       isolated workspace

Граница публичного/приватного

Этот репозиторий — чистое публичное эталонное распространение, а не зеркало приватного продакшн-окружения автора. Он намеренно исключает приватные домены, идентификацию машины, учётные данные, материалы инцидентов, состояние продакшн-развёртывания, сопутствующие личные сервисы и содержимое рабочего пространства, принадлежащее владельцу.

Многократно используемая граница проста: шлюз и делегированные бэкенды рабочего пространства остаются на loopback, а любой удалённый доступ обеспечивается отдельно аутентифицируемым туннелем или обратным прокси.

Related MCP server: FieldCure MCP Filesystem Server

Модель безопасности

Haru MCP предоставляет мощные инструменты файловой системы и оболочки для рабочего пространства, поэтому относитесь к конечной точке как к привилегированной.

  • Шлюз отклоняет адреса привязки, отличные от loopback.

  • URL-адреса бэкендов рабочего пространства должны быть явными loopback HTTP-конечными точками и не могут содержать учётные данные.

  • Необязательные публичные списки разрешений Host/Origin — это только усиление транспорта. Они не являются аутентификацией.

  • deploy/Caddyfile.example закрыт по отказу с HTTP 403. Заменяйте его только тогда, когда ваш уровень входа действительно аутентифицирует клиентов.

  • Не открывайте анонимный доступ к шлюзу или бэкендам рабочего пространства через Интернет.

  • Держите делегированное рабочее пространство одноразовым и отдельным от конфигурации хоста, учётных данных, домашних каталогов и продакшн-данных.

Эта первая публичная выгрузка является эталонной реализацией. Она сохраняет консервативные границы приватного проекта, но это не утверждение, что произвольные развёртывания безопасны для продакшена без проверки оператором.

Установка и тестирование

Требуется Python 3.10+.

python -m venv .venv
. .venv/bin/activate
pip install -e '.[test]'
pytest

Вы также можете запустить локальную точку входа проверки репозитория:

./deploy/verify.sh

Настройка

Начните с примера файла окружения:

cp deploy/haru-mcp.env.example .env

По умолчанию шлюз слушает 127.0.0.1:8765/mcp и делегирует запросы двум loopback MCP-бэкендам на порту 8766. Эти бэкенды сами должны быть ограничены выделенным корнем рабочего пространства.

Если аутентифицированный обратный прокси или туннель перенаправляет публичное имя хоста на loopback-шлюз, задайте оба параметра:

HARU_MCP_PUBLIC_HOST=mcp.example.com
HARU_MCP_PUBLIC_ORIGIN=https://mcp.example.com

Эти настройки только расширяют проверку Host/Origin. Они не добавляют аутентификацию.

Запуск

haru-mcp

Публичная поверхность инструментов намеренно мала: проверка здоровья шлюза, листинг/чтение/запись/редактирование/перемещение/stat рабочего пространства и изолированное выполнение команд оболочки, делегированное loopback MCP-бэкендам.

Примеры развёртывания

deploy/haru-mcp.service.example показывает форму жёстко настроенного systemd-сервиса. deploy/Caddyfile.example намеренно закрыт по отказу, пока оператор не предоставит аутентифицированный дизайн входного уровня.

Лицензия

Для этого публичного репозитория ещё не выбрана лицензия. Лицензирование — последующая задача владельца перед более широким выпуском.

Related MCP Connectors

Related MCP Servers