typesafe-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TYPESAFE_API_KEY | Yes | Bearer API key for the TypeSafe AI API. Required for tool calls; the server still starts without it. | |
| TYPESAFE_BASE_URL | No | Base URL of the TypeSafe AI API. | https://api.typesafe.ai |
| TYPESAFE_JEV_MODEL | No | Jev model id to request. Can be overridden per call with the tools' optional model argument. | jev-latest |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| jev_decideA | Ask TypeSafe AI's Jev decision model one or more typed questions (choice, score, noul and/or box) about a state in a single call. Returns typed answers with calibrated probabilities. The state may be text or structured JSON. Images: pass them in |
| jev_choiceA | Ask Jev a single Choice question: pick exactly one option from a labelled set. Returns the chosen option, a confidence value, and calibrated probabilities for every option. The answer is returned under the question name "answer". |
| jev_scoreA | Ask Jev a single Score question: rate the state on an ordered scale you define. Returns a numeric score, a confidence value, and probabilities per level. The answer is returned under the question name "answer". |
| jev_noulA | Ask Jev a single Noul question: estimate the probability (0..1) that a proposition about the state is true. Returns the calibrated probability under the question name "answer". |
| jev_boxA | Ask Jev a single Box question: locate one target in an image. Returns the box edges as fractions of the image size (top, bottom, left, right, each 0..1) plus a confidence value, under the question name "answer". The image must be in the request: reference it from the state or the instructions and pass it in assets. Box needs Jev 1.14, so this tool sends jev-1.14.0 unless you pass another model (jev-preview also works). A Box answer is always a box, even when the target is absent; pair it with jev_noul when you need a presence check. |
| jev_list_modelsA | List the TypeSafe AI models available to the configured API key (name, description, release date). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
The four question-type tools (choice, score, noul, box) each map to a distinct answer type, and the box description explicitly directs users to pair it with noul for presence checks. The only overlap is jev_decide, which bundles the same question types in a batch call; the descriptions clarify this, but an agent could still reasonably default to jev_decide for everything, blurring the boundary.
All tools share a consistent 'jev_' prefix and snake_case, so the set reads predictably. Minor deviation: jev_list_models is verb_noun while jev_choice/score/noul/box are bare nouns naming question types, with jev_decide as a verb — mostly cosmetic.
Six tools is well-scoped for a decision-model API: one per question type, a batch aggregator, and a model lister. No tool feels redundant or missing at this size.
The surface covers all four documented answer types plus batching and model discovery, which is the core of the domain. Minor gaps remain — no per-model capability introspection, usage/credit reporting, or error/diagnostic helper — but core workflows are covered.