Skip to main content
Glama
mcp_ruvds.com

mcp_ruvds.com

by firstend

MCP RUVDS

MCP-сервер для создания и управления VPS в RUVDS через API v2. Предоставляет инструменты (tools) для Cursor и других MCP-клиентов: список серверов, каталог (дата-центры, тарифы, ОС), создание/изменение VPS, баланс, действия, SSH-ключи, уведомления, платежи.

Быстрый старт

cp .env.example .env   # указать RUVDS_TOKEN
npm install && npm run build

Подключить сервер в настройках MCP Cursor (см. раздел Подключение в Cursor). После этого в чате с ИИ доступны инструменты ruvds_*.

Related MCP server: OVHcloud MCP Server

Требования

Установка

npm install

Настройка

Скопируйте .env.example в .env и укажите токен:

cp .env.example .env
# Отредактируйте .env: RUVDS_TOKEN=ваш_токен

Токен должен иметь нужные права:

  • read — список серверов, каталог, баланс, действия, уведомления, платежи, SSH-ключи

  • write — создание/изменение серверов, команды (power_on/off, reboot, shutdown), создание SSH-ключей

  • remove — удаление серверов и SSH-ключей (при необходимости выдаётся в ЛК RUVDS)

Запуск

  • Разработка: npm run dev

  • Сборка: npm run build

  • Запуск: npm start (или node dist/index.js)

Сервер работает по stdio: клиент (Cursor и др.) запускает процесс и общается через stdin/stdout.


Docker

Сборка образа:

docker build -t mcp-ruvds:latest .

Проверка образа

  1. Быстрый запуск (контейнер ждёт ввода по stdio; выход — Ctrl+C):

docker run -i --rm -e RUVDS_TOKEN=ваш_токен mcp-ruvds:latest

Если токен не задан, сервер всё равно стартует, но вызовы к API будут возвращать ошибку.

  1. Полная проверка (initialize + tools/list + опционально вызов API):

# без токена — только список инструментов
npm run test:mcp:docker

# с токеном — плюс вызов ruvds_list_datacenters
export RUVDS_TOKEN=ваш_токен
npm run test:mcp:docker

Контейнер при работе с Cursor запускает сам Cursor по мере обращения к MCP.


Подключение в Cursor

Cursor подключается к MCP по stdio: запускает процесс (или контейнер) и передаёт токен через переменные окружения.

Куда вписать настройки

  • macOS: ~/Library/Application Support/Cursor/User/globalStorage/cursor.mcp/mcp.json

  • Windows: %APPDATA%\Cursor\User\globalStorage\cursor.mcp\mcp.json

  • Linux: ~/.config/Cursor/User/globalStorage/cursor.mcp/mcp.json

Либо: Cursor → Settings → MCP и добавить сервер в конфиг.

Вариант 1: запуск без Docker (Node.js на хосте)

В конфиге MCP добавьте блок ruvds (путь к проекту замените на свой):

{
  "mcpServers": {
    "ruvds": {
      "command": "node",
      "args": ["/полный/путь/к/mcp_ruvds.com/dist/index.js"],
      "env": {
        "RUVDS_TOKEN": "ваш_токен_из_ruvds"
      }
    }
  }
}

Перед этим выполните в каталоге проекта:

cd /полный/путь/к/mcp_ruvds.com
npm install
npm run build

Токен можно не хранить в конфиге: задайте переменную окружения в системе и в блоке ruvds укажите только "env": {} или не указывайте env — Cursor передаст переменные процесса в MCP.

Вариант 2: запуск через Docker

Соберите образ один раз:

cd /полный/путь/к/mcp_ruvds.com
docker build -t mcp-ruvds:latest .

В конфиге MCP добавьте:

{
  "mcpServers": {
    "ruvds": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "RUVDS_TOKEN",
        "mcp-ruvds:latest"
      ],
      "env": {
        "RUVDS_TOKEN": "ваш_токен_из_ruvds"
      }
    }
  }
}
  • -i — держит stdin открытым для протокола MCP.

  • --rm — удаляет контейнер после завершения.

  • -e RUVDS_TOKEN — пробрасывает переменную из окружения Cursor в контейнер; значение задаётся в env.RUVDS_TOKEN.

Если RUVDS_TOKEN уже задан в системе и Cursor наследует окружение, можно оставить только проброс в контейнер:

"ruvds": {
  "command": "docker",
  "args": ["run", "-i", "--rm", "-e", "RUVDS_TOKEN", "mcp-ruvds:latest"]
}

Проверка в Cursor

После сохранения конфига перезапустите Cursor или перезагрузите MCP. В чате с AI должны появиться инструменты RUVDS (например, ruvds_list_servers, ruvds_list_datacenters). Можно написать: «Покажи список моих серверов в RUVDS» или «Какие дата-центры есть в RUVDS?».

Инструменты (Tools)

Tool

Описание

Серверы

ruvds_list_servers

Список VPS (пагинация, поиск, опция IP/paid_till)

ruvds_get_server

Один сервер по ID

ruvds_create_server

Создать VPS (datacenter, tariff, os_id/template_id, cpu, ram, drive, ip, payment_period и др.)

ruvds_change_server

Изменить конфиг (cpu, ram, drive, ip; опция get_price_only)

ruvds_delete_server

Удалить VPS

ruvds_server_action

Команда: power_on, power_off, shutdown, reboot

ruvds_server_cost

Стоимость продления

ruvds_server_networks

IP-адреса

ruvds_server_paid_till

Дата оплаты до

ruvds_server_power_state

Состояние питания (running/off/starting/stopping)

Каталог

ruvds_list_datacenters

Дата-центры

ruvds_list_tariffs

Тарифы (VPS, диски, доп. услуги, скидки)

ruvds_list_os

Образы ОС

ruvds_list_templates

Шаблоны (маркетплейс, снапшоты)

Прочее

ruvds_get_balance

Баланс (тип: default/bonus/partner, валюта)

ruvds_list_actions

Список действий (создание/изменение/команды)

ruvds_get_action

Статус действия по ID

ruvds_list_ssh_keys

SSH-ключи

ruvds_get_ssh_key

Один SSH-ключ

ruvds_create_ssh_key

Добавить ключ

ruvds_delete_ssh_key

Удалить ключ

ruvds_list_notifications

Оповещения

ruvds_notifications_count

Количество по статусу

ruvds_mark_notification_read

Отметить прочитанным/непрочитанным

ruvds_mark_all_notifications

Отметить все

ruvds_list_payments

Список платежей (только чтение)

Операции оплаты (продление с баланса) в текущей версии не реализованы.

Параметры API: datacenter, tariff_id, drive_tariff_id, os_id — числовые ID из каталога (ruvds_list_datacenters, ruvds_list_tariffs, ruvds_list_os). payment_period: 1–5 (обычно 1 = 1 мес, 3 = 3 мес, 5 = 12 мес со скидками; точные скидки в ruvds_list_tariffs → payment_period_discount).

Структура проекта

  • src/index.ts — точка входа, MCP-сервер, stdio-транспорт, регистрация инструментов.

  • src/tools/ — инструменты по группам: servers, catalog, balance, actions, ssh-keys, notifications, payments.

  • src/ruvds/ — клиент HTTP (client.ts), обёртки API v2 (api.ts), типы (types.ts).

  • Подробно: docs/ARCHITECTURE.md — поток данных, как добавить инструмент, соглашения API.

Для разработчиков и ИИ

Чтобы быстро разобраться и внести изменения:

  1. Документация — README (этот файл), docs/ARCHITECTURE.md. API: OpenAPI RUVDS.

  2. Добавить инструмент: реализовать вызов API в src/ruvds/api.ts при необходимости; в src/tools/*.ts зарегистрировать server.tool("ruvds_<name>", zodSchema, handler); возвращать jsonContent(result) или handleError(e); обновить таблицу инструментов в README.

  3. Токен: обязателен для вызовов API; задаётся в RUVDS_TOKEN (env или конфиг MCP). Ошибка 401 — неверный или отсутствующий токен.

  4. Проверка: npm run build && npm run test:mcp; с токеном дополнительно вызывается ruvds_list_datacenters.

Документация API

Лицензия

MIT

Available Tools

26 tools
ruvds_change_serverD

Inputs: virtual_server_id (required), ip, cpu, ram, +3 more.

ruvds_create_serverB

Create a VPS or get price only. Pass get_price_only=true to get cost_rub without creating. IDs from ruvds_list_datacenters, ruvds_list_tariffs, ruvds_list_os. payment_period 1–5 (1=1mo, 3=3mo, 5=12mo). Either os_id or template_id.

Inputs: ip (required), cpu (required), ram (required), drive (required), +15 more.

ruvds_create_ssh_keyD

Inputs: name (required), public_key (required).

ruvds_delete_serverD

Inputs: virtual_server_id (required).

ruvds_delete_ssh_keyD

Inputs: ssh_key_id (required).

ruvds_get_actionD

Inputs: action_id (required).

ruvds_get_balanceD

Inputs: type, currency_id.

ruvds_get_serverD

Inputs: virtual_server_id (required).

ruvds_get_ssh_keyD

Inputs: ssh_key_id (required).

ruvds_list_actionsD

Inputs: page, sort, order, per_page.

ruvds_list_datacentersA

List RUVDS datacenters with IDs and available vps_tariffs, drive_tariffs. Use these IDs in ruvds_create_server (datacenter, tariff_id, drive_tariff_id).

Inputs: no named parameters.

ruvds_list_notificationsD

Inputs: page, status, per_page.

ruvds_list_osA

List available OS images (id, name, type linux/windows). Use os_id in ruvds_create_server. Ubuntu 22.04 LTS and others.

Inputs: no named parameters.

ruvds_list_paymentsD

Inputs: page, type, per_page.

ruvds_list_serversD

Inputs: page, search, per_page, get_network, +1 more.

ruvds_list_ssh_keysD

Inputs: no named parameters.

ruvds_list_tariffsA

List VPS tariffs, drive tariffs, payment_period_discount (e.g. period 3=5% off, 5=20% off). Use tariff IDs in create_server.

Inputs: no named parameters.

ruvds_list_templatesA

List templates (marketplace, snapshots). Use template_id (UUID) in ruvds_create_server instead of os_id if needed.

Inputs: no named parameters.

ruvds_mark_all_notificationsD

Inputs: status (required).

ruvds_mark_notification_readD

Inputs: status (required), notification_id (required).

ruvds_notifications_countD

Inputs: status (required).

ruvds_server_actionD

Inputs: type (required), virtual_server_id (required).

ruvds_server_costD

Inputs: virtual_server_id (required).

ruvds_server_networksD

Inputs: virtual_server_id (required).

ruvds_server_paid_tillD

Inputs: virtual_server_id (required).

ruvds_server_power_stateD

Inputs: virtual_server_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    D1.7/5.0

    Scored across 26 tools

    Disambiguation2/5

    Many tools lack descriptions (e.g., ruvds_get_action, ruvds_server_action, ruvds_change_server), making it hard to distinguish their purposes. Names like ruvds_server_action, ruvds_server_cost, and ruvds_get_server overlap in scope without clear differentiation.

    Naming Consistency3/5

    All tools share the 'ruvds_' prefix, but the naming pattern varies: some use verb_noun (list_servers, create_server), others noun_verb (server_action, server_cost), and singular/plural is inconsistent (list_servers vs get_server).

    Tool Count2/5

    26 tools is a large surface for a VPS management server, especially since many have no descriptions and cover niche actions (e.g., notifications, payments). The count feels bloated and could be consolidated.

    Completeness3/5

    The tool set covers server lifecycle (create, delete, get, list), datacenters/tariffs/OS, SSH keys, and notifications/payments. However, the absence of descriptions for many tools leaves uncertainty about gaps, and an update or rename tool is missing or unclear.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Open-source MCP server for managing Hetzner Cloud infrastructure with two management layers: * Layer 1 — Hetzner Cloud API (35 tools): Server power control, metrics, snapshots, backups, firewalls, DNS zones and records, rescue mode, server rebuild and rescale. Works even when the server OS is unresponsive. * Layer 2 — SSH (25 tools): Service management (systemd), Nginx config and reload,
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      MCP server for YouGPU REST API that enables GPU catalog browsing, instance lifecycle management (create, stop, start, delete), and balance checking.
      11
      -