Skip to main content
Glama

Arenula

nyx000.github.io/arenula-mcp

Набор MCP-серверов для игрового движка s&box. Подключает ИИ-помощников по коду к редактору s&box — чтение сцен, создание объектов, компиляция кода, управление активами и многое другое.

Разработан в соответствии с лучшими практиками MCP от Anthropic: универсальные инструменты с перечислениями действий, подробные описания с негативными указаниями, сокращённые ответы, действенные ошибки.

Arenula — латинское слово, означающее "песчинка". Одна песчинка в песочнице.

Конверт ответа

Инструменты мутации возвращают JSON со следующими полями:

  • message — краткое человекочитаемое подтверждение.

  • verified — (опционально) обратное чтение состояния после мутации, чтобы вызывающие могли подтвердить, что изменение действительно применилось. Например, после component.add: { "component_exists": true, "component_type": "ModelRenderer" }. После terrain.configure_clutter: { "clutter_assigned": "volcano_ground", "seed": 42, "mode": "Infinite" }. Если это поле отсутствует, вызывающий должен считать мутацию неподтверждённой.

  • warnings — (опционально) массив заметок о частичном успехе по полям, каждый { field, message, suggestion? }. Используется, когда основная операция выполнена, но некоторый подшаг был пропущен — например, networking.add_helper со смесью допустимых и недопустимых ID точек появления вернёт подключённого помощника и предупреждение для каждого плохого ID.

Ошибки по-прежнему возвращают стандартное тело { error, action, suggestion } с isError: true. Любое пользовательское значение, которое не может быть разрешено в реальный ресурс движка, теперь вызывает ошибку с действенным предложением, а не молча игнорируется.

Related MCP server: sbox-mcp-documentation

Серверы

Сервер

Что делает

Среда выполнения

Транспорт

Editor

Манипуляция сценами, компиляция, активы, ландшафт

Плагин C# внутри s&box

SSE :8098

API

Офлайн-справочник типов/членов (~1,800 типов, ~15,000 членов), получение PBR-текстур

Node.js

stdio

Docs

Описательные документы с sbox.game (сырой markdown через конечные точки .md)

Node.js

stdio

Настройка

1. Клонирование Arenula-MCP

Клонируйте или загрузите этот репозиторий куда-нибудь на вашу машину. Здесь будут располагаться серверы API и Docs — они не обязательно должны находиться внутри вашего проекта s&box.

C:\Projects\Arenula-MCP\       <-- can be anywhere you like
  editor/                      goes into your s&box project (step 2)
  api/                         stays here, runs from here
  docs/                        stays here, runs from here

2. Плагин редактора

Скопируйте editor/ в папку Libraries вашего проекта s&box:

YourProject/
  Libraries/
    arenula_mcp/               <-- copy the contents of editor/ here
      Editor/
        Core/
        Handlers/
      sbox_mcp.sbproj

Откройте s&box — Arenula скомпилируется автоматически и запустит MCP-сервер на порту 8098.

3. Сборка API и Docs

Из корня Arenula-MCP установите и соберите оба Node.js сервера:

npm run setup        # installs dependencies and builds both servers

Это собирает api/dist/index.js и docs/dist/index.js — эти файлы будет использовать ваш ИИ-клиент.

4. Настройка вашего ИИ-клиента

Добавьте файл .mcp.json в корень вашего проекта s&box (или скопируйте .mcp.json.example). Обновите пути до места, куда вы клонировали Arenula-MCP:

{
  "mcpServers": {
    "editor": {
      "type": "sse",
      "url": "http://localhost:8098/sse"
    },
    "api": {
      "command": "node",
      "args": ["C:/Projects/Arenula-MCP/api/dist/index.js"],
      "env": {
        "SBOX_API_URL": "https://cdn.sbox.game/releases/..."
      }
    },
    "docs": {
      "command": "node",
      "args": ["C:/Projects/Arenula-MCP/docs/dist/index.js"]
    }
  }
}

Замените C:/Projects/Arenula-MCP на путь, куда вы клонировали репозиторий. Получите последний URL схемы API с sbox.game/api/schema (нажмите Download, скопируйте URL).

Инструменты отображаются как mcp__editor__*, mcp__api__*, mcp__docs__* в вашем ИИ-клиенте.

Инструменты редактора

23 универсальных инструмента, 182 действия. Каждый инструмент принимает обязательный параметр action.

Инструмент

Действия

Количество

scene

summary, hierarchy, statistics, find, find_in_radius, get_details, prefab_instances

7

gameobject

create, destroy, duplicate, reparent, rename, enable, set_tags, set_transform, batch_transform

9

component

add, remove, set_property, set_enabled, get_properties, get_types, copy

7

compile

trigger, status, errors, generate_solution, wait

5

prefab

instantiate, get_structure, get_instances, break, update, create, save_overrides, revert, get_overrides

9

asset_query

browse, search, open, get_dependencies, get_model_info, get_material_properties, get_mesh_info, get_bounds, get_unsaved, get_status, get_json, get_references

12

asset_manage

create, delete, rename, move, save, reload, get_references

7

editor

select, get/set_selected, clear/frame_selection, get_play_state, start/stop_play, get_log, save_scene, save_scene_as, save_all, undo/redo, console_list, console_run, open_code_file, get/set_preferences

19

session

list, set_active, load_scene

3

lighting

create, configure, create_skybox, set_skybox

4

physics

add_collider, configure_collider, add_rigidbody, create_model_physics, create_character_controller, create_joint

6

audio

create, configure

2

effects

create, configure_particle, configure_post_processing, configure_sprite, configure_prop, configure_world_panel

6

camera

create, configure, capture_viewport, capture_tour, orbit_capture

5

mesh

create_block, create_plane, create_cylinder, create_wedge, create_arch, create_clutter, extrude_faces, remove_faces, add_face, clip_faces, scale_mesh, thicken_faces, bevel_edges, bevel_vertices, split_edges, quad_slice_faces, dissolve_edges, bridge_edges, connect_vertices, flip_faces, extend_edges, set_face_material, set_texture_params, vertex ops, get_info

27

navmesh

create_agent, create_area, create_link, generate, generate_tile, unload_tile, set_defer_generation, get_status, query_path

9

cloud

search, get_package, get_versions, mount

4

project

get_collision, set_collision_rule, get_input, get_info

4

terrain

create, configure, get_info, get_height, get_height_region, set_height, noise, erode, stamp, add/remove_material, get_material_at, blend_materials, set_hole, paint_material, import/export_heightmap, sync, configure_clutter, regenerate_clutter, clear_clutter

21

trace

ray, sphere_cast, box_cast, sample_grid, multi_ray

5

player

create, configure_movement, configure_camera, configure_body, configure_interaction

5

networking

add_helper, configure_object, get_status

3

schema

export, info, clear

3

Архитектура

33 файла исходного кода на C# — 9 базовой инфраструктуры, 24 обработчика для каждого инструмента (включая ConsoleHandler).

Архитектура

Атрибуция

  • Редактор основан на Ozmium MCP Server от ozmium7 (GPL-3.0)

  • API основан на sbox-api-mcp от sofianebel (MIT)

  • Документация основана на sbox-docs-mcp от sofianebel (MIT)

Лицензия

GPL-3.0 (Редактор) · MIT (API, Документация, schemagen) — см. LICENSE для объяснения, почему существует разделение и какая лицензия применяется к коду, который вы копируете.

Related MCP Connectors

Related MCP Servers