Arenula MCP
Arenula
Набор 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 |
API | Офлайн-справочник типов/членов (~1,800 типов, ~15,000 членов), получение PBR-текстур | Node.js | stdio |
Docs | Описательные документы с sbox.game (сырой markdown через конечные точки | 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 here2. Плагин редактора
Скопируйте 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 для объяснения, почему существует разделение и какая лицензия применяется к коду, который вы копируете.
This server cannot be deployed
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
An MCP server that gives your AI access to the source code and docs of all public github repos
MCP server for building and testing AI agents with multi-model experimentation and insights.
Related MCP Servers
- AlicenseCqualityBmaintenanceAn MCP server providing AI assistants with 149 tools to fully control the Godot game engine, including runtime code execution, scene manipulation, physics, audio, networking, animation, and more.10085 npm476MIT
- AlicenseAqualityBmaintenanceAn MCP server that provides AI assistants with searchable access to the full s&box game engine documentation and API reference.712 npm11MIT
- AlicenseAqualityBmaintenanceA local-first MCP server for AI-assisted Garry's Mod addon development.3836 npm2MIT
- FlicenseAqualityAmaintenanceMCP server that connects AI coding assistants to a live Godot editor, enabling scene, node, script, resource, runtime, debugger, and test workflows through natural language.45-