mcp_ruvds.com

mcp_ruvds.com

MCP server for creating and managing VPS in RUVDS via API v2. Provides tools for Cursor and other MCP clients: server list, catalog, create/change VPS, balance, actions, SSH keys, notifications, payments.

Category
Visit Server

README

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

Требования

Установка

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured