Skip to main content
Glama
sbharga
by sbharga

Skript MCP

Этот проект предоставляет небольшой MCP-сервер, работающий поверх постоянно запущенного сервера Paper. Paper, Skript и установленные аддоны выступают в роли парсера: код на Python не пытается самостоятельно разбирать синтаксис Skript.

Образ по умолчанию содержит следующий профиль совместимости:

Компонент

Версия

Java

21

Paper

1.21.4 build 232

Skript

2.14.3

SkBee

3.16.1

skript-reflect

2.6.3

skript-gui

1.4.0

Каждый загруженный jar-файл проверяется во время сборки образа. Чтобы использовать другой авторитетный профиль, переопределите все соответствующие URL и контрольные суммы вместе в файле .env. Никогда не обновляйте только один аддон без проверки всего набора.

Skript 2.14.3 выбран намеренно для профиля 1.21.4. SkBee 3.16.1 — последний релиз SkBee для Minecraft 1.21.4, а более новые версии Skript 2.15/2.16 конфликтуют с его регистрацией типа audience из Adventure. Для перехода на более новый Skript потребуется обновить весь профиль до более новой версии Minecraft и SkBee.

Запуск Paper

Запустите скрипт настройки. Он проверяет Docker и uv, создаёт .env со случайным паролем RCON, устанавливает зависимости, собирает Paper и проверяет RCON:

./setup.sh

Для ручной настройки создайте локальный файл окружения и замените пароль на длинное случайное значение, содержащее только буквы, цифры, точки, подчёркивания или дефисы:

cp .env.example .env
docker compose build
docker compose up -d --wait

Установите PUID и PGID в .env равными выводу команд id -u и id -g. По умолчанию они равны 1000 и позволяют Paper читать созданные хостом временные файлы с правами 0600.

Логи Paper монтируются в runtime/logs. Скрипты хоста монтируются напрямую в /server/plugins/Skript/scripts из папки scripts. Данные мира и сгенерированные плагинами остаются в контейнере и могут быть удалены. Опубликован только RCON, привязанный к 127.0.0.1:25575; игровой порт не публикуется.

Проверьте запуск и версии плагинов с помощью:

docker compose logs paper
docker compose exec paper sh -c 'nc -z 127.0.0.1 25575'

Запуск MCP-сервера

Установите и запустите его с помощью uv:

uv sync
uv run --env-file .env skript-mcp

MCP-процесс считывает следующие переменные окружения:

Переменная

По умолчанию

RCON_PASSWORD

Обязательно

RCON_HOST

127.0.0.1

RCON_PORT

25575

SKRIPT_SCRIPTS_DIR

scripts

MINECRAFT_LOG_PATH

runtime/logs/latest.log

RCON_TIMEOUT

5 секунд

RELOAD_TIMEOUT

30 секунд

MAX_SCRIPT_BYTES

1048576

Для OpenCode добавьте локальную MCP-запись и передайте тот же пароль RCON через окружение:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "skript": {
      "type": "local",
      "command": ["uv", "run", "--directory", "/absolute/path/to/skript-mcp", "--env-file", "/absolute/path/to/skript-mcp/.env", "skript-mcp"],
      "enabled": true,
      "environment": {}
    }
  }
}

Перезапустите OpenCode после изменения его конфигурации.

Инструменты

  • skript_check_file(path) проверяет существующий .sk-файл по указанному пути. Относительные пути разрешаются относительно SKRIPT_SCRIPTS_DIR; абсолютные пути принимаются, если они указывают внутрь этой директории. Команда перезагружает весь набор скриптов, чтобы функции и другие общие определения из соседних скриптов были доступны.

  • skript_reload_file(path) перезагружает один существующий путь внутри SKRIPT_SCRIPTS_DIR без перезагрузки соседних скриптов.

  • minecraft_command(command) выполняет привилегированную команду через локальный RCON.

  • minecraft_logs(lines=200) возвращает ограниченный хвост файла latest.log.

  • skript_reset() удаляет только устаревшие файлы __mcp_check_<uuid>.sk.

Операции перезагрузки сериализованы. Диагностика в основном извлекается из ответа RCON, так как Skript намеренно перенаправляет диагностику команд в сторону от обычного логирования сервера; байты, добавленные в latest.log после смещения операции, захватываются и объединяются как вторичный источник.

Безопасность

skript_check_file выполняет реальную перезагрузку всех включённых скриптов, а не изолированный разбор. Исходный код, содержащий обработчики on load или поведение аддонов, может изменять мир, файлы или внешние системы. Проверяйте только доверенные скрипты и относитесь к minecraft_command и паролю RCON как к полному доступу администратора.

Запустите модульные тесты с помощью:

uv run pytest
Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

  • MCP server for skill documentation, generated by doc2mcp.

  • Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sbharga/skript-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server