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.

MemberTypeDefaultDescription
bEnableCrimsonMCPboolfalseMaster switch for all Crimson MCP tooling. Read at startup; change requires an editor restart.
bShowMCPToolbarButtonbooltrueAdds 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.

MemberTypeDefaultDescription
bEnableSaveGameDeleterbooltrueRegisters the Delete Save Game toolbar button at startup.
bEnableCommonMapsbooltrueRegisters the Common Maps toolbar button at startup. The button also hides itself when CommonEditorMaps is empty.
CommonEditorMapsTArray<FSoftObjectPath>emptyMaps 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.

ToolsetToolDescription
CrimsonSourceToolsetReadFileReads a text file in the project or engine tree and returns its contents (path must stay inside those roots).
CrimsonSourceToolsetListFilesLists files in a project directory, with optional extension filter and recursion.
CrimsonPluginToolsetListPluginsSummarizes every plugin under the project Plugins folder: name, description, and module types.
CrimsonPluginToolsetValidateDependenciesAudits all *.Build.cs for the cardinal rule (no Crimson-to-Crimson deps except CrimsonCommon / CrimsonSaveSystem).
CrimsonPluginToolsetScaffoldPluginGenerates a complete new Crimson plugin from template, applying the project conventions.
CrimsonAssetToolsetFindAssetsQueries the Asset Registry for assets of a UClass (including Blueprint subclasses).
CrimsonAssetToolsetInspectAssetLoads an asset by package path and returns every UPROPERTY value.
CrimsonAssetToolsetCreateAssetCreates a DataAsset or Blueprint asset in the Content Browser.
CrimsonAssetToolsetSetAssetPropertySets one UPROPERTY on an asset (Blueprint CDO for Blueprints) and saves it.
CrimsonAssetToolsetFindTagsLists 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)

ClassFunctionDescription
FCrimsonSaveGameDeleteUtilityHasPlayWorld() / HasNoPlayWorld()PIE-session checks used to gate the Delete Save Game button.
FCrimsonSaveGameDeleteUtilityDeleteDirectoryAbsolute_Clicked(AbsolutePath)Deletes a save sub-directory. Absolute, because the save root is not necessarily Saved/SaveGames/.
FCrimsonSaveGameDeleteUtilityDeleteSaveFileAbsolute_Clicked(AbsolutePath)Deletes a single .sav file.
FCrimsonSaveGameDeleteUtilityDeleteFileGroup_Clicked(Name, Paths)Deletes every file in one group - the Delete All entry under a slot heading.
FCrimsonSaveGameDeleteUtilityGetSaveFilesDropdown()Builds the Delete Save Game dropdown: directory tree plus root files, grouped by a registered ICrimsonFileGroupProvider when one exists.
FCrimsonCommonMapsUtilityCanShowCommonMaps()True when not in PIE and at least one map is configured.
FCrimsonCommonMapsUtilityGetCommonMapsDropdown()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, 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.