ST Symbols (cross-file outline & definition)
st_symbolsIndex CODESYS .st files and navigate symbols across files. Use to outline top-level symbols or resolve a name to its definition.
Instructions
Index a directory of .st files and navigate symbols across files — dialect-aware (CODESYS V3.5), comment/string-safe, better than grep. USE WHEN: you need to navigate an existing .st project — outline symbols or resolve a definition across files (better than grep). Actions: 'outline' — project map. Returns top-level symbols (functionBlock/program/function/enum/struct/gvl) by default; pass kindFilter to include vars/members (e.g. ["inputVar","globalVar"]). 'definition' — resolve a name (case-insensitive) to its definition(s); requires 'name'. Notes: sourceDir must be inside the workspace unless FESTO_MCP_ALLOW_OUTSIDE_WORKSPACE=1. Line numbers and find-references arrive in a later version (this version returns file + container).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Symbol name (required for action=definition) | |
| action | Yes | 'outline' = project map | 'definition' = resolve a name | |
| sourceDir | Yes | Directory containing .st files (recursive scan) | |
| kindFilter | No | Filter by SymbolKind (e.g. ["functionBlock","globalVar"]) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| symbols | Yes | ||
| fileCount | Yes | ||
| sourceDir | Yes | ||
| symbolCount | Yes |