Pipelex Extension
Define, compose, and run AI methods in .mthds files — with full TOML support
A VS Code and Cursor extension that brings first-class editing support for MTHDS files and TOML. Rich syntax highlighting, semantic tokens, formatting, schema validation, completions, and more — built on Taplo and tracking upstream.
What is MTHDS? — An open standard for defining AI methods as typed, composable, human-readable files. A .mthds file describes what an AI should do — its inputs, outputs, logic, and data types — in plain TOML that both people and machines can read. Pipelex is the runtime that executes them. Learn more at docs.pipelex.com.
🚀 MTHDS Language Support
Context-aware highlighting and semantic tokens for every MTHDS construct — concepts, pipes, typed inputs and outputs, model references, Jinja2 templates, data injection, and more. Each construct gets its own distinct color so you can read a .mthds file at a glance.
domain = "hr_screening"
description = "Analyze a job offer to build a scorecard, batch process CVs"
main_pipe = "screen_candidates"
[concept.Scorecard]
description = "Evaluation scorecard built from a job offer"
[concept.Scorecard.structure]
job_title = { type = "text", required = true }
company = { type = "text" }
required_skills = { type = "list", item_type = "text" }
criteria = { type = "list", item_type = "concept", item_concept_ref = "hr_screening.Criterion" }
[pipe.screen_candidates]
type = "PipeSequence"
inputs = { job_offer = "Document", cvs = "Document[]" }
output = "CvResult[]"
steps = [
{ pipe = "extract_job_offer", result = "job_pages" },
{ pipe = "build_scorecard", result = "scorecard" },
{ pipe = "evaluate_cv", batch_over = "cvs", result = "results" },
]
[pipe.build_scorecard]
type = "PipeLLM"
inputs = { job_pages = "Page[]" }
output = "Scorecard"
model = "claude-4.6-opus"
prompt = """Analyze this job offer and build a scorecard..."""
See the MTHDS language reference for the full standard.
🔧 Full TOML Support
Beyond MTHDS, this extension replaces your TOML extension with complete language support — formatting, completions, hover documentation, go-to-definition, rename, diagnostics, schema validation via JSON Schema Store.
⚙️ Configuration
The extension looks for a settings file at .pipelex/plxt.toml (preferred) or plxt.toml in your project root. The format is the same as a standard Taplo configuration file — use it to configure formatting rules, schema associations, and linting options for both .mthds and .toml files.
Method validation
On every save, the extension validates your method on the hosted Pipelex API at https://api.pipelex.com, and reports the errors in the Problems panel and in the method graph. There is nothing to install and no setting to change: an API key is the only setup step (see Installation below). Before the first validation, the extension asks once for your consent to send the .mthds files in the saved file's directory.
- Use your own server: point
pipelex.api.baseUrl at a self-hosted Pipelex API server, such as http://localhost:8081. The server is the api/ member of the pipelex repository, published as the pipelex/pipelex-api Docker image.
- Validate locally: set
pipelex.backend to cli to validate with a local pipelex-agent, so nothing leaves your machine.
Usage statistics
The extension sends anonymous usage statistics: once a day that it was activated, and how many times its graph preview, validation, run and formatting were used, with the editor and extension versions. It never sends your methods, prompts, inputs, outputs, file names or pipe names. The first activation says so once:
Pipelex collects anonymous usage statistics: counts of commands, runs, pipe types, models and tokens, and the country your IP address maps to; the address itself is never stored. It never collects your methods, prompts, inputs, outputs, file names or pipe names. To turn it off, run Pipelex: Disable Usage Statistics or set DO_NOT_TRACK=1. Details: https://docs.pipelex.com/latest/setup/usage-statistics/
VS Code's own telemetry setting (telemetry.telemetryLevel) governs them, and so do DO_NOT_TRACK=1, PIPELEX_USAGE_STATS=0, [usage_stats] enabled = false in a project's .pipelex/pipelex.toml, and plxt usage-stats disable, which turns them off for every Pipelex tool on the machine. The tools the extension starts, such as pipelex-agent, send none of their own.
📦 Installation
- Extensions marketplace — Search for "Pipelex" in the Extensions view
- Command line —
code --install-extension Pipelex.pipelex or cursor --install-extension Pipelex.pipelex
- Manual — Download
.vsix from releases
Then, to validate your methods, get an API key at app.pipelex.com and store it with the Pipelex: Set Hosted API Key command. The key is kept in VS Code's secret storage. When no key is stored, the extension uses the PIPELEX_API_KEY environment variable if it is set.
The extension does not read the key that pipelex login (or pipelex init with the hosted API) saves in ~/.pipelex/.env, or in the .env of PIPELEX_HOME when that is set. If you signed in from the terminal, give the extension a key with the Pipelex: Set Hosted API Key command, or export PIPELEX_API_KEY in a shell before starting VS Code from it (code .). pipelex login does not print its key, so create another one at app.pipelex.com or copy the value from that file.
"Pipelex" is a trademark of Evotis S.A.S.