Server definition
- Hash
- sha256:9fe6df7ad0b9237a2e16f2fa7d843e3927f65509a7874cfd916255089d11add4
- What it is
- What a remote MCP server returned when asked what it offers: 9 tools
The blob, as servednamed by its sha256
{
"instructions": "Use this server for three categories of work. Category 1 — Agent tuning: Call recommend_agent_configuration when designing, tuning, or diagnosing an AI agent. Category 2 — Translation: Call interpret when a user says something ambiguous. Call normalize when input is fragmented. Call rewrite when text needs tone adjustment. Category 3 — Translation Bridge (per-user adaptation): Call calibrate_profile once to build the user’s ReceiverProfile from five quick questions (store the returned JSON in the user’s notes/memory for reuse). Then, on EVERY reply to that user, call render_reply with your draft and their profile, and apply the returned instructions before answering. When the user’s request is ambiguous, call prepare_prompt with their text and profile to recover intent before acting. This is the loop: prepare_prompt on the way in, render_reply on the way out. When the user’s request could mean several different things, call route_intent — and YOU propose the candidate readings: 3–7 short hypotheses covering the plausible interpretations of THIS message (including likely-typo readings and idiom-vs-literal readings), with your own likelihood estimates. The built-in default set is a generic product-intent starter, not an interpretation engine — passing it for arbitrary sentences yields uniform confusion over irrelevant options. Division of labor: the model GENERATES the branches; the deterministic router HOLDS them, scores the ambiguity, and decides commit / present options / clarify. route_intent is the AUTHORITY on commit-vs-clarify; prepare_prompt supplies the canonical translation and recovered entities — when the two disagree on whether to ask, follow route_intent.",
"tools": [
{
"description": "Build a ReceiverProfile (TI, SG, FT, UE, AR — continuous 0-100, never a category label) from five behavioral forced-choice answers. Call with NO answers to get the five questions to ask the user; call again with their answers (a/b/c per primitive) to get the profile. Store the returned profile JSON in the user’s notes or memory and pass it to render_reply / prepare_prompt on every turn. Deterministic and stateless — nothing is stored server-side. Schema: https://rpcs1.dev/v1/receiver-profile.json",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"answers": {
"additionalProperties": false,
"description": "Chosen option id per primitive. Omit entirely to receive the questions.",
"properties": {
"AR": {
"enum": [
"a",
"b",
"c"
],
"type": "string"
},
"FT": {
"enum": [
"a",
"b",
"c"
],
"type": "string"
},
"SG": {
"enum": [
"a",
"b",
"c"
],
"type": "string"
},
"TI": {
"enum": [
"a",
"b",
"c"
],
"type": "string"
},
"UE": {
"enum": [
"a",
"b",
"c"
],
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"name": "calibrate_profile",
"outputSchema": null
},
{
"description": "The calibrated ambiguity surface: deterministic structural fork detectors (reference, scope, grouping, compare-vs-choose, polysemy) with character-offset spans, plus per-reading one-line clarifiers the sender can append to lock a reading in. Returns competing readings, an ask-back question, and a forked-answer scaffold. Silent on clean text by contract. Runs the deterministic mirror floor only over MCP (no model). Prefer this over interpret for span-level ambiguity detection: interpret’s entity list is a word-list engine (calibrated 2026-08-15: no discrimination on conversational text) — advisory only.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"rejected": {
"description": "Reading summaries the user already rejected — never re-offered.",
"items": {
"type": "string"
},
"maxItems": 12,
"type": "array"
},
"text": {
"description": "The message to analyze for forks.",
"maxLength": 5000,
"minLength": 1,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "fork",
"outputSchema": null
},
{
"description": "Detect ambiguity in user messages using the RPCS-1 Signature Ambiguity Framework. Returns AR level (AR0-AR5), confidence, candidate interpretations with scores, clarifying questions, and suggested next step. Use when a user says something vague, passive-aggressive, or underspecified.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"risk": {
"default": "advice",
"description": "Risk category for ambiguity threshold.",
"enum": [
"casual",
"advice",
"high-stakes",
"safety-critical"
],
"type": "string"
},
"text": {
"description": "The message to interpret.",
"maxLength": 5000,
"minLength": 1,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "interpret",
"outputSchema": null
},
{
"description": "Clean up text with ellipses, fragments, and run-on thoughts into coherent prose. Use when a user types stream-of-consciousness or fragmented input.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"text": {
"description": "Fragmented text to normalize.",
"maxLength": 5000,
"minLength": 1,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "normalize",
"outputSchema": null
},
{
"description": "The inbound half of the Translation Bridge loop. Takes the user’s raw message (possibly ambiguous, fragmented, or underspecified) plus their ReceiverProfile, and returns the recovered intent, a canonical translation to act on, ambiguity level, and — profile-aware — whether to clarify or commit. Call this before acting on any ambiguous user request. Scope note: its detectors are lexical/structural (vague signals, ambiguous references) — for the commit-vs-clarify DECISION, route_intent (with your own proposed readings) is the authority; when they disagree, follow route_intent.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"profile": {
"additionalProperties": false,
"description": "The user’s ReceiverProfile from calibrate_profile. Shapes clarify-vs-commit behavior.",
"properties": {
"AR": {
"description": "Ambiguity Resolution: 100 = commit to best reading, 0 = clarify first",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"FT": {
"description": "Filtering Threshold: 100 = explicit and literal, 0 = subtext lands",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"SG": {
"description": "Signal Gain: 0 = flat and factual, 100 = warm and expressive",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"TI": {
"description": "Temporal Integration: 0 = bottom line first, 100 = full context first",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"UE": {
"description": "Update Elasticity: 100 = pushback welcome, 0 = prefers consistency",
"maximum": 100,
"minimum": 0,
"type": "number"
}
},
"required": [
"TI",
"SG",
"FT",
"UE",
"AR"
],
"type": "object"
},
"risk": {
"default": "advice",
"description": "Risk category for the ambiguity threshold.",
"enum": [
"casual",
"advice",
"high-stakes",
"safety-critical"
],
"type": "string"
},
"text": {
"description": "The user’s raw message.",
"maxLength": 5000,
"minLength": 1,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "prepare_prompt",
"outputSchema": null
},
{
"description": "Diagnose why a deployed AI agent may fail. Takes environmental entropy, predictability, stakes, context horizon, and commitment style, then returns receiver profile values (TI, SG, FT, UE, AR), platform parameters (temperature, top_p, strategy), regime prediction, reasoning, and warnings. Optionally pass target_model (the actual model id) to attach MEASURED per-model receiver posture (E-LIT table): evidence-graded literalness, truth-override boundary, and translation directives. Deterministic, stateless, read-only — does not store past recommendations.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"environment": {
"additionalProperties": false,
"default": {
"commitment_style": "cautious",
"context_relevance": "medium",
"entropy": "dynamic",
"predictability": "somewhat_predictable",
"stakes": "high"
},
"properties": {
"commitment_style": {
"default": "cautious",
"description": "How quickly the agent should commit to an action.",
"enum": [
"decisive",
"balanced",
"cautious"
],
"type": "string"
},
"context_relevance": {
"default": "medium",
"description": "How far back relevant context usually extends.",
"enum": [
"short",
"medium",
"long"
],
"type": "string"
},
"entropy": {
"default": "dynamic",
"description": "How often the operating environment changes.",
"enum": [
"stable",
"moderate",
"dynamic",
"chaotic"
],
"type": "string"
},
"predictability": {
"default": "somewhat_predictable",
"description": "How predictable changes are when they occur.",
"enum": [
"highly_predictable",
"somewhat_predictable",
"unpredictable"
],
"type": "string"
},
"stakes": {
"default": "high",
"description": "The cost of an incorrect agent action.",
"enum": [
"low",
"medium",
"high",
"catastrophic"
],
"type": "string"
}
},
"type": "object"
},
"target_model": {
"description": "Optional: the actual model id this agent will run on (e.g. \"claude-sonnet-4-6\", \"deepseek-v4-pro\"). When it matches a measured per-model receiver entry (E-LIT table), measured translation directives and evidence-graded posture data are attached to platform_parameters. Unknown models fall back to platform-level behavior unchanged.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"target_platform": {
"default": "anthropic",
"description": "The platform whose runtime parameters should be recommended.",
"enum": [
"anthropic",
"openai",
"open_source",
"generic"
],
"type": "string"
},
"task": {
"additionalProperties": false,
"default": {
"domain": "customer_support",
"expected_duration_per_call": "medium",
"task_summary": "Customer support agent handling refunds, billing disputes, and policy exceptions"
},
"properties": {
"domain": {
"default": "customer_support",
"description": "Optional domain such as coding, research, or support.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"expected_duration_per_call": {
"default": "medium",
"enum": [
"short",
"medium",
"long"
],
"type": "string"
},
"task_summary": {
"default": "Customer support agent handling refunds, billing disputes, and policy exceptions",
"description": "Plain-language description of what the AI agent does.",
"maxLength": 2000,
"minLength": 1,
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"name": "recommend_agent_configuration",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"confidence": {
"enum": [
"high",
"medium",
"low"
],
"type": "string"
},
"imm_principles_applied": {
"items": {
"type": "string"
},
"type": "array"
},
"platform_parameters": {
"additionalProperties": false,
"properties": {
"context_strategy": {
"enum": [
"long_window",
"rolling_summary",
"frequent_grounding"
],
"type": "string"
},
"max_tokens": {
"type": "number"
},
"model_recommendation": {
"type": "string"
},
"receiver_evidence": {
"additionalProperties": false,
"description": "Present only when target_model has a measured per-model receiver entry.",
"properties": {
"cb": {
"description": "E-LIT-3 care boundary (1-4): highest emotional-intensity rung at which fenced answers stay bare.",
"type": "number"
},
"display_name": {
"type": "string"
},
"fringe": {
"description": "Rungs with modal comply-then-correct.",
"items": {
"type": "number"
},
"type": "array"
},
"grade": {
"description": "Evidence grade of the measurement — travels with the data.",
"enum": [
"confirmatory",
"corroboration",
"self_measurement"
],
"type": "string"
},
"li2": {
"description": "Fenced literalness, [-1, +1].",
"type": "number"
},
"measured_on": {
"type": "string"
},
"model_key": {
"type": "string"
},
"ob": {
"description": "Truth-override boundary rung (0-5).",
"type": "number"
},
"sb": {
"description": "E-LIT-3 stakes boundary (1-5): highest stakes rung at which format fences still hold. Separate instrument; never pooled with li2/ob.",
"type": "number"
},
"scope": {
"type": "string"
}
},
"required": [
"model_key",
"display_name",
"grade",
"li2",
"ob",
"fringe",
"measured_on",
"scope"
],
"type": "object"
},
"receiver_traits": {
"description": "Reliability warnings and named traits for the measured receiver.",
"items": {
"type": "string"
},
"type": "array"
},
"retry_strategy": {
"enum": [
"aggressive",
"moderate",
"minimal"
],
"type": "string"
},
"system_prompt_additions": {
"items": {
"type": "string"
},
"type": "array"
},
"temperature": {
"type": "number"
},
"tool_use_strategy": {
"enum": [
"explicit_confirmation",
"cautious_chaining",
"aggressive",
"fail_fast"
],
"type": "string"
},
"top_p": {
"type": "number"
},
"translation_notes": {
"items": {
"type": "string"
},
"type": "array"
},
"translation_posture": {
"enum": [
"direct",
"bridging",
"face_preserving",
"minimal_clarifying"
],
"type": "string"
}
},
"required": [
"temperature",
"max_tokens"
],
"type": "object"
},
"predicted_regime": {
"enum": [
"stable",
"near_oscillation",
"near_overload",
"near_freeze"
],
"type": "string"
},
"reasoning": {
"type": "string"
},
"receiver_profile": {
"additionalProperties": false,
"properties": {
"AR": {
"type": "number"
},
"FT": {
"type": "number"
},
"SG": {
"type": "number"
},
"TI": {
"type": "number"
},
"UE": {
"type": "number"
}
},
"required": [
"TI",
"SG",
"FT",
"UE",
"AR"
],
"type": "object"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"receiver_profile",
"platform_parameters",
"predicted_regime",
"reasoning",
"warnings",
"imm_principles_applied",
"confidence"
],
"type": "object"
}
},
{
"description": "The outbound half of the Translation Bridge loop. Takes your draft reply plus the user’s ReceiverProfile and returns deterministic rendering instructions (structure, warmth, explicitness, revision posture, ambiguity handling — each with a why-trace). Apply the instructions to your draft before answering. Call this on every reply to a calibrated user.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"profile": {
"additionalProperties": false,
"description": "The user’s ReceiverProfile from calibrate_profile.",
"properties": {
"AR": {
"description": "Ambiguity Resolution: 100 = commit to best reading, 0 = clarify first",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"FT": {
"description": "Filtering Threshold: 100 = explicit and literal, 0 = subtext lands",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"SG": {
"description": "Signal Gain: 0 = flat and factual, 100 = warm and expressive",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"TI": {
"description": "Temporal Integration: 0 = bottom line first, 100 = full context first",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"UE": {
"description": "Update Elasticity: 100 = pushback welcome, 0 = prefers consistency",
"maximum": 100,
"minimum": 0,
"type": "number"
}
},
"required": [
"TI",
"SG",
"FT",
"UE",
"AR"
],
"type": "object"
},
"text": {
"description": "Your draft reply.",
"maxLength": 10000,
"minLength": 1,
"type": "string"
}
},
"required": [
"text",
"profile"
],
"type": "object"
},
"name": "render_reply",
"outputSchema": null
},
{
"description": "Get rewrite instructions for adapting text to a specific style: technical, plain, socially_gentle, concise, detailed, or direct. Use when communication needs tone adjustment.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"style": {
"default": "plain",
"description": "Target audience style.",
"enum": [
"technical",
"plain",
"socially_gentle",
"concise",
"detailed",
"direct"
],
"type": "string"
},
"text": {
"description": "Text to rewrite.",
"maxLength": 5000,
"minLength": 1,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "rewrite",
"outputSchema": null
},
{
"description": "Entropy routing over competing interpretations — the model proposes, the deterministic core disposes. YOU generate the candidate readings of the user’s message (3–7 short hypotheses covering the plausible interpretations, INCLUDING likely-typo readings, idiom-vs-literal readings, and domain senses) and pass them as hypotheses, ideally with your own likelihoods (0–1 per reading) AND a paraphrase per reading — the user’s message rewritten unambiguously under that interpretation, so the user can VERIFY intent by recognition before anything commits (one misread prompt skews a whole thread). The router computes the posterior and its normalized entropy T̂ and returns the decision: commit (one reading dominates), commit_with_note (close alternative disclosed), present_options (several readings live), or clarify (ask before acting — open-endedly when nothing discriminates). Thresholds adapt to the user’s ReceiverProfile (AR widens/narrows the commit region; high FT discloses near-ties). This tool is the commit-vs-clarify AUTHORITY in the pipeline. Omitting hypotheses falls back to a generic six-intent PRODUCT-ROUTING starter set — do not use the fallback for interpreting arbitrary sentences. Deterministic, stateless, read-only. Benchmarked: RTEB v1.1 (developer-bench grade; see docs/routing.md).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"hypotheses": {
"description": "Candidate interpretations. Omit to use a generic six-intent starter set plus a catch-all.",
"items": {
"additionalProperties": false,
"properties": {
"cues": {
"description": "Lexical cues for the built-in scorer; omit when passing likelihoods.",
"items": {
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"maxItems": 32,
"type": "array"
},
"id": {
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"label": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"paraphrase": {
"description": "The user’s message REWRITTEN UNAMBIGUOUSLY under this reading. Strongly recommended: when the router asks, the user verifies intent by reading these restatements, not by decoding labels.",
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"prior": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"id",
"label"
],
"type": "object"
},
"maxItems": 24,
"minItems": 2,
"type": "array"
},
"likelihoods": {
"additionalProperties": {
"minimum": 0,
"type": "number"
},
"description": "Optional externally computed likelihood per hypothesis id (e.g. model-derived) — replaces the lexical scorer.",
"type": "object"
},
"profile": {
"additionalProperties": false,
"description": "The user’s ReceiverProfile from calibrate_profile. Shapes commit-vs-clarify thresholds.",
"properties": {
"AR": {
"description": "Ambiguity Resolution: 100 = commit to best reading, 0 = clarify first",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"FT": {
"description": "Filtering Threshold: 100 = explicit and literal, 0 = subtext lands",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"SG": {
"description": "Signal Gain: 0 = flat and factual, 100 = warm and expressive",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"TI": {
"description": "Temporal Integration: 0 = bottom line first, 100 = full context first",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"UE": {
"description": "Update Elasticity: 100 = pushback welcome, 0 = prefers consistency",
"maximum": 100,
"minimum": 0,
"type": "number"
}
},
"required": [
"TI",
"SG",
"FT",
"UE",
"AR"
],
"type": "object"
},
"text": {
"description": "The user’s raw message.",
"maxLength": 5000,
"minLength": 1,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "route_intent",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:9fe6df7ad0b9237a2e16f2fa7d843e3927f65509a7874cfd916255089d11add4 | sha256sum