Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,559Letters: 14Defects: 1,336counted 3 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:9fe6df7ad0b9237a2e16f2fa7d843e3927f65509a7874cfd916255089d11add4 | sha256sum