Abiotic Factor Mod Editor MCP server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ABIOTIC_MCP_PORT | No | Set ABIOTIC_MCP_PORT to change the listener port for the Abiotic Factor Mod Editor MCP server. Defaults to 47821. | 47821 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| editor_statusA | Report whether the Mod Editor is connected, its version and the open mod. |
| list_modsA | List local mod projects (works without the editor open). |
| list_assetsC | List assets under a content path, such as /Game/Blueprints/Items or /MyMod. |
| search_assetsC | Find assets under a path by package path substring and/or exact class name. |
| read_assetB | Read an asset's properties as JSON. DataTables return their rows. |
| list_datatablesB | List DataTable assets, optionally filtered by path substring. |
| read_datatableC | Read rows from a DataTable. Pass row names, or page with offset and limit. |
| list_row_asset_typesA | List row asset classes a mod can create, such as RecipeModRowAsset. |
| upsert_datatable_rowsA | Create or update rows in the active mod. Call save_all afterwards. Mods add one asset per row, stored at //DataTables//<row_name>. Each entry is {"row_name": str, "override_existing_row": bool, "values": {...}}, with values in the snake_case form that read_asset returns. Fields left out of a new row keep struct defaults, not vanilla values. To change part of a vanilla row, use clone_row with override_existing_row=True and the same row name, then set only what differs. When a row refers to another row in this mod, use <mod_prefix>_<row_name> (see editor_status). |
| clone_rowC | Copy a vanilla row into a new row asset in the active mod, as a starting point. |
| duplicate_assetB | Copy an asset into the active mod. The destination must be inside that mod. |
| set_propertiesC | Set properties on an asset in the active mod. Call save_all afterwards. |
| save_allB | Save every changed asset in the active mod. |
| validate_modB | Run the editor's asset validators over the active mod. |
| list_templatesB | List mod templates the editor exposes to scripting. |
| create_modC | Create a mod project from a template, if the editor exposes templates to scripting. |
| package_modA | Save and validate the active mod, open the upload panel, and explain the next step. Packaging happens inside the editor's upload flow, so this stops before it. It never creates a mod.io page or uploads anything. |
| open_mod_panelA | Open the editor's Mod Management Tool. It presses nothing and uploads nothing. |
| check_blueprint_symbolA | Check a class or function against Deep Field's Blueprint filter. Check before generating Blueprint logic and never use a blocked symbol. Example: class_path="/Script/Engine.GameplayStatics", function="GetPlayerController". |
| run_pythonA | Run Python inside the editor, with This is an escape hatch and is not limited to the active mod. Use it for inspection and for gaps in the other tools. Do not use it to bypass the write guards, delete assets, or upload to mod.io without the user asking. |
| get_logC | Tail the editor log, with auth codes and API keys removed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Most tools have clearly distinct purposes, especially the write-path tools (upsert_datatable_rows, clone_row, duplicate_asset, set_properties). There is some overlap between list_datatables and list_assets/search_assets, and between read_asset and read_datatable, though descriptions mostly clarify the boundaries.
The set predominantly follows a snake_case verb_noun convention (list_assets, read_asset, create_mod, validate_mod). Minor deviations like editor_status (noun phrase) and verb-only names save_all/package_mod are readable but slightly inconsistent.
At 21 tools, the surface is on the heavy side for a mod editor, falling into the 16-25 borderline zone. Most tools appear purposeful, but some listing/reading variants could potentially be consolidated.
Core workflows are covered: listing, reading, writing datatable rows, cloning, duplicating, saving, validating, packaging, and a Python escape hatch. However, there are notable gaps around deletion/removal of rows or assets, and no explicit mod metadata editing beyond creation.