
jevjam
io.github.beremaranv0.3.2Updated Oct 2, 2026
Typed decisions (choice, score, yes/no) from Laya, Julia-1 and clef-flash on your own GPU
Overview
Self-hosted MCP server that runs small decision models on your own GPU to answer typed choice, score, and yes/no questions about text, JSON, images, or video.
- What it does
- jevjam exposes four MCP tools: jevjam_predict for typed questions, jevjam_preset for built-in guard, moderation, triage, and model_router presets, jevjam_route, and jevjam_status. It asks a model to pick a label, rate on a scale, or answer yes or no about supplied text, JSON, an image, or a video, returning calibrated probabilities in milliseconds. The same process also serves a Jev-compatible HTTP endpoint at /v1/systemone, sharing one queue and one resident model.
- When to use it
- Use it for fast, cheap classification decisions you would rather not spend a large LLM call on, such as routing tickets, flagging abuse, guarding tool calls, or picking a model for a prompt. It suits local or self-hosted setups where the data should stay on your own hardware.
- Requirements
- Docker, an NVIDIA GPU, and the NVIDIA Container Toolkit; the image runs with --gpus all. Models are downloaded on first request into a mounted volume, which takes minutes once. Optional secrets: HF_TOKEN for higher Hugging Face download rate limits, and JEVJAM_API_KEY to require a bearer key on /mcp and /v1/systemone. JEVJAM_IDLE_TIMEOUT controls when the resident checkpoint is freed.
Installation
In SourceWeft
- Open jevjam in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[jevjam: typed decisions from small models, as MCP tools and a Jev-compatible HTTP API]
[CI] [Latest release] [Container image] [MCP] [License]
jevjam
Self-hosted MCP server and Jev-compatible HTTP API for small decision models, on one GPU, in Docker.
Ask a model typed questions about a piece of text, JSON, an image or a video, and get
calibrated answers back in milliseconds: pick a label (choice), rate on a scale
(score), or answer yes or no (noul). Agents call it as MCP
tools; services call POST /v1/systemone, the same protocol as TypeSafe Jev, so a Jev
client only needs a new base URL.
Use it to route tickets, flag abuse, guard tool calls, pick a model for a prompt, or any other decision you would rather not spend a large LLM call on.
Models
One checkpoint stays in VRAM at a time, and it is freed after five idle minutes. See docs/models.md for sizes, quantization and limits.
Quick start
You need Docker, an NVIDIA GPU, and the NVIDIA Container Toolkit.
Or, from a clone, docker compose up -d. No model downloads at boot; the first request
fetches what it needs into the jevjam-models volume, which takes minutes once.
Ask over HTTP:
The answer, trimmed:
Or connect an agent over MCP, at http://127.0.0.1:8000/mcp:
Agents get four tools: jevjam_predict, jevjam_preset (guard, moderation,
triage, model_router), jevjam_route and jevjam_status. The
MCP guide covers OpenCode, Pi, remote access and reverse proxies.
Features
- One process, two doors. The HTTP API and MCP share one queue and one resident model, so neither starves the other of VRAM.
- Sleeps when idle. After
JEVJAM_IDLE_TIMEOUTseconds (300 by default) every checkpoint is freed and the GPU memory goes back to the driver. The next request loads only what it needs; Laya wakes in 0.6 s on an RTX 4070 Ti SUPER. - Fits the card it finds. clef-flash loads in BF16, 8-bit, 4-bit, or split across GPU and CPU, whichever fits.
- Drop-in for Jev. Same request and response shapes; unknown fields are ignored.
- Locked down by default. Runs as non-root, binds to loopback in Compose, and
takes an optional bearer key (
JEVJAM_API_KEY) for both endpoints.
Docs
Moving from laya-docker
This repo used to be laya-docker. The old image, ghcr.io/beremaran/laya-docker,
gets no more updates; switch to ghcr.io/beremaran/jevjam. Old LAYA_* settings
still work and log a warning; see Configuration.
Contributing
Bug reports and pull requests are welcome; see CONTRIBUTING.md. Report security problems privately, as SECURITY.md describes.
License
jevjam is licensed under Apache-2.0. The image also contains the
Apache-2.0 Laya package and checkpoints by
Convai Innovations, the Apache-2.0 Julia-1 code and checkpoint by Supersonic Labs, and
the Apache-2.0 clef-flash code and checkpoint by Cloudflare. The clef-flash code is
copied into src/jevjam/vendor/ with its license.
Source: README.md at commit 99406ff
Tools
0Version history
1- v0.3.2LatestOct 2, 2026


