Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Model BPMN processes and DMN decisions as text: check, export, import, simulate, evaluate.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"tok": {
"command": "uvx",
"args": [
"tok-lang",
"mcp"
]
}
}
}Run this in your terminal
claude mcp add tok -- uvx tok-lang mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"tok": {
"command": "uvx",
"args": [
"tok-lang",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"tok": {
"type": "stdio",
"command": "uvx",
"args": [
"tok-lang",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account tok-lang-bpm, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.0.3) reached the registry 6 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Tethered Trust
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
tok is a plain-text language for process models. One short text file describes a BPMN 2.0 process — pools, lanes, events, tasks, gateways, flows and data — together with the DMN decisions it uses, the forms people fill in and the parameters needed to simulate it. The tok tool checks the model and turns it into everything else: BPMN 2.0 XML with an automatic diagram layout (opens in Camunda Modeler and bpmn.io), SVG pictures, DMN files, Camunda forms and simulation results.
[The guide](https://tok-lang-bpm.github.io/) · [Playground](https://tok-lang-bpm.github.io/playground/) · [Language on one page](https://github.com/tok-lang-bpm/tok/blob/main/docs/cheatsheet.md) · [BPMN symbols](https://github.com/tok-lang-bpm/tok/blob/main/docs/symbols.md) · [Report an issue](https://github.com/tok-lang-bpm/tok/issues)
tok 1.0 "Interlibrary loan"
pool library "University library" lane reader "Reader" start need "Book needed" user order "Place an order" lane librarian "Librarian" user catalogues "Search the catalogues" xor available "Available locally?" user point "Point to the copy" send request "Order from another library" message="Order" end pointed "Copy pointed out" end ordered "Order placed"
pool other "Lending library"
flow need -> order -> catalogues -> available flow available -> point "yes" flow available -> request "no" flow point -> pointed flow request -> ordered
message request -> other "Order"
| You want to | Start with |
|---|---|
| model processes | pip install tok-lang, then the chapters *Getting started* and *Process basics* of the guide; the playground needs no installation |
| learn BPMN with tok (students) | the guide from the beginning, the symbol catalogue and the cheat sheet |
| run models on Camunda 8 | the chapter *Executable models* of the guide and docs/conformance-camunda.md |
| work with an AI agent | the agent bundle tok-lang-bpm/tok-agent (skill and MCP server), docs/mcp.md |
| check models in continuous integration | the action tok-lang-bpm/setup-tok |
| use tok from Python, R, Julia, JavaScript or C | docs/python.md, r/tokr, docs/julia.md, docs/playground.md, docs/c-api.md |
| implement or extend the language | docs/spec.md, the conformance corpus conformance/, CONTRIBUTING.md |
| Repository | What it holds |
|---|---|
| tok-lang-bpm/tok | this repository: the language, the engine, every package, the editor support, the MCP server and the documentation |
| tok-lang-bpm/tok-agent | the agent bundle: the skills tok-modelling and bpmn-modelling and the MCP configuration, installable as a plugin |
| tok-lang-bpm/setup-tok | GitHub Action: installs tok and checks the models of a repository |
| tok-lang-bpm/tok-lang-bpm.github.io | the guide (a book) and the playground at https://tok-lang-bpm.github.io/ |
| tok-lang-bpm/tok-evidence | the data, scripts and results of the study of tok (size, fault detection, language models, performance, conformance, process mining), archived at Zenodo: 10.5281/zenodo.23881048 |
Packages: tok-lang (PyPI), tok-cli, tok-core, tok-bpmn, tok-sim, tok-lsp, tok-mcp (crates.io), tokr (CRAN, and R-universe), TokLang (Julia General registry), tok for VS Code (Visual Studio Marketplace and Open VSX).
tok is for process analysts and information managers who keep models as documents, for teachers and students of process modelling, for developers of executable processes on Camunda 8, and for researchers who need a process-model format that can be written, checked and compared as text, for example in studies of process modelling with language models.
tok cheatsheet). An agent can write a model, run tok check --json (or call the check tool of the MCP server, tok mcp), read the line-numbered diagnostics and fix them, without ever touching XML or coordinates.tok import converts existing BPMN and DMN files back to text.The tok command is the Rust engine. It comes with the Python package tok-lang (Python 3.8 or newer; wheels for Windows x64, Linux x86_64 and aarch64, macOS; on Windows use py -m pip if pip is not on the path):
pip install tok-lang
tok --version
On a platform without a wheel pip builds the engine from the source archive, which needs Rust 1.99 or newer. The command alone, from crates.io or from a checkout of the repository:
cargo install tok-cli # the program tok
cd rust && cargo build --release -p tok-cli # target/release/tok
Every way reads every version of the language, 0.1 to 1.0. The package also keeps the pure-Python implementation frozen at language 0.3, the reference of the parity tests: TOK_ENGINE=python tok … runs it (docs/python.md).
The package also runs the MCP server for AI agents: tok mcp (docs/mcp.md). The R package tokr (install.packages("tokr")), the Julia package TokLang.jl (below), the language server tok-lsp and the MCP server as a program of its own (cargo install tok-lsp tok-mcp) and the VS Code extension *tok* are described under Tools.
TokLang.jl gives the whole language to Julia through the C interface of the engine, keeps an independent implementation of the core of the specification, and adds a native simulator for large experiments and the calibration of simulation parameters on event logs:
using Pkg; Pkg.add("TokLang") # or Pkg.add(url="https://github.com/tok-lang-bpm/tok", subdir="julia/TokLang.jl")
using TokLang text = read("model.tok", String) TokLang.Engine.check(text) # the engine: every layer of the language m = TokLang.Sim.model(text) # native simulation (julia -t auto) e = TokLang.Sim.experiment([m, TokLang.Sim.scenario(m; name="+1", resources=Dict("staff" => 3))]; replications=200) TokLang.Sim.summarize(e) f = TokLang.Fit.fit(text, TokLang.Fit.read_xes("log.xes")) # calibration on an event log TokLang.Fit.apply(text, f) # the document with the fitted parameters
The engine library comes with the package, through its dependency tok_jll; see docs/julia.md and the API reference.
tok check model.tok # diagnostics; --lang pl for Polish, --json for programs
tok fmt model.tok -w # canonical form tok bpmn model.tok # model.bpmn with diagram layout tok svg model.tok # model.svg tok export model.tok -o out/ # BPMN, SVG, DMN and forms (executable models for Camunda 8) tok import diagram.bpmn # BPMN 2.0 XML to tok tok sim model.tok --seed 1 # simulation indicators; --log log.csv for the event log tok eval model.tok DECISION a=1 # evaluate a decision
| Tool | What it gives | Documentation |
|---|---|---|
tok | the command line: check, format, export, import, simulate, evaluate; also check, lay out and draw BPMN 2.0 XML files from any modelling tool | docs/cli.md |
tok-lsp | language server (LSP 3.17) for any editor: diagnostics, formatting, go to definition, references, rename, outline, hover, completion, the diagram | docs/lsp.md |
| VS Code extension | syntax highlighting, the language server, a live diagram preview, export of BPMN and every file | editors/vscode |
tok mcp, tok-mcp | MCP server for AI agents: the tools check, check_bpmn (BPMN 2.0 XML), fmt, export, import, sim, eval and the language reference (tok mcp from the Python package, or the program tok-mcp) | docs/mcp.md |
| playground | the engine in the browser (WebAssembly): editor, diagnostics, diagram, bpmn-js viewer, simulation, decisions, downloads | docs/playground.md |
| Python, R, Julia | tok-lang (Python), tokr (R), TokLang.jl (Julia) on the same engine | docs/julia.md, r/tokr |
| C library | tokengine with tok.h, for any language that calls C | docs/c-api.md |
cd rust
cargo build --release -p tok-lsp -p tok-mcp # target/release/tok-lsp, target/release/tok-mcp bash tools/playground.sh # the playground in rust/target/playground
| Document | Contents |
|---|---|
| docs/spec.md | the language specification (normative) |
| docs/cheatsheet.md | the language on one page |
| docs/symbols.md | every BPMN symbol tok draws, with its tok statement and its support in Camunda 8 (tools/symbols.py) |
| docs/cli.md | command line reference |
| docs/diagnostics.md | diagnostic codes in English and Polish |
| docs/feel.md | FEEL: the subset of languages 0.1–0.6 and the full FEEL of lang
Only the beginning is shown; read the rest in the repo