Gökdeniz Gülmez (@ActuallyIsaak) on X
An X post showing how to have Codex train a small model on Apple silicon through the mlx-lm-lora MCP server and skill. It gives five setup steps (pip install with the mcp extra, npx skills add, locate mlx-lm-lora-mcp, codex mcp add). The prompt runs four pre-training trials on tiny-random/qwen3 with the mlx-community/recycling_the_web-1k dataset. Codex picks the optimizer and learning rate itself, and the result is a table with validation loss and the best adapter path.
What it claims
Gökdeniz Gülmez (@ActuallyIsaak) shows OpenAI Codex running small pre-training experiments on Apple silicon through the MCP server and agent skill that ship with mlx-lm-lora. In the example, Codex pre-trains tiny-random/qwen3 four times on mlx-community/recycling_the_web-1k. It chooses the optimizer and hyperparameters for each trial, then reports which trial reached the lowest validation loss.
How to use it
Setup is five steps. The commands below are verbatim from the post.
python3 -m pip install -U "mlx-lm-lora[mcp]"
npx skills add Goekdeniz-Guelmez/mlx-lm-lora --skill mlx-lm-lora -a codex -g
which mlx-lm-lora-mcp
codex mcp add mlx-lm-lora -- {path}{path} is the output of which mlx-lm-lora-mcp. The fifth step is to start chatting with Codex.
The prompt fixes these constraints across all trials:
- Model: tiny-random/qwen3.
- Dataset: mlx-community/recycling_the_web-1k.
- Task: pre-training, run as a single SFT recipe.
- 100 steps, global batch size 8, context length 128.
Codex may change only the optimizer, learning rate and schedule. Each trial uses a different seed and is evaluated on a held-out slice.
The prompt limits Codex to the mlx-lm-lora MCP server and skills, with no other training stack. It has two stop conditions:
- If the model does not resolve, Codex asks the user before continuing.
- If the MCP server cannot satisfy a fixed constraint, Codex stops and reports it.
The requested output is a table with one row per trial. Its columns are optimizer, learning rate, schedule, seed, final train loss, and validation loss or perplexity. Codex also returns the best trial's config and its saved adapter path.
Limits
The post's text contains no results. Any trial table, loss values, chosen optimizers, run times or hardware details would be in the attached video, which is not transcribed. tiny-random/qwen3 is a tiny model trained for 100 steps at context length 128, so the example shows the agent workflow working, not usable model quality. The post names no Codex version, no mlx-lm-lora version and no minimum Mac hardware.
Organisations named here
- MLX Community
- Apple
- Goekdeniz-Guelmez
- mlx-community/recycling_the_web-1k
- tiny-random/qwen3
Technologies named here
- mlx-lm-lora
- Qwen3
- Codex
- mlx-lm-lora-mcp
- npx skills
- MLX
- Model Context Protocol
- LoRA
- npm
- Hugging Face
- Python
Techniques named here
- Agent-driven hyperparameter search via MCP
- Pre-training with SFT recipe on Apple silicon
Related in training



