Catalyst MCP for FiveM
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GTAV_PATH | No | Your GTA V folder. If not set, it is found automatically from the registry and usual install folders. | |
| PTFX_HELPER | No | Path to the CodeWalker helper executable. | helper\bin\ptfx-helper.exe |
| CATALYST_EXE | No | Path to Catalyst, used by the catalyst_open tool. | %LOCALAPPDATA%\Cfx\Catalyst\Catalyst.exe |
| CATALYST_MCP_CACHE | No | The cache directory for the vanilla index and its cached files. | %LOCALAPPDATA%\catalyst-mcp-fivem |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Build and edit GTA V particle effects (.ypt) for FiveM, headlessly. Typical flow: ptfx_vanilla_index (once) -> ptfx_vanilla_search for a base effect -> ptfx_merge the effects you want into a new dictionary with new names -> ptfx_info detail=true to see property names -> ptfx_edit colours/sizes/rates/keyframes -> ptfx_pack (Legacy .ypt, verified by reading it back) -> ptfx_install into a resource's stream/ folder. catalyst_open shows a .ypt in Catalyst if it is installed.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ptfx_infoA | Summarise a particle dictionary (.ypt or .ypt.xml): effects (duration, loops, emitter/particle pairs), emitter rules (domains, spawn rate, life), particle rules (shader, draw type, behaviours, textures embedded or from core, colour keys, chained effects), textures, drawables. detail=true adds every keyframed property and its keys. |
| ptfx_unpackA | Convert a .ypt to CodeWalker XML: <out_dir>/.ypt.xml plus its embedded textures in <out_dir>//*.dds. |
| ptfx_packA | Build a Legacy (gen8, resource v68) .ypt from a .ypt.xml and the .dds files in its sibling / folder. verify (default true) converts the result back and compares it rule by rule. |
| ptfx_mergeA | Make a NEW dictionary from effects in other dictionaries (vanilla ones from ptfx_vanilla_search, or yours), copying each effect's emitter rules, particle rules, chained effects, embedded textures and model drawables. Core textures stay references. Clashing rule names get a numeric suffix. Writes .ypt.xml (+ textures): then ptfx_edit and ptfx_pack it. |
| ptfx_editA | Edit a .ypt.xml (in place or to |
| ptfx_vanilla_indexA | Build (once; a few minutes) the index of every vanilla effect in your own GTA V Legacy install: reads the game's archives (keys come from your GTA5.exe; nothing is written to the game folder) and caches the best copy of each .ypt (DLC > patch > base, ptfx_hi preferred). game: the folder with GTA5.exe (auto-detected if omitted). refresh rebuilds. |
| ptfx_vanilla_searchA | Find vanilla effects by words in the effect, asset or texture names, e.g. 'confetti', 'firework burst', 'spark', 'flame'. Returns asset, effect, loops, textures and the cached .ypt. |
| ptfx_vanilla_getC | The cached .ypt (and its XML) of a vanilla asset, e.g. 'scr_xs_celebration'. |
| ptfx_installA | Copy a built .ypt into a FiveM resource's stream/ folder and return the Lua that plays an effect from it. |
| catalyst_openA | Open a .ypt in Catalyst (Cfx.re's particle editor), if it is installed, to preview it - the same as double-clicking it. Uses Catalyst's own file association ( |
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 10 tools
Each tool maps to a distinct step of the particle-dictionary pipeline (unpack/pack/edit/merge/info/install), so pairwise confusion is low. The only soft overlap is ptfx_vanilla_search, which already returns the cached .ypt that ptfx_vanilla_get also returns, plus ptfx_info vs ptfx_unpack both surfacing dictionary contents.
Nine of ten tools use a consistent ptfx_ snake_case verb-or-noun suffix pattern. catalyst_open breaks the prefix convention and inverts to noun_verb, a minor but visible deviation.
Ten tools is well within the sweet spot and every one earns its place: the vanilla index/search/get trio, the unpack/merge/edit/pack authoring chain, install, and preview. No filler or redundant wrappers.
The surface covers the full lifecycle from vanilla discovery through merge, edit, pack with verify, install to a resource, and preview. Minor gaps: no tool to list or remove already-installed .ypt files from a resource, and no standalone validation/report tool outside ptfx_pack's verify flag.