API Reference
Settings, toolsets/tools, and the C++ toolbar helpers. The helper classes are static and driven by the toolbar - they are not Blueprint-exposed. Tool names below are the AI-facing names an agent calls through call_tool.
Settings
UCrimsonMCPSettings (module CrimsonCommonEditor) - Project Settings -> Crimson -> Crimson MCP.
| Member | Type | Default | Description |
|---|---|---|---|
bEnableCrimsonMCP | bool | false | Master switch for all Crimson MCP tooling. Read at startup; change requires an editor restart. |
bShowMCPToolbarButton | bool | true | Adds the MCP split button (server status + this menu) to the play toolbar. Independent of bEnableCrimsonMCP: hiding the button leaves MCP working. Read when the toolbar is built; change requires an editor restart. |
IsEnabled() | static bool | - | Convenience gate every Crimson editor module calls before registering tools. |
ShouldShowToolbarButton() | static bool | - | Gate CrimsonCommonEditor calls before adding the toolbar button. |
UCrimsonEditorUtilitiesSettings (module CrimsonEditorUtilities) - Project Settings -> Crimson -> Crimson Editor Utilities.
| Member | Type | Default | Description |
|---|---|---|---|
bEnableSaveGameDeleter | bool | true | Registers the Delete Save Game toolbar button at startup. |
bEnableCommonMaps | bool | true | Registers the Common Maps toolbar button at startup. The button also hides itself when CommonEditorMaps is empty. |
CommonEditorMaps | TArray<FSoftObjectPath> | empty | Maps shown in the Common Maps dropdown. Empty hides the button. Editable only while bEnableCommonMaps is on. |
MCP toolsets and tools
Three UToolsetDefinition subclasses registered by CrimsonEditorUtilities when Crimson MCP is enabled. Errors are reported to the agent via a script error.
| Toolset | Tool | Description |
|---|---|---|
CrimsonSourceToolset | ReadFile | Reads a text file in the project or engine tree and returns its contents (path must stay inside those roots). |
CrimsonSourceToolset | ListFiles | Lists files in a project directory, with optional extension filter and recursion. |
CrimsonPluginToolset | ListPlugins | Summarizes every plugin under the project Plugins folder: name, description, and module types. |
CrimsonPluginToolset | ValidateDependencies | Audits all *.Build.cs for the cardinal rule (no Crimson-to-Crimson deps except CrimsonCommon / CrimsonSaveSystem). |
CrimsonPluginToolset | ScaffoldPlugin | Generates a complete new Crimson plugin from template, applying the project conventions. |
CrimsonAssetToolset | FindAssets | Queries the Asset Registry for assets of a UClass (including Blueprint subclasses). |
CrimsonAssetToolset | InspectAsset | Loads an asset by package path and returns every UPROPERTY value. |
CrimsonAssetToolset | CreateAsset | Creates a DataAsset or Blueprint asset in the Content Browser. |
CrimsonAssetToolset | SetAssetProperty | Sets one UPROPERTY on an asset (Blueprint CDO for Blueprints) and saves it. |
CrimsonAssetToolset | FindTags | Lists registered GameplayTags matching a prefix. |
Names come from reflection
A toolset's name is its
UToolsetDefinition class name and a tool's name is its function name; agents call them as Toolset.Tool. Confirm the exact live names with list_toolsets / describe_toolset.Toolbar helpers (C++, static)
| Class | Function | Description |
|---|---|---|
FCrimsonSaveGameDeleteUtility | HasPlayWorld() / HasNoPlayWorld() | PIE-session checks used to gate the Delete Save Game button. |
FCrimsonSaveGameDeleteUtility | DeleteDirectoryAbsolute_Clicked(AbsolutePath) | Deletes a save sub-directory. Absolute, because the save root is not necessarily Saved/SaveGames/. |
FCrimsonSaveGameDeleteUtility | DeleteSaveFileAbsolute_Clicked(AbsolutePath) | Deletes a single .sav file. |
FCrimsonSaveGameDeleteUtility | DeleteFileGroup_Clicked(Name, Paths) | Deletes every file in one group - the Delete All entry under a slot heading. |
FCrimsonSaveGameDeleteUtility | GetSaveFilesDropdown() | Builds the Delete Save Game dropdown: directory tree plus root files, grouped by a registered ICrimsonFileGroupProvider when one exists. |
FCrimsonCommonMapsUtility | CanShowCommonMaps() | True when not in PIE and at least one map is configured. |
FCrimsonCommonMapsUtility | GetCommonMapsDropdown() | Builds the Common Maps dropdown from CommonEditorMaps. |
Authoring your own MCP tools
To add MCP tools to a different Crimson plugin, use the shared base in
CrimsonCommonEditor - see CrimsonCommon -> How-To: Add MCP Tools to a Plugin. Always gate registration on UCrimsonMCPSettings::IsEnabled() so the master switch keeps cascading.MCP button and menu live in CrimsonCommon
The MCP toolbar button,
See CrimsonCommon -> API Reference -> Editor tooling, CrimsonCommon -> How-To: Manage MCP Toolsets, and CrimsonCommon -> Concept: How Crimson MCP Works.
FCrimsonMCPToolingUtility, and UCrimsonMCPSettings all live in CrimsonCommonEditor, not here - they configure suite-wide MCP state that every Crimson plugin reads, so they must exist for projects without this optional plugin. This plugin contributes the three toolsets above and nothing else MCP-related.See CrimsonCommon -> API Reference -> Editor tooling, CrimsonCommon -> How-To: Manage MCP Toolsets, and CrimsonCommon -> Concept: How Crimson MCP Works.