JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 14
  • Score
    100M100P100Q41634F
  • License MIT

MCP tool for interacting with Garry's Mod server via RCON and Lua code execution

Package Exports

  • gmod-mcp
  • gmod-mcp/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gmod-mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

GMod MCP Tool

MCP (Model Context Protocol) tool для взаимодействия с сервером Garry's Mod через RCON.

License: MIT

Возможности

  • Подключение к серверу: Подключение к GMod серверу через RCON
  • Выполнение RCON команд: Отправка любых RCON команд на сервер
  • Выполнение Lua кода: Выполнение Lua кода на сервере через команду lua_run

Установка

Через npm (рекомендуется)

npm install -g gmod-mcp

Или локально в проект:

npm install gmod-mcp

Из исходников

  1. Клонируйте репозиторий или скачайте проект
  2. Установите зависимости:
npm install
  1. Убедитесь, что на вашем GMod сервере включен RCON:
    • В файле server.cfg или autoexec.cfg добавьте:
    rcon_password "ваш_пароль"

Использование

Настройка в Cursor/Claude Desktop

Добавьте в конфигурацию MCP (обычно ~/.cursor/mcp.json или аналогичный файл):

Использование через npx (рекомендуется):

{
  "mcpServers": {
    "gmod": {
      "command": "npx",
      "args": ["-y", "gmod-mcp"]
    }
  }
}

Или после локальной установки:

{
  "mcpServers": {
    "gmod": {
      "command": "node",
      "args": ["node_modules/gmod-mcp/src/index.js"]
    }
  }
}

Примечание: Использование npx с флагом -y автоматически установит пакет при первом использовании, если он не установлен. Пример конфигурации находится в файле mcp-config-example.json.

Доступные инструменты

1. gmod_connect

Подключиться к серверу GMod через RCON.

Параметры:

  • host (обязательно): IP адрес или хост сервера
  • port (опционально): RCON порт (по умолчанию 27015)
  • password (обязательно): RCON пароль

2. gmod_execute_rcon

Выполнить RCON команду на сервере.

Параметры:

  • command (обязательно): RCON команда для выполнения

Примеры команд:

  • status - получить статус сервера
  • say Привет всем! - отправить сообщение в чат
  • kick PlayerName - кикнуть игрока

3. gmod_execute_lua

Выполнить Lua код на сервере.

Параметры:

  • code (обязательно): Lua код для выполнения

Примеры:

print("Hello from RCON!")
for k, v in pairs(player.GetAll()) do
    print(v:Nick())
end

4. gmod_disconnect

Отключиться от сервера.

Примеры использования

Подключение и выполнение команды

  1. Сначала подключитесь: gmod_connect с параметрами host, port, password
  2. Затем выполните команду: gmod_execute_rcon с параметром command

Выполнение Lua кода

  1. Подключитесь через gmod_connect
  2. Выполните Lua код через gmod_execute_lua с параметром code

Требования

  • Node.js 18+
  • Garry's Mod сервер с включенным RCON
  • Знание RCON пароля сервера

Примечания

  • RCON должен быть включен на сервере
  • Убедитесь, что порт RCON открыт в файрволе
  • Lua код выполняется на стороне сервера
  • Некоторые команды могут требовать админских прав
  • Подключение автоматически переподключается при необходимости
  • Для выполнения Lua кода используется команда lua_run, которая доступна только на серверной стороне

Устранение неполадок

Ошибка подключения

  • Проверьте, что сервер запущен и доступен
  • Убедитесь, что RCON пароль правильный
  • Проверьте, что порт не заблокирован файрволом

Ошибка выполнения команды

  • Убедитесь, что вы подключены к серверу (gmod_connect)
  • Проверьте синтаксис команды
  • Некоторые команды могут требовать специальных прав

Lua код не выполняется

  • Убедитесь, что используете правильный синтаксис Lua
  • Проверьте, что код не содержит синтаксических ошибок
  • Некоторые функции могут быть недоступны в зависимости от конфигурации сервера
  • Важно: Многострочный Lua код нужно писать в одну строку с точками с запятой (;) или использовать простые однострочные команды
  • Пример многострочного кода в одну строку: local players = player.GetAll(); for k, v in pairs(players) do print(v:Nick()) end

Лицензия

MIT