MTPLX/Docs/Cline

Cline on a local model.

Cline is a VS Code extension with an OpenAI Compatible provider. Point that provider at MTPLX on your Mac and the model behind it is Qwen 3.8 27B running on Apple Silicon with native MTP speculative decoding. Nothing leaves the machine.

Three values in Cline's provider settings and you are running a local model: the base URL, the served model id, and any non-empty API key. Since 2.0.2 (9 Jul 2026) Cline's long sessions restore from the warm prefix cache. Created by Youssof Altoukhi, who brought native MTP to the Mac in April 2026.

Setup

Install MTPLX from the DMG or with Homebrew, then start the server. The app's play button does the same thing; the app and the CLI share one server, so mtplx start attaches to a model the app already has loaded instead of loading a second copy.

brew install youssofal/mtplx/mtplx
mtplx start            # pick Qwen 3.8 27B Optimized Speed, serve on 127.0.0.1:8000

Confirm the server is up and read the served model id:

curl http://127.0.0.1:8000/health
curl http://127.0.0.1:8000/v1/models

Provider settings

In Cline, choose the OpenAI Compatible provider and enter:

FieldValue
Base URLhttp://127.0.0.1:8000/v1
Model IDmtplx-qwen38-27b-optimized-speed
API keyany non-empty string for localhost

The model id follows the pack you loaded; the table at the end of this page lists the others. If you bind the server to a non-localhost address you must start it with --api-key, and the server accepts that key as Authorization: Bearer or X-API-Key.

Tool calls

MTPLX returns tool calls in OpenAI style. When tools are active, Qwen XML tool calls are translated into OpenAI delta.tool_calls chunks as the function name and arguments stream, so a client reading the standard streaming shape sees the call as it forms. Unknown or malformed tool-shaped output falls back to assistant content rather than hanging or returning a server 500. Tool calls have been on the OpenAI route since 5 May 2026.

Structured output

Requests may set response_format with a json_schema. Since 2.3.0 (21 Jul 2026) structured output runs with full MTP speed: a schema-bound reply stays on the speculative path instead of dropping to plain decoding.

Warm restores

Since 2.0.0 (6 Jul 2026) MTPLX checkpoints the attention KV cache plus the recurrent and conv GDN state at commit boundaries, with speculation on. 2.0.2 (9 Jul 2026) extended the warm prefix restore from OpenCode to Cline, Pi and Claude Code. A Cline turn that appends a tool result and resends the transcript restores the prefix instead of prefilling it again: mid-session tool rounds restore warm in under 2 s, and a 100k-token session restores in about 2 s after a restart instead of a five-minute cold prefill. Every response reports usage.cached_tokens, so you can see what was served from cache.

What to expect

Decode on Qwen 3.8 27B Optimized Speed runs through the native MTP path: the model drafts three tokens ahead with its own MTP head, the target verifies them in one forward pass, and acceptance is exact rejection sampling at the model's shipped sampler (temperature 1.0, top-p 0.95, top-k 20 for Qwen 3.8). The measured decode curve on an M5 Max, MTPLX 2.10.0 (29 Aug 2026), stock settings: 64.3 tok/s on a 3k-token chat answer, 30.4 tok/s at 88k context, 18.4 tok/s at 147k. On the MTPLX 2.7.0 coding task (15 Aug 2026, medium reasoning, via mtplx serve, M5 Max, fans verified at max, single stream, official Qwen 3.8 sampling) Qwen 3.8 27B Optimized Speed decoded at 58.7 tok/s. The full set is on the benchmarks page.

Memory. The memory governor (2.10.0) sizes the context window to what your Mac can hold and prints the plan in the serve banner: a 48 GB Mac serving the 27B Speed pack resolves 196,608 tokens instead of the nominal 262,144, and at 42k context that seat measured 33 tok/s decode and 645 tok/s prefill. A request that cannot fit is refused up front with HTTP 507 (2.10.2, 1 Sep 2026) instead of dying mid-stream.

Model ids

The served id follows the pack. /v1/models lists the one for the model you loaded.

PackServed idRAM
Qwen 3.8 27B Optimized Speed (recommended for coding)mtplx-qwen38-27b-optimized-speed32 GB+
Qwen 3.8 27B Optimized Quality (8-bit)mtplx-qwen38-27b-optimized-quality36 GB+
Qwen 3.8 Flash-Next Optimized Speed (125B MoE)mtplx-flash-next-optimized-speed96 GB+
Qwen 3.5 9B Optimized Speedmtplx-qwen35-9b-optimized-speed16 GB+

Details for each pack, including the quantization map and the measured speeds, are on the models pages.