tlaplus-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TLC_TIMEOUT | No | Max seconds per TLC run. Default: 300 | 300 |
| TLC_JAR_PATH | No | Path to tla2tools.jar. Auto-downloads to ~/.tlaplus-mcp/lib/ if not set. | |
| TLC_JAVA_OPTS | No | JVM options for TLC. Default: -Xmx4g -XX:+UseParallelGC | -Xmx4g -XX:+UseParallelGC |
| TLC_WORKSPACE | No | Base directory for specs. Default: current working directory |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tlc_checkB | Run TLC model checker in exhaustive breadth-first mode to verify a TLA+ specification. Checks all reachable states against invariants, properties, and (optionally) deadlock freedom. |
| tlc_simulateA | Run TLC in simulation mode to randomly explore execution traces. Faster than exhaustive checking but not complete — useful for large state spaces or quick smoke tests. |
| tla_parseA | Parse and syntax-check a TLA+ module using SANY (Syntactic Analyzer). Returns parse errors and the list of modules parsed. |
| tla_evaluateA | Evaluate a constant TLA+ expression using TLC. Creates a temporary spec that prints the result of the expression. |
| pcal_translateA | Translate PlusCal algorithm embedded in a TLA+ file to TLA+. Modifies the .tla file in-place by inserting/updating the TLA+ translation between the * BEGIN TRANSLATION and * END TRANSLATION markers. |
| tlc_generate_trace_specA | Run TLC model-checking on a TLA+ spec with -generateSpecTE to produce a Trace Explorer spec (SpecTE.tla / SpecTE.cfg). This is useful for debugging counter-examples: it generates a standalone spec that replays the error trace. |
| tlc_coverageA | Run TLC model checker with action coverage reporting. Shows how many times each action was taken and how many distinct states it produced, helping identify under-explored parts of the spec. |
| tla_texA | Typeset a TLA+ specification into a PDF or DVI file using TLATeX. Requires a LaTeX installation (pdflatex or latex) to be available. |
| tla_state_graphB | Load a TLC-generated DOT state graph file and return it in a structured format for exploration. Supports raw DOT, simplified adjacency list, or full JSON format with disambiguated actions, invariants, and violation traces. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| specs | List all .tla and .cfg files in the TLA+ workspace directory |
| latest-output | Read the most recent TLC output file from the workspace |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/richashworth/tlaplus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server