system-one-mcp
This MCP server lets clients use a System One backend to answer typed questions and inspect available models.
Call
systemone_evaluateto answerchoice,score, ornoulquestions from a supplied state and question schema, optionally choosing a model and passing images orkeep_alive.Call
systemone_list_modelsto list models available on the configured backend.Point it at any supported System One backend via
SYSTEMONE_BASE_URL, with optionalSYSTEMONE_API_KEYand defaultSYSTEMONE_MODEL(defaultnimble).Run it through
npx/bunxor from a clone as a stdio MCP server.
Provides access to System One models on an Ollama backend, allowing users to evaluate typed choice/score/noul questions and list available System One models.
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., "@system-one-mcp Ask nimble to choice-label 'Checkout 500s since 9am' as billing, bug, or account."
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.
systemone-mcp
MCP server for any System One backend (Ollama nimble/tev/clef, TypeSafe jev, Kev, Laya).
Exposes two stdio tools:
systemone_evaluate— answer typedchoice/score/noulquestions with a System One modelsystemone_list_models— list available System One models on the configured backend
Thin Zod-validated passthrough: MCP tools -> fetch({baseUrl}/v1/systemone) with optional Bearer key. model is a free-form non-empty string (never a hard-coded enum).
Run it with npx or bunx — see Install.
Env
Variable | Default | Notes |
|
| Must start with |
| (unset) | Optional. TypeSafe cloud / Kev with key / Laya with |
|
| Default model when the tool call omits |
See .env.example for a copy-paste starting point.
Related MCP server: Decision Bridge
Install
No build, no clone, no npm install — the published package ships prebuilt, so npx/bunx fetch a ready-to-run server.
npx -y @es11225599/systemone-mcpbunx @es11225599/systemone-mcpRequires Node >= 20 (or Bun). First run downloads the package; later runs are cached.
Run
npx / bunx (recommended)
Point any MCP client at the runner. Nothing to build or install locally:
{
"mcpServers": {
"system-one": {
"command": "npx",
"args": ["-y", "@es11225599/systemone-mcp"],
"env": {
"SYSTEMONE_BASE_URL": "http://localhost:11434",
"SYSTEMONE_MODEL": "nimble"
}
}
}
}With Bun, swap the command and args:
{
"mcpServers": {
"system-one": {
"command": "bunx",
"args": ["@es11225599/systemone-mcp"],
"env": {
"SYSTEMONE_BASE_URL": "http://localhost:11434",
"SYSTEMONE_MODEL": "nimble"
}
}
}
}Both forward stdio, so the server is fully wired either way. If your client resolves binaries through a shell, npx.cmd / bunx.cmd are the Windows equivalents.
Claude Code
claude mcp add system-one \
-e SYSTEMONE_BASE_URL=http://localhost:11434 \
-e SYSTEMONE_MODEL=nimble \
-- npx -y @es11225599/systemone-mcpFrom a clone (development)
npm install
npm run build
SYSTEMONE_BASE_URL=http://localhost:11434 node dist/index.jsWindows PowerShell:
npm install
npm run build
$env:SYSTEMONE_BASE_URL="http://localhost:11434"; node dist/index.jsnpm run dev (tsx) skips the build for local iteration.
For TypeSafe cloud / Kev / Laya, add "SYSTEMONE_API_KEY": "<key>" to env and point SYSTEMONE_BASE_URL at that backend.
Manual parity
Direct HTTP check against an Ollama backend running nimble (bypasses MCP, same endpoint the server calls):
curl http://localhost:11434/v1/systemone \
-H 'Content-Type: application/json' \
-d '{"model":"nimble","state":"Our checkout has returned 500 errors since 9am.","questions":{"label":{"type":"choice","instructions":"Which label fits?","criteria":{"billing":"Payments","bug":"Errors","account":"Login"}}}}'Expected: JSON with model, answers.label, and usage (input_tokens / output_tokens).
Available Tools
2 toolssystemone_evaluateC
Answer typed choice/score/noul questions with a System One model (jev/nimble/kev/tev/laya).
Inputs: state (required), questions (required), model, images, +1 more.
systemone_list_modelsB
List available System One models on the configured backend.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools serve clearly distinct purposes: one enumerates available models and the other runs an evaluation with a chosen model. There is no overlap in resource or action, so an agent cannot realistically confuse them.
Both names share the 'systemone_' snake_case prefix, which is predictable and readable. The minor deviation is that 'evaluate' is a bare verb without a noun object unlike 'list_models', but the set still feels coherent.
Two tools is thin even for a narrow evaluation-model domain; there is no separate model-detail, configuration, or result-retrieval tool. It is borderline rather than mismatched, since the core discover-then-evaluate flow is present.
The surface covers the minimal loop of listing models and evaluating a question, but lacks supporting operations such as fetching model metadata, setting backend configuration, or retrieving/batching prior evaluations. Agents can work around this only by relying on external configuration.
Maintenance
Related MCP Connectors
Chat, image, video, and audio models from many vendors behind one remote MCP server and one key.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI tools to uniformly discover, inspect, and call tools, prompts, and resources from multiple upstream MCP servers through a small set of fixed MCP tools, over stdio or HTTP.2MIT
- AlicenseAqualityBmaintenanceEnables any stdio MCP client to send evidence and allowed answers to a locally running Nimble model through Ollama and receive typed, validated results as choices, probabilities, or rubric scores. Supports three question types and includes diagnostics that check configuration, endpoint, and model availability without running inference.22MIT
- AlicenseNot gradedqualityAmaintenanceExposes three stdio tools that answer typed questions — yes/no, choice, and score — with calibrated probabilities instead of prose, letting any MCP host query a judgment model without a chat interface. Runs fully offline on a synthetic mock by default, with named, per-feature egress disclosure and redaction only when a live provider is explicitly configured.66 npmApache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables any MCP host to obtain typed judgments — yes/no, choice, and score — with calibrated probabilities instead of prose, exposed as three tools over stdio. It runs fully offline with synthetic answers by default, and only transmits state to TypeSafe or OpenRouter when live routing is explicitly configured, reporting exactly what leaves at startup.66 npmApache 2.0