Arbitype

io.github.Renwang-HuangPublished by GitHub account Renwang-Huangv0.7.0Updated Oct 24, 2026

Typed decision tools for AI agents, powered by TypeSafe Jev.

VerifiedSTDIODesktop onlyDeveloper ToolsAI & ML

Overview

AI-generated overview

Arbitype is a local MCP server that gives an assistant typed decision tools — classify, score, check, verify, gate, route and review — backed by the TypeSafe Jе

What you can do
Classify, score and check: pick one label from unordered options, give an ordered rating, or get a probability for a single bounded criterion, each with a distribution. Verify and review: check several named claims independently, or get a holistic quality or risk assessment with evidence. Gate and route: turn checks and thresholds into pass, review or fail, or get one suggested next action without executing it. Evaluate and health: run a custom typed question set, or inspect local configuration and optionally provider health.
When to use it
Use it when an agent needs a bounded, structured judgment instead of free-form prose — for example routing a support request to one next action, verifying claims in a pull request, or gating a release against thresholds. It suits workflows that want a probability attached to a decision.
Requirements
Runs as a local stdio process, launched with uvx or installed from PyPI, so Python tooling is needed. Requires the TYPESAFE_API_KEY environment variable; an optional TYPESAFE_MODEL variable selects the model. It calls the TypeSafe Jev provider over HTTPS, so network access is required.
Before you install
The TYPESAFE_API_KEY credential is sent to the TypeSafe Jev provider, and a live provider check is described as opt-in and paid. Probabilities and confidence are model signals, not proof, and gate and review are advisory only — not authorization, security or approval systems. The server does not execute the actions it suggests, edit files or run shell commands.

Installation

In SourceWeft

  1. Open Arbitype in the dashboard and add it to a workspace.
  2. 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

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 arbitypearbitype

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 codexarbitype 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-mcppython -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 -vpython3 -m compileall -q .make checkmake 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.

Source: README.md at commit e0c3bc3

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v0.7.0LatestSep 22, 2026
  2. v0.6.0Sep 22, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts