Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GTAV_PATHNoYour GTA V folder. If not set, it is found automatically from the registry and usual install folders.
PTFX_HELPERNoPath to the CodeWalker helper executable.helper\bin\ptfx-helper.exe
CATALYST_EXENoPath to Catalyst, used by the catalyst_open tool.%LOCALAPPDATA%\Cfx\Catalyst\Catalyst.exe
CATALYST_MCP_CACHENoThe 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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 out). ops, applied in order: {op:'set', kind, name, path:'DurationMax' | 'CreationDomainObj/DomainType' | 'AllBehaviours/Colour/RGBAMaxEnable' | 'EventEmitters/0/StartRatio', value}; {op:'keys', kind, name, prop:'ptxu_Colour:m_rgbaMinKFP', keys:[[t,x,y,z,w],...]} (t 0..1 over life/duration); {op:'scale', kind, name, prop:'ptxEmitterRule:m_spawnRateOverTimeKFP', factor: f | [fx,fy,fz,fw]}; {op:'rename'|'duplicate'|'delete', kind, name, to}; {op:'tint', name: effect, min:[r,g,b,a], max:[r,g,b,a]}; {op:'texture', name: particle, texture, var:'diffusetex2', external: bool, dds: path to your own .dds}; {op:'dict_name', to}. kind defaults to particle. ptfx_info detail=true lists the prop names.

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 (--import). Catalyst opens in front of other windows.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 10 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues