System 1 MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@System 1 MCP ServerIs this command safe to run: rm -rf /var/cache/*?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
System 1 MCP Server
A Jev-powered System 1 reflex engine for AI agents via Model Context Protocol (MCP).
Modern AI agents (Claude Desktop, Cursor, Antigravity, OpenHands, Hermes) typically route every decision through a full large language model deliberation loop—even for fast binary checks such as determining if a command is destructive or selecting among known configuration paths. This introduces 1,500–3,000 ms of latency and burns unnecessary tokens per evaluation.
System 1 MCP provides agents with calibrated, low-latency System 1 reflexes. Powered by TypeSafe's Jev model, System 1 MCP exposes 4 specialized MCP tools that return typed probabilities and discrete verdicts in approximately 50–150 ms without chain-of-thought token generation.
Agent (Claude / Cursor / Antigravity)
│
▼ [MCP stdio JSON-RPC]
System 1 MCP Server
│
▼ [Single TypeSafe API call ~50-150ms]
TypeSafe Jev (System One) ──► Calibrated Probabilities & DecisionsLatency Profile and Operational Model
Model inference: ~20–40 ms
Network round-trip to api.typesafe.ai: ~30–120 ms (geography dependent)
Total end-to-end latency: ~50–200 ms
Compared to full LLM deliberation (~1,500–3,000 ms), System 1 MCP executes 10x–20x faster while using zero output tokens.
Advisory Notice: MCP tools provide advisory assessments. System 1 MCP supplies calibrated risk probabilities and classifications; the calling agent's decision engine retains authority over final execution.
Related MCP server: jev-mcp
Tool Reference
1. fast_guard — Pre-Execution Command and Action Safety Check
Call prior to executing shell commands, database updates, or external API modifications to assess risk profile and blast radius.
Input:
{
"command": "rm -rf /var/cache/*",
"goal": "Clean project temporary artifacts",
"workspace": "/repo"
}Output:
{
"action": "block",
"is_destructive": 0.99,
"is_dangerous": 0.72,
"is_out_of_scope": 0.85,
"blast_radius": {
"score": 2.1,
"legend": {
"0": "Isolated: Read-only check, single temporary file",
"1": "Workspace: Modifies local project directory",
"2": "System-wide: Modifies system configuration or root",
"3": "External: Impacts remote servers or databases"
}
}
}Decision Logic:
If
max(is_destructive, is_dangerous) >= block_threshold(default0.80) ➔"block"Else if
max(is_destructive, is_dangerous) >= review_threshold(default0.40) ➔"review"Else ➔
"pass"
2. fast_judge — Best-Option Selection
Select one option from a bounded set without deliberative text generation.
Input:
{
"question": "Which configuration file handles TypeScript compiler options?",
"options": {
"tsconfig.json": "TypeScript configuration",
"package.json": "NPM manifest",
"vite.config.ts": "Bundler configuration"
}
}Output:
{
"choice": "tsconfig.json",
"confidence": 0.96,
"probabilities": {
"tsconfig.json": 0.96,
"package.json": 0.03,
"vite.config.ts": 0.01
},
"is_confident": true
}3. fast_verify — Condition and State Verification
Verify assertions against evidence, goal completion, test outputs, or status checks.
Input:
{
"statement": "All unit tests passed without regression",
"evidence": "PASSED tests/test_auth.py (14/14) in 1.2s. 0 failed, 0 skipped."
}Output:
{
"probability": 0.98,
"is_true": true,
"assessment": "high_confidence_yes"
}Assessment Classifications:
> 0.85➔"high_confidence_yes"0.60–0.85➔"likely_yes"0.40–0.60➔"uncertain"0.15–0.40➔"likely_no"< 0.15➔"high_confidence_no"
4. fast_score — Multi-Level Assessment
Evaluate inputs against an ordered scale (e.g., severity, priority, or alignment).
Input:
{
"question": "Rate the severity of this production alert",
"levels": [
"Low / Cosmetic: non-blocking visual issue",
"Medium: degraded feature with workaround available",
"High / Critical: database unavailable or data corruption risk"
],
"content": "ALERT: Primary PostgreSQL instance replication lag exceeded 15 minutes, writes failing."
}Output:
{
"score": 1.95,
"confidence": 0.91,
"legend": {
"0": "Low / Cosmetic: non-blocking visual issue",
"1": "Medium: degraded feature with workaround available",
"2": "High / Critical: database unavailable or data corruption risk"
},
"probabilities": {
"0": 0.01,
"1": 0.08,
"2": 0.91
},
"is_confident": true
}Resilience and Graceful Escalation
When API errors, network timeouts, or rate limits occur, System 1 MCP maintains standard MCP connection stability and does not terminate the JSON-RPC channel. Instead, it emits a structured fallback payload:
{
"error": true,
"error_type": "api_timeout",
"message": "TypeSafe API request timed out after 5.0s",
"fallback_action": "escalate"
}When receiving fallback_action: "escalate", the host agent gracefully falls back to standard LLM deliberative reasoning.
Installation and Setup
Option A: Automatic Multi-IDE Installer (Recommended)
System 1 MCP includes an automated installer that detects and configures Claude Desktop, Cursor, Google Antigravity, Windsurf, Roo Code, Cline, and Zed:
# Interactive setup (prompts for API key and autodetects IDE installations)
uvx system1-mcp install
# Non-interactive setup with explicit key
uvx system1-mcp install --api-key ts_live_your_key_hereOption B: Health Check and Diagnostics (doctor)
Inspect installation status, identify detected configuration paths, and measure live API latency:
uvx system1-mcp doctorSample output:
>> System 1 MCP Diagnostics (v0.1.0)
Environment:
Python: 3.11.15
Config File: ~/.system1/config.json (found)
API Key Status:
Status: [OK] Configured
Resolved Key: ts_...8f2a
Source Origin: config_file
Live TypeSafe Jev Connectivity:
Status: [OK] Connected to api.typesafe.ai
Model: jev-latest
Roundtrip: 64.2ms
Calibration: P(valid) = 0.99
Detected IDE Configurations:
Claude Desktop [Detected ] -> Configured [OK]
Cursor [Detected ] -> Configured [OK]
Google Antigravity [Detected ] -> Configured [OK]Option C: Manual Configuration
To manually configure an editor, add the server configuration entry:
Claude Desktop (claude_desktop_config.json) / Antigravity (mcp_config.json) / Cursor
{
"mcpServers": {
"system1": {
"command": "uvx",
"args": ["system1-mcp"],
"env": {
"TYPESAFE_API_KEY": "your-typesafe-api-key-here"
}
}
}
}Note: If your key is stored in
~/.system1/config.json, the"env"block is optional; the server resolves stored credentials automatically.
Configuration Hierarchy
System 1 MCP searches for credentials using the following resolution order:
Process Environment:
TYPESAFE_API_KEY(from environment or host IDEenvmap)User Configuration:
~/.system1/config.json(with fallback to~/.fastpath/config.json)Workspace File:
.envin the current working directory
To configure stored user credentials via CLI:
# Store API key
uvx system1-mcp config set-key ts_live_your_key_here
# Display current configuration status
uvx system1-mcp config showDevelopment and Testing
# Run unit test suite (27 offline unit tests)
pytest tests/ -v -m "not integration"
# Run integration tests against the live TypeSafe Jev API (requires TYPESAFE_API_KEY)
pytest tests/test_integration.py -v -m integrationArchitectural Comparison
Dimension | TypeSafe Agent Skill | System 1 MCP |
Role | Instruction skill ( | Pre-packaged MCP server giving agents low-latency runtime reflexes |
Agent Schema Requirement | Requires knowledge of | Zero schema complexity; simple tool invocations (e.g. |
Target Use Case | Generating TypeSafe application code | Real-time safety validation, option routing, and verification |
License
This project is licensed under the terms of the MIT License.
Available Tools
4 toolsfast_guardA
Check if a command or action is safe before running it.
Returns risk probabilities and a recommended action (pass/review/block). Call this BEFORE executing shell commands, file modifications, or API calls.
NOTE: This is advisory -- it returns a recommendation, not enforcement.
Args: command: The shell command or action to evaluate. goal: The user's stated task objective / context. workspace: Optional current working directory or project context. block_threshold: Risk probability threshold above which to recommend 'block' (default 0.80). review_threshold: Risk probability threshold above which to recommend 'review' (default 0.40).
Returns: JSON object with 'action' (pass/review/block), 'is_destructive', 'is_dangerous', 'is_out_of_scope', and 'blast_radius'.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| command | Yes | ||
| workspace | No | ||
| block_threshold | No | ||
| review_threshold | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states 'This is advisory -- it returns a recommendation, not enforcement,' which is a key behavioral trait. It also lists the output fields, though it does not explicitly say the tool does not execute the command; the advisory note strongly implies this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded: purpose first, then usage directive, then a NOTE, then parameter details, then return information. Every section serves a purpose, and the length is justified by the need to document parameters given 0% schema coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 5-parameter tool with 0% schema coverage and an existing output schema. The description covers all parameters, defaults, the advisory nature, and the return fields. Given the output schema exists, the description is complete enough for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains every parameter: command and goal are required, workspace is optional context, and the two thresholds have defaults and semantic meaning. This adds substantial value beyond the raw schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Check if a command or action is safe before running it.' It clearly states what the tool does and mentions the return type (risk probabilities and recommended action). It does not explicitly differentiate from sibling tools like fast_judge or fast_verify, but the 'before running' framing gives reasonable distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes an explicit directive: 'Call this BEFORE executing shell commands, file modifications, or API calls.' This is clear context for when to use the tool. However, it does not mention when not to use it or name alternative tools, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fast_judgeA
Instantly select the best option from a set of candidates.
Returns the chosen option with full probability distribution and confidence. Call this when you need to pick one item from a known set without slow deliberation.
Args: question: What to decide (e.g. 'Which file contains the database connection settings?'). options: Dict mapping candidate keys to descriptions (at least 2 options). context: Optional context or state relevant to the decision. confidence_floor: Confidence floor (default 0.60) below which 'is_confident' is false.
Returns: JSON object with 'choice', 'confidence', 'probabilities', and 'is_confident'.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| options | Yes | ||
| question | Yes | ||
| confidence_floor | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the output shape (JSON with choice, confidence, probabilities, is_confident) and defines the confidence_floor behavior. It does not discuss side effects, failure modes, or edge cases, but for a selection tool this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-organized: purpose statement first, then return behavior, then usage guidance, then Args, then Returns. Each sentence earns its place, and the key usage instruction is front-loaded. The only minor redundancy is restating the return fields, but it's not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, nested options, and an output schema, the description gives enough to call it correctly: parameter semantics, confidence threshold, and output structure. It doesn't specify what happens when options tie or whether the choice key is guaranteed to be one of the option keys, but such edge details are minor. Overall, the description is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description's Args section fully explains all four parameters: question ('What to decide'), options ('Dict mapping candidate keys to descriptions (at least 2 options)'), context ('Optional context or state'), and confidence_floor with its default. This completely compensates for the absent schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Instantly select the best option from a set of candidates,' which clearly states the verb and resource. It adds return details (choice, confidence, probabilities). However, it never explicitly differentiates from sibling tools like fast_guard, fast_verify, or fast_score, though the selection-focused purpose is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Call this when you need to pick one item from a known set without slow deliberation.' This tells an agent when to use it, but it doesn't mention when not to use it or name alternative tools. The guidance is clear but lacks exclusions or contrast with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fast_scoreA
Rate content along a defined scale with ordered levels.
Returns a score, probability distribution across levels, and confidence. Call this for severity, quality, relevance, complexity, or any custom rating.
Args: question: What dimension to rate (e.g. 'How severe is this bug report?'). levels: Ordered list of level descriptions from lowest to highest (at least 2). content: The text or object to evaluate. confidence_floor: Confidence threshold (default 0.60).
Returns: JSON object with 'score', 'confidence', 'legend', 'probabilities', and 'is_confident'.
| Name | Required | Description | Default |
|---|---|---|---|
| levels | Yes | ||
| content | Yes | ||
| question | Yes | ||
| confidence_floor | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure, and it does add useful context by explaining that the tool returns a score, probability distribution, and confidence, and that confidence_floor is a threshold. It does not address side effects, failure modes, or nondeterminism, but for a stateless rating tool the disclosed behavior is not dangerously incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Structured into purpose, usage, args, and returns with no filler; the main use case is front-loaded in the first line and each section earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Four parameters are fully documented, the return shape is explicitly stated, and an output schema exists, so the agent has enough to invoke the tool correctly. It loses a point only because the relationship to fast_judge/fast_verify and the precise effect of confidence_floor on is_confident are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does. Each parameter is explained in plain terms: question gets an example, levels gets an ordering constraint and minimum length, content gets accepted types, and confidence_floor gets a default and purpose. This goes well beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific action ('Rate content along a defined scale with ordered levels') and lists concrete use cases (severity, quality, relevance, complexity), so an agent knows what the tool does. It does not explicitly contrast with siblings such as fast_judge or fast_verify, so it misses the top marker for sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says explicitly to 'Call this for severity, quality, relevance, complexity, or any custom rating', giving clear criteria for when to use it. It does not name alternatives, exclusions, or conditions for using fast_judge/fast_verify, so it lacks the when-not/alternative guidance needed for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fast_verifyA
Check whether a condition is true or a task goal has been met.
Returns the probability (0-1) that the statement is true given the evidence. Call this to verify goal completion, test outputs, status checks, and loop detection.
Args: statement: The yes/no claim to verify against evidence. evidence: The output, log, or evidence to evaluate. yes_means: Optional clarification of what 'yes' / true means. no_means: Optional clarification of what 'no' / false means.
Returns: JSON object with 'probability', 'is_true', and 'assessment'.
| Name | Required | Description | Default |
|---|---|---|---|
| evidence | Yes | ||
| no_means | No | ||
| statement | Yes | ||
| yes_means | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden and does well: it explains the probability output, the return fields, and optional yes/no clarification parameters. It does not discuss edge cases or limitations, but the read-only, input-output nature of the tool is clearly conveyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with a one-sentence summary, a 'Returns' line, and a compact Args list. Every sentence adds useful information and there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition covers inputs, outputs, use cases, and optional parameters, which is solid for a four-parameter tool with no annotations. It could additionally explain how to handle insufficient/ambiguous evidence or mention any limitations, but nothing critical is missing for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must define parameters itself. It provides meaningful explanations for all four parameters: statement, evidence, yes_means, and no_means. This fully compensates for the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('check') and identifies the resource (whether a condition is true or goal met), with clear use cases listed. It clearly describes what the tool does but does not explicitly contrast it with sibling tools like fast_judge or fast_score, so it misses the full sibling-differentiation marker.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states explicit call contexts: 'Call this to verify goal completion, test outputs, status checks, and loop detection.' This gives clear when-to-use guidance, though it does not mention when not to use it or name alternative sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v0.1.0- First observed
fast_guard - First observed
fast_judge - First observed
fast_score - First observed
fast_verify
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: guard for safety evaluation, judge for selecting from options, verify for truth checking, and score for rating on a scale. No ambiguity or overlap in their intended use cases.
All tools follow the same 'fast_' prefix plus a descriptive verb (guard, judge, verify, score), forming a consistent and predictable naming pattern throughout the set.
Four tools is well-scoped for a focused server providing fast decision-making helpers. Each tool earns its place, and the count is not excessive or too thin for the declared purpose.
The set covers common fast-decision operations: safety checking, selection, verification, and rating. While a 'compare' or 'rank' tool could be imagined, the judge and score tools suffice for most scenarios, leaving only minor gaps.
Maintenance
Related MCP Connectors
Calibrated world model for AI agents. 40 tools: world state, markets, trading. Kalshi + Polymarket.
Deterministic runtime safety for AI agents: scan PII, gate tool actions, verify LLM output.
See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.
Calibrated probabilistic foresight for AI agents, powered by live prediction-market signal.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables agents to verify claims against cited evidence, screen content for prompt injection and relevance before reading it, and rank candidates by meaning, all with calibrated probability verdicts.10758 npm88MIT
- AlicenseAqualityBmaintenanceEnables coding agents to make cheap, fast probabilistic decisions on every turn, with tools for coding-loop checks, review, verification, screening untrusted input, and ranking candidates.6220 npm7MIT
- AlicenseAqualityBmaintenanceEnables coding agents to compact conversation contexts verbatim, make fast decisions through choice, boolean, and rubric scoring, and enforce command safety guardrails.6MIT
- AlicenseAqualityCmaintenanceProvides agents with fast, typed, calibrated decision tools for classification, scoring, yes/no checks, and gating risky tool calls.5MIT