MCP server: One MCP server.

TypeSafe MCP

@renwang-huangMCP server · External

Host-neutral MCP bridge for TypeSafe AI Jev judgments with typed review, routing, and gate tools.

Fact-checkingv0.5.2MITPython
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

PyPItypesafe-mcpv0.5.2

Run

uvx typesafe-mcp

MCP client config

{
  "mcpServers": {
    "typesafe-mcp": {
      "command": "uvx",
      "args": [
        "typesafe-mcp"
      ]
    }
  }
}
README5 min read

Arbitype

Typed decision tools for AI agents.

Classify · Score · Verify · Gate · Route · Review

MCP-native · Powered by TypeSafe Jev

CI Latest release Arbitype on PyPI MIT license Python 3.10 or newer MCP 2026-07-28 Arbitype listed in the MCP Registry

Quick start · Why Arbitype? · Tools · Benchmarks · Documentation

What is Arbitype?

Arbitype is an MCP-native typed decision layer for AI agents, powered by TypeSafe Jev. It turns probabilistic judgments into structured decision primitives that an agent or program can consume directly.

Arbitype is available on PyPI and the official MCP Registry.

Note

Arbitype is an independent open-source project. It is not an official TypeSafe AI product or an official integration for any particular agent host.

Quick Start

The fastest way to connect an MCP host is a local STDIO server launched by uvx:

bash
export TYPESAFE_API_KEY="your-key"
uvx arbitype

For a pinned, reproducible launch:

bash
uvx --from 'arbitype==0.7.0' arbitype

Or install the package into the current environment:

bash
python -m pip install arbitype
arbitype

The API key stays in the process environment. It is not an MCP argument and is never printed to standard output.

Host setup

Inspect detected hosts before writing anything:

bash
arbitype setup --detect --dry-run

Then apply a reviewed plan:

bash
arbitype setup codex
arbitype doctor --json

The setup flow is plan → unified diff → confirmation → backup → apply. Use claude, cursor, or vscode in place of codex. Detailed host formats, secret forwarding, --yes, --remove, ownership, and non-interactive behavior are documented in docs/HOST_SETUP.md.

Configuration

At minimum, set TYPESAFE_API_KEY. To select a model explicitly:

bash
export TYPESAFE_API_KEY="your-key"
export TYPESAFE_MODEL="jev-latest"

See the full configuration reference for endpoints, timeouts, retries, and request/response limits.

Compatibility

arbitype is the canonical distribution, Python package, and CLI. Existing TypeSafe MCP users should migrate to Arbitype; see docs/REGISTRY_MIGRATION.md.

For the safe migration from the historical distribution:

bash
python -m pip uninstall typesafe-mcp
python -m pip install arbitype
SurfaceCanonicalLegacy compatibility
PyPI / CLIarbitypetypesafe-mcp, typesafe-codex-mcp
Python importsarbitypetypesafe_mcp, typesafe_codex_mcp
MCP toolsroute, reviewcodex_route, codex_review

Why Arbitype?

Arbitype is designed around contracts and bounded decisions rather than free-form prose:

PrincipleWhat it means
Contract-firstRequests and provider responses are validated before they reach the agent.
Safe by defaultCredentials stay out of MCP tool arguments and generated host configuration.
Agent-orientedPurpose-built classify, verify, gate, route, review, and score primitives.
PortableZero third-party runtime dependencies and standard MCP STDIO.
MeasuredPublic tool-selection and decision-stability evaluation assets.

The decision flow is:

text
free-form state
      ↓
  TypeSafe Jev
      ↓
probabilistic judgment
      ↓
    Arbitype
      ↓
typed decision + probability
      ↓
agent / code branch

Real Use Cases

Start with one of the small, runnable fixtures:

ScenarioToolWhat it demonstrates
Support routingrouteChoose one next action without executing it.
PR verificationverifyCheck several claims independently.
Release reviewreview / gateSeparate holistic review from thresholded checks.
Agent next steprouteKeep the next workflow action bounded.

The example outputs are illustrative fixtures. They are not live model results, accuracy claims, or authorization decisions.

Tools

Arbitype advertises nine read-only, idempotent MCP tools:

ToolUse whenResult
evaluateYou need a custom typed Jev question set.Raw typed Jev response.
classifyYou need one choice from unordered labels.Choice and probability distribution.
scoreYou need one ordered rating or level.Weighted score and distribution.
checkYou need a probability for one bounded criterion.Noul yes/no probability.
verifyYou need several named claims checked independently.Noul answer per claim.
gateYou need checks and thresholds transformed into a signal.pass, review, or fail.
routeYou need one suggested next action.One action; no action execution.
reviewYou need a holistic quality or risk assessment.Review decision and evidence.
healthYou need local diagnostics or an explicit live check.Configuration and optional provider health.

Tool Selection Guide

NeedUseDo not substitute
One unordered labelclassifyroute, which selects an action
One ordered ratingscoreclassify, which has no order
One bounded propositioncheckverify, which handles multiple claims
Several named claimsverifyreview, which assesses a whole object
Checks plus thresholdsgatereview, which is holistic
One next actionrouteclassify, which returns a category
Whole diff, plan, release, or reportreviewverify, which answers claim by claim

Tool descriptions also state USE WHEN and DO NOT USE WHEN boundaries so hosts can select a primitive without hidden prompt conventions.

Probabilities and confidence are model signals, not proof. gate and review are advisory decision transformations, not authorization systems, security boundaries, or approval engines.

Architecture

mermaid
flowchart LR
    host["AI Agent / MCP Host<br/>Codex · Claude · Cursor · VS Code"]
    arbitype["Arbitype<br/>Typed decision tools"]
    jev["TypeSafe Jev<br/>System One Model"]
    env["TYPESAFE_API_KEY<br/>process environment"]

    host -->|MCP| arbitype
    arbitype -->|validated HTTPS| jev
    jev -->|typed probabilistic judgment| arbitype
    arbitype -->|structured decision| host
    env -. credential .-> arbitype

The public product is Arbitype; TypeSafe Jev is the current provider. Provider configuration intentionally keeps the TYPESAFE_* names because the credential and endpoint belong to TypeSafe.

Benchmark Snapshot

Recorded on the public 120-case Jev-mediated tool-selection evaluation:

MetricResult
Tool-selection accuracy96.67%
Invalid-tool rate0%
Schema-valid rate100%

This is a Jev-mediated evaluation over Arbitype's advertised MCP tool catalog. It is not a Codex, Claude, or Cursor host benchmark and is not a general model-performance guarantee.

Details and reproducible assets:

Security Boundaries

Arbitype is a local MCP adapter and typed decision layer. It is not:

  • a sandbox for untrusted code;
  • an authorization or identity system;
  • a prompt-injection firewall;
  • a security approval boundary; or
  • an official TypeSafe AI product.

It does not execute actions suggested by route, edit files, run shell commands, or treat model probabilities as proof. Read SECURITY.md before using live credentials.

Documentation

Development

The test suite uses local fakes and does not need an API key:

bash
python3 -m unittest discover -s tests -v
python3 -m compileall -q .
make check
make release-check

The official MCP Python SDK interoperability smoke test is in scripts/official_sdk_smoke.py. A live Jev check is opt-in and paid:

bash
TYPESAFE_API_KEY="your-key" arbitype doctor --live

Normal CI does not call the provider or run paid benchmarks.

Similar modules

Browse Fact-checking