Skip to content
Conduit

mcp server

jev-toolkit

MCP-first toolkit for TypeSafe/Jev — the System One decision model. One stdio server (jev mcp) serves any MCP-capable harness, backed by one local event log and Prometheus impact metrics you can scrap

jbt95/jev-toolkitcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 26, 2026

jev-toolkit

A small stdio MCP server for TypeSafe/Jev with three tools: typesafe_ask for structured judgments, typesafe_rank for ordering supplied candidates by relevance, and typesafe_verify for checking claims against supplied evidence. Calls use the TypeSafe System One API and are recorded in a local event log.

Built with Effect and TypeSafe's SDK. Bun >= 1.3.14 is required.

Install

git clone git@github.com:jbt95/jev-toolkit.git
cd jev-toolkit
bun install --frozen-lockfile
scripts/install.sh
export TYPESAFE_API_KEY=…

Register Jev in a user-level harness config with:

jev install opencode
jev install pi
jev install omp
jev install claude-code

The Pi command installs pi-mcp-adapter and requires the Pi CLI and network access. All commands preserve unrelated MCP settings and set JEV_HARNESS automatically. They do not store TYPESAFE_API_KEY; make sure the harness process provides it to the MCP server. See docs/mcp.md for configuration paths and tool schemas.

Development

The four gates are:

bun run lint
bun run format:check
bun run typecheck
bun run test

The application and CLI run on Bun; the Oxlint RuleTester fixture suite uses Node >= 22.18 because that external test API is Node-only. Tests are offline: they use fake transports, temporary files, and localhost only. TYPESAFE_API_KEY is read at call time and never logged. Verification redacts credentials and never writes claim or evidence text to the event log; rank rejects common code, diff, and transcript patterns, redacts credentials, and never logs query or candidate text. Its pattern checks are conservative, not a complete content classifier. Ask state is caller-provided and should be redacted by the caller.

↑↓ navigate openesc close