itsmostafa/typesafe-mcp

★ 126⑂ 15

mcp connector to give your AI agent direct access to typesafe ai's jev model

About itsmostafa/typesafe-mcp

itsmostafa/typesafe-mcp is an open-source project on GitHub, mainly written in Go. mcp connector to give your AI agent direct access to typesafe ai's jev model It currently holds 126 stars and 15 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #93 with 0 new stars today.

GitHub Repository Details

Repository itsmostafa/typesafe-mcp · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

Typesafe MCP

Give your AI agent typed decisions instead of free text. evaluate is an MCP server that lets Claude Code, Claude Desktop, Codex, and pi call TypeSafe's Jev model and get back probabilities they can branch on. One command, evaluate setup mcp, registers it with the first three (if detected); evaluate setup pi covers pi.

Latest release License: MIT Go version

┌──────────────┐  evaluate   ┌──────────┐  POST /v1/systemone  ┌──────────────┐
│ Claude Code  │ ──────────▶ │ evaluate │ ───────────────────▶ │ TypeSafe API │
│ Claude Desk. │   (stdio)   │  (MCP)   │  retries 429 / 529   │  ── or ──    │
│ Codex        │             │          │                      │  OpenRouter  │
│ pi           │ ◀────────── │          │ ◀─────────────────── │              │
└──────────────┘ typed JSON  └──────────┘   POST /decisions    └──────────────┘

Why this exists

Problem: When an agent needs a yes/no call, a routing decision, or a severity rating, it usually asks an LLM, then parses prose and hopes the format holds. The answer has no probability attached, so the agent cannot tell a confident "yes" from a coin flip.

Solution: evaluate exposes one tool, evaluate, that sends state plus typed questions to Jev and returns structured answers with probabilities. Nothing to parse and no prompt formatting to maintain. evaluate setup mcp wires it into Claude Desktop, Claude Code, and Codex in one step, and evaluate setup pi installs the equivalent extension for pi.

Quickstart

1. Install (macOS and Linux, amd64 and arm64):

curl -fsSL https://raw.githubusercontent.com/itsmostafa/typesafe-mcp/main/install.sh | sh

It installs to ~/.local/bin. If that is not on your PATH, add it with export PATH="$HOME/.local/bin:$PATH". With Go, you can instead run go install github.com/itsmostafa/typesafe-mcp/cmd/evaluate@latest. Run evaluate update to upgrade in place.

2. Register with your agents (get a key at https://console.typesafe.ai/)

TYPESAFE_API_KEY=your-key evaluate setup mcp

Already on OpenRouter? Use that key instead and evaluate routes through OpenRouter's Decisions endpoint, billed to your OpenRouter account:

OPENROUTER_API_KEY=your-key evaluate setup mcp

TYPESAFE_API_KEY wins if both are set. OpenRouter's Decisions endpoint is still on its /api/alpha/ path and may move.

Using pi? It has no MCP client, so evaluate ships a pi extension instead:

evaluate setup pi

That writes ~/.pi/agent/extensions/evaluate.ts, which registers evaluate as a native pi tool and talks to evaluate mcp for you. Run /reload in pi to pick it up. Unlike the MCP clients, nothing is baked into the file: the extension reads your key from the shell pi runs in.

3. Ask your agent a judgment question

"Use evaluate to decide whether this ticket is urgent and which team should own it: Help! My payouts have been failing for 3 days."

The agent calls evaluate with:

{
  "state": "Help! My payouts have been failing for 3 days.",
  "questions": {
    "is_urgent": {"type": "noul", "instructions": "Does this convey urgency?"},
    "department": {"type": "choice", "instructions": "Which team should handle this?",
      "criteria": {"billing": "Payments, refunds", "technical": "Bugs, outages", "sales": "Pricing"}}
  }
}

It gets back the raw response JSON, with each answer under the same id you gave it.

What you get

About TypeSafe

TypeSafe builds System One models: small units of AI intelligence you use like programming primitives. Instead of generating text, they turn natural language and application state into typed judgments and probabilities that code can combine. Jev is one of them.

Website · Docs · API reference · Console

Reference

| Field | Required | Description | |---|---|---| | state | yes | Content to judge: plain text, or a JSON object/array with named fields. Raw observed evidence, not your conclusion about it | | questions | yes | Map of question id to {type, instructions, criteria?} | | model | no | Defaults to jev-latest, or ~typesafe/jev-latest on OpenRouter |

Criteria shape per question type, the 0-indexed score answers, and manual client config: cmd/evaluate/CLAUDE.md. Malformed criteria are rejected locally, before the request, with the field path you sent. Full API docs: https://docs.typesafe.ai/api

Contributing

Issues and pull requests are welcome. The repo uses Task: task check runs gofmt, go vet and the tests with -race, and task inspect opens the MCP Inspector against a local build. CLAUDE.md covers the conventions.

If evaluate saves you some prompt-parsing, a star helps others find it.

GitHub Stars & Activity

126Stars
15Forks
0Open issues
GoLanguage

GitHub Popularity

GitHub stars126
Forks15
Open issues0
Primary languageGo
License-
Stars gained today0
Created-
Last pushed-

Trending History

Daily boardrank #93 · ▲ 0 stars

Related AI Projects

1

coder / coder

Go★ 15,813⑂ 1,533▲ 402 stars
2

weave-os / router

Go★ 4,534⑂ 125▲ 56 stars
3

vshulcz / deja-vu

Go★ 878⑂ 86▲ 20 stars
4

openai / tunnel-client

Go★ 438⑂ 87▲ 10 stars
5

affaan-m / ECC

JavaScript★ 263,267⑂ 39,395▲ 1,012 stars
6

NousResearch / hermes-agent

Python★ 247,332⑂ 51,995
7

tensorflow / tensorflow

C++★ 200,205⑂ 76,961▲ 28 stars
8

Significant-Gravitas / AutoGPT

Python★ 187,453⑂ 46,009▲ 30 stars

More AI Rankings