Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SIMS4_MCP_HOSTNoHTTP bind host. Optional.127.0.0.1
SIMS4_MCP_PORTNoHTTP bind port. Optional.7348
SIMS4_MODS_DIRNoPath to the Mods folder. Optional; used as the default source_dir for catalog overrides.
SIMS4_USER_DIRNoPath to the Sims 4 user folder (…/Documents/Electronic Arts/The Sims 4). Optional; a default guess is used if unset.
SIMS4_TDESC_DIRNoPath to extracted .tdesc schema files. Optional.
SIMS4_MCP_CONFIGNoConfig file override path. Optional.~/.config/sims4-tc-mcp/config.json
SIMS4_MCP_CACHE_DIRNoSQLite cache root directory. Optional.~/.cache/sims4-tc-mcp
SIMS4_MCP_TRANSPORTNoTransport mode: stdio, streamable-http, or sse. Optional.stdio
SIMS4_MCP_AUTH_TOKENNoBearer token for HTTP transport. Required for any non-loopback bind; loopback binds may run token-less.
SIMS4_EXTRACTED_TUNING_DIRNoPath to extracted Maxis XML tuning files for the FTS index and dependency graph. Optional.
SIMS4_DECOMPILED_SCRIPTS_DIRNoPath to decompiled game Python scripts (base, core, simulation, protocolbuffers). Optional.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Tools for The Sims 4 script mods and total conversions: FNV hashing, DBPF .package I/O, TDESC schemas, SimData compilation, vanilla tuning search + dependency graph, game Python API search, Python 3.7 validation/packaging, catalog flag patching, live bridge and crash diagnostics.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
hash_fnvA

Hash a string with FNV-1 (Sims 4 resource/tuning convention).

Returns decimal, hex and TGI-instance representations.  STBL keys use
bits=32, high_bit=True; custom tuning instances use bits=64.
inspect_packageC

List every TGI entry in a .package with type, sizes and metadata.

extract_package_resourceC

Extract one resource by TGI and decode it (XML/STBL/SimData/catalog).

build_packageB

Compile a project dir (XML + .stbl.json + .bin/.tgi) into a package.

Tuning XML gets companion SimData automatically when its class needs client-binary data.

create_stbl_dictionaryC

Hash string references and write STBL resources (all 18 locales).

Each item: {"key": "mod:thing.name", "text": "Display Name",
"locale": "en_us"} (locale optional).
query_tdesc_schemaC

Return the tunable schema + starter XML for a tuning class.

search_vanilla_tuningC

Full-text search over the indexed Maxis tuning XML database.

read_vanilla_tuningC

Return the complete XML of an indexed vanilla tuning.

get_tuning_dependency_graphC

Cross-tuning reference graph (what depends on / is used by a tuning).

compile_tuning_with_simdataC

Validate tuning XML and compile matching 0x545AC67A SimData.

search_game_python_apiC

Search decompiled Maxis Python classes, methods and docstrings.

generate_runtime_tuning_hookC

Generate Python 3.7 injection/stripping code for runtime hooks.

hook_type: add_interaction | remove_interaction |
add_autonomy_commodity | start_buff | filter_super_affordances.
validate_and_build_ts4scriptC

Run the Python 3.7 AST gatekeeper then bundle a .ts4script zip.

batch_create_catalog_overridesC

Bulk-patch CASP/COBJ/OBJD catalog flags into an override package.

When no sources are given, ``SIMS4_MODS_DIR`` is scanned.
analyze_last_exceptionB

Parse the newest lastException/lastUIException/lastCrash file and cross-reference it with the game Python and tuning indexes.

bridge_send_commandC

Send a command to a running game via the live bridge .ts4script.

rebuild_indexesC

(Re)build the vanilla tuning, game Python and TDESC indexes.

Prompts

Interactive templates invoked by user choice

NameDescription
total_conversion_workflowGuide an agent through a total-conversion build.

Resources

Contextual data attached and managed by the client

NameDescription
config_resourceResolved environment paths and cache locations.
indexes_resourceStatus of the tuning and game-Python indexes.

TDQS

B3/5.0

Scored across 17 tools

Disambiguation4/5

Most tools map to a unique resource+action (package inspect/extract/build, tuning search/read, STBL creation, script build, live bridge, exception analysis). A few boundaries blur: `build_package` already handles .stbl.json while `create_stbl_dictionary` also writes STBL resources, and `compile_tuning_with_simdata` overlaps conceptually with package building and `query_tdesc_schema`'s starter XML. `hash_fnv` also partially duplicates the hashing inside `create_stbl_dictionary`, but descriptions make the intended split workable.

Naming Consistency4/5

Nearly all tools follow a snake_case verb_noun pattern (inspect_package, build_package, search_vanilla_tuning, validate_and_build_ts4script). The main deviation is `bridge_send_command`, which uses noun_verb ordering, plus the short `hash_fnv` which names the algorithm rather than a clear object. Still highly readable and predictable overall.

Tool Count4/5

At 17 tools this is on the heavy side, but the surface spans genuinely different workflows (package I/O, tuning index/search, STBL, SimData compile, Python API exploration, live bridge, crash triage). Each tool appears to earn its place rather than being a near-duplicate, though a few could conceivably be folded together.

Completeness4/5

The modding lifecycle is well covered: index building, vanilla tuning discovery, schema lookup, XML validation, SimData compile, STBL creation, package build/extract, script bundling, and crash analysis. Gaps remain around mutating existing packages (only inspect/extract, no add/remove/replace resource), and `bridge_send_command` has no companion for reading bridge responses, which limits round-trip debugging.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues