enginewright
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Gecti
- Code scan — Scanned 10 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
In-editor MCP server for Unreal Engine: strict, verified, undoable tool calls for AI agents. No Python/Node required. Early preview.
Enginewright
An Unreal Engine editor plugin that runs a Model Context Protocol (MCP) server inside the editor, so AI coding agents (Claude Code, Codex, Cursor or any MCP client) can read and edit your project. Every write is validated first and read back after.
Early preview (v0.1). Small tool set, one maintainer, APIs may change. Use it on a project under version control and review what it changes.
Why
The focus is on edits you can trust:
- Nothing extra to install. One native C++ editor plugin. No Python, Node, proxy process or Epic's experimental MCP plugin.
- Strict validation. Unknown arguments, unknown properties or struct fields, wrong types and bad enum names are errors with a suggestion. They are never ignored.
- All or nothing. If one value in a call is bad, nothing is written. Each write is one undo step and is read back and compared.
- Rollback.
batchruns several steps in one call; if a step fails, the earlier steps are undone. - Safe by default. Asset edits are refused while Play In Editor runs. The server listens on localhost only and needs a per-project token.
Compared with Epic's MCP toolset in UE 5.8
UE 5.8 ships an experimental MCP toolset with a much larger tool catalog than Enginewright. Enginewright is smaller and makes a different trade-off. In our use of the 5.8 toolset, some writes reported success while a misspelled key was silently ignored, and some asset lookups gave misleading results during Play In Editor. Enginewright rejects those cases with an error. Epic's toolset exists only in 5.8; Enginewright does not depend on it.
Supported versions
| Unreal Engine | Platform | Status |
|---|---|---|
| 5.8 | Windows (Win64) | Tested |
| Other versions, Mac, Linux | — | Not tested yet |
Install
- Copy
Plugins/Enginewrightinto your project'sPlugins/folder. - Build the project. The plugin ships as C++ source; there are no prebuilt binaries yet.
- Open the editor. The log prints
Enginewright: MCP server on http://127.0.0.1:3100/mcp.
To use another port, set theENGINEWRIGHT_PORTenvironment variable before starting the editor. - Add the server to your MCP client. A ready config (URL + token header) is written to
Saved/Enginewright/client-config.json. The token is inSaved/Enginewright/token; do not commit it.
Tools
The client sees three meta tools: search (find a tool in plain words), describe (read its arguments) and call (run it). Behind them:
| Area | Tools |
|---|---|
| Objects | object_get, object_set |
| Assets | asset_find, asset_exists, asset_references, asset_duplicate, asset_rename (fixes up redirectors), asset_delete (refuses referenced assets), asset_save |
| DataTables | datatable_create, datatable_get, datatable_set_rows, datatable_remove_rows, datatable_rename_row |
| Level | actor_find, actor_spawn, actor_set_transform, actor_delete, actor_bounds, world_trace |
| Editor | editor_state, console_command, pie_start, pie_stop, log_read, doctor |
| Project settings | settings_get, settings_set |
| Multi-step | batch (atomic, rolls back on failure) |
Running the tests
The tests in tests/ are plain Python 3 scripts (standard library only). They talk to a running editor, so open your project with the plugin first.
Set the project folder once per shell. The tests read the token from <project>/Saved/Enginewright/token.
# bash / zsh
export ENGINEWRIGHT_TEST_PROJECT="/path/to/MyProject"
# PowerShell
$env:ENGINEWRIGHT_TEST_PROJECT = "D:\Projects\MyProject"
If you changed the port, also set ENGINEWRIGHT_URL (default http://127.0.0.1:3100/mcp).
python tests/smoke.py [project_dir] [blueprint_path]checks auth, the meta tools and basic calls. It works on any project. With a Blueprint path it also checksobject_get/object_seton that Blueprint's defaults.python tests/v01_tests.pyruns the full v0.1 tool test. It writes only under/Game/_MCPTestand adds a test light to the open level, then removes it. It needs fixtures that are not in this repo yet: a Blueprint at/Game/_MCPTest/BP_UEMCPTestwithItemIDandWeight(float) variables, and a row structFItemDefinitionwithDisplayName,Category(enum withRawIngredientandDish),ItemClass(soft class) andProcessedItemID.
Roadmap
See docs/ROADMAP.md.
License
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi