omp-laya-judge
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@omp-laya-judgeClassify this feedback as positive, neutral, or negative: 'The update is great!'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
omp-laya-judge
Local System-1 judge for oh-my-pi, powered by
laya. Typed decisions (choice/bool/score)
in ~1s on CPU, 0 LLM tokens burned, nothing leaves the machine.

Measured head-to-head on the same classification questions (real model via
omp -p vs this plugin on CPU, no GPU):
LLM | laya-judge | |
latency / question | ~18s (16–25s sampled) | ~0.35s (0.2–0.5s) |
tokens / question | ~700 | 0 |
accuracy (12-case bench) | n/a (reference) | 8/12, misses escalate < 0.6 confidence |
Checkpoint A/B/C + random (benchmark/compare_models.py):
EN 12-case | TR 4-case | mean conf | mean ms | |
english | 8 | 2 | 0.68 | 210 |
typed-decisions | 8 | 3 | 0.54 | 198 |
multilingual | 6 | 2 | 0.76 | 111 |
random (coin flip) | 6 | 0 | — | 0 |
Default stays english: tied-best on EN with the highest usable confidence
(above the 0.6 auto-accept line), and the server already routes non-Latin
scripts to multilingual per request. TR sample is small (4); the honest
read is laya >> chance (2–3 vs 0), not a checkpoint coronation.

Grounded quiz (python demo/quiz.py): 6/8, mean 282ms, 0 tokens — both
misses came in under 0.2 confidence, exactly the cases the escalate rule
covers.

Snake (python demo/snake.py): score 12, 300 moves, alive, 12 shield
interventions, ~0.9s/move on CPU, 0 tokens. Watch every decision in the
browser: open web/snake.html (canvas replay with live probability bars,
play/pause/speed/scrub); quiz at web-quiz.html. Recipe (from
laya-mlx): a deterministic planner
describes each direction over a tiny state (Safe route: yes. Food reachable: a safety shield executes the best SAFE move. Short parallel criteria are the whole trick — greedy end-to-end choice without the planner scores 0 (see demo/snake.py header for the measured failure modes). Honest calibration: per-move confidences on game states run at noise level (0.005-0.05; the quiz gets 0.2-1.0 on text) — navigation is planner + shield with laya ranking, the same division of labor as laya-mlx. The maze variant (demo/maze.py`) is a
documented negative: corridors trap the noise walk (1 crumb/200 steps).

Tetris (python demo/tetris.py): score 5720, 43 lines, 120 pieces, alive,
~1s/placement on CPU, 0 tokens. Per piece the planner enumerates every
legal landing, shortlists 6 by classic features (lines, holes, height,
bumpiness), laya picks one in a batched call, and a shield keeps the stack
out of the top-4 danger zone. Replay in browser: web/tetris.html (colored
board, candidate cards with live probabilities, scrub).
Languages
The server lets laya route per request: English goes to the english
checkpoint, other scripts to multilingual (downloaded once, ~0.7GB extra).
Turkish works today (e.g. fatura/departman routing correct) but with lower
confidence than English — treat Turkish answers under 0.6 as escalate, same
rule as everything else. Set LAYA_MODEL=english in .mcp.json to pin.
Related MCP server: laya-mcp
Install (step by step)
Requirements: Python 3.10+, pip, ~3GB disk (checkpoints), oh-my-pi.
pip install -r server/requirements.txt # laya, mcp<2, torch, transformers>=4.48,<5
omp plugin marketplace add F0Rextasy/omp-marketplace
omp plugin install laya-judge@forextasy # or: omp plugin link ./omp-laya-judge
omp plugin list # laya-judge should show ● enabledVerify inside omp:
Call the tool mcp__laya-judge__judge_info and reply with its exact JSON output.Expected: {"model": "laya/english", "device": "cpu", ...}. First judgment
takes ~30s (checkpoint load), then ~0.3s each. If the server times out on
connect, raise timeout in .mcp.json (default 30s is shorter than the load).
Troubleshooting (all hit during development, all fixed in this repo):
transformers< 4.48 cannot load ModernBERT → pintransformers>=4.48,<5.mcp>=2renamed FastMCP → pinmcp<2.On Windows, torch must init in the main thread → the server preloads eagerly.
python.EXE/py.EXEuppercase spawn failures → use the shipped.cmdwrapper.
Use
The plugin exposes mcp__laya-judge__judge(state, questions) plus the
laya-judge skill (triage → pre-filter → escalate). Question shapes mirror
oh-my-pi's eval judge():
choice:criteria: {label: rubric}→{choice, probabilities, confidence}bool: yes/no statement →{bool: P(true)}(layanoulhead is[false, true])score:criteria: [lowest … highest]→{score, legend, probabilities, confidence}
Every reply carries model: "laya/english", per-call latency_ms, and laya's
own usage/routing block so provenance survives in the transcript.
Status: tool + skill, not yet the agent loop
Honest scope: this plugin makes laya callable from any oh-my-pi session today.
It is not yet wired into the eval judge() chain — the agent won't call it
on its own; you (or your prompt) invoke it explicitly. Auto-routing cheap
judgments to laya inside resolveJudge is the planned next step, as a PR to
oh-my-pi core.
Layout
.mcp.json— stdio server declaration (relative paths, lengthened timeout)server/server.py— FastMCP server, eager checkpoint loadserver/laya-judge.cmd— Windows launcherskills/laya-judge/SKILL.md— when to use / when to escalatebenchmark/— reproducible accuracy + latency proofassets/—before-after.gif,benchmark.svg,quiz.gif
This server cannot be deployed
Maintenance
Related MCP Connectors
Decision-only prompt routing and firewall checks for local/cloud routing, PII and jailbreak risk.
Deterministic contextual decision arbitration and action routing for autonomous software. Takes current state, context, or intent plus caller-supplied candidate actions, state transitions, routes, refusals, escalations, tools, or models and returns a deterministic ordered candidate field. Also provides persistent machine representations for memory, retrieval, indexing, and downstream coherence measurement.
A paid remote MCP for ZeroLang, built to return verdicts, receipts, usage logs, and audit-ready JSON
AI model routing on your own vendor keys: pick the best model per prompt, or route and run it.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables low-latency geo-distributed request routing for AI agents, providing deterministic, zero-dependency edge request governance with sub-millisecond execution overhead.8-
- AlicenseNot gradedqualityBmaintenanceEnables typed decisions (yes/no, choice, score) with transparent preflight checks, honest confidence reporting, and health monitoring.686 npmApache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables coding agents to offload quick judgment calls like shipping readiness, file triage, and claim verification to a fast local MCP server with calibrated confidence and safe fallbacks.3MIT
- AlicenseNot gradedqualityCmaintenanceEnables MiMo Desktop to run a typed-decision engine through local stdio MCP, returning choice/score/noul predictions with calibrated confidence for auto-execution, LLM review, or escalation—without generating text.1MIT