RPCS-1 Agent Tuner & Translation Bridge
Find your AI agent's likely failure mode, get runtime settings, and clarify ambiguous prompts.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- HIGH
- MEDIUMin calibrate_profile
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"rpcs1-agent-tuner": {
"url": "https://rpcs1.dev/mcp"
}
}
}Remote-Endpunkte
https://rpcs1.dev/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (9)
🟢recommend_agent_configuration(task, environment, target_platform, target_model)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"task": {
"type": "object",
"properties": {
"task_summary": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"default": "Customer support agent handling refunds, billing disputes, and policy exceptions",
"description": "Plain-language description of what the AI agent does."
},
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"default": "customer_support",
"description": "Optional domain such as coding, research, or support."
},
"expected_duration_per_call": {
"type": "string",
"enum": [
"short",
"medium",
"long"
],
"default": "medium"
}
},
"additionalProperties": false,
"default": {
"task_summary": "Customer support agent handling refunds, billing disputes, and policy exceptions",
"domain": "customer_support",
"expected_duration_per_call": "medium"
}
},
"environment": {
"type": "object",
"properties": {
"entropy": {
"type": "string",
"enum": [
"stable",
"moderate",
"dynamic",
"chaotic"
],
"default": "dynamic",
"description": "How often the operating environment changes."
},
"predictability": {
"type": "string",
"enum": [
"highly_predictable",
"somewhat_predictable",
"unpredictable"
],
"default": "somewhat_predictable",
"description": "How predictable changes are when they occur."
},
"stakes": {
"type": "string",
"enum": [
"low",
"medium",
"high",
"catastrophic"
],
"default": "high",
"description": "The cost of an incorrect agent action."
},
"context_relevance": {
"type": "string",
"enum": [
"short",
"medium",
"long"
],
"default": "medium",
"description": "How far back relevant context usually extends."
},
"commitment_style": {
"type": "string",
"enum": [
"decisive",
"balanced",
"cautious"
],
"default": "cautious",
"description": "How quickly the agent should commit to an action."
}
},
"additionalProperties": false,
"default": {
"entropy": "dynamic",
"predictability": "somewhat_predictable",
"stakes": "high",
"context_relevance": "medium",
"commitment_style": "cautious"
}
},
"target_platform": {
"type": "string",
"enum": [
"anthropic",
"openai",
"open_source",
"generic"
],
"default": "anthropic",
"description": "The platform whose runtime parameters should be recommended."
},
"target_model": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"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."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"receiver_profile": {
"type": "object",
"properties": {
"TI": {
"type": "number"
},
"SG": {
"type": "number"
},
"FT": {
"type": "number"
},
"UE": {
"type": "number"
},
"AR": {
"type": "number"
}
},
"required": [
"TI",
"SG",
"FT",
"UE",
"AR"
],
"additionalProperties": false
},
"platform_parameters": {
"type": "object",
"properties": {
"temperature": {
"type": "number"
},
"top_p": {
"type": "number"
},
"max_tokens": {
"type": "number"
},
"model_recommendation": {
"type": "string"
},
"system_prompt_additions": {
"type": "array",
"items": {
"type": "string"
}
},
"tool_use_strategy": {
"type": "string",
"enum": [
"explicit_confirmation",
"cautious_chaining",
"aggressive",
"fail_fast"
]
},
"retry_strategy": {
"type": "string",
"enum": [
"aggressive",
"moderate",
"minimal"
]
},
"context_strategy": {
"type": "string",
"enum": [
"long_window",
"rolling_summary",
"frequent_grounding"
]
},
"translation_posture": {
"type": "string",
"enum": [
"direct",
"bridging",
"face_preserving",
"minimal_clarifying"
]
},
"translation_notes": {
"type": "array",
"items": {
"type": "string"
}
},
"receiver_evidence": {
"type": "object",
"properties": {
"model_key": {
"type": "string"
},
"display_name": {
"type": "string"
},
"grade": {
"type": "string",
"enum": [
"confirmatory",
"corroboration",
"self_measurement"
],
"description": "Evidence grade of the measurement — travels with the data."
},
"li2": {
"type": "number",
"description": "Fenced literalness, [-1, +1]."
},
"ob": {
"type": "number",
"description": "Truth-override boundary rung (0-5)."
},
"fringe": {
"type": "array",
"items": {
"type": "number"
},
"description": "Rungs with modal comply-then-correct."
},
"sb": {
"type": "number",
"description": "E-LIT-3 stakes boundary (1-5): highest stakes rung at which format fences still hold. Separate instrument; never pooled with li2/ob."
},
"cb": {
"type": "number",
"description": "E-LIT-3 care boundary (1-4): highest emotional-intensity rung at which fenced answers stay bare."
},
"measured_on": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"required": [
"model_key",
"display_name",
"grade",
"li2",
"ob",
"fringe",
"measured_on",
"scope"
],
"additionalProperties": false,
"description": "Present only when target_model has a measured per-model receiver entry."
},
"receiver_traits": {
"type": "array",
"items": {
"type": "string"
},
"description": "Reliability warnings and named traits for the measured receiver."
}
},
"required": [
"temperature",
"max_tokens"
],
"additionalProperties": false
},
"predicted_regime": {
"type": "string",
"enum": [
"stable",
"near_oscillation",
"near_overload",
"near_freeze"
]
},
"reasoning": {
"type": "string"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"imm_principles_applied": {
"type": "array",
"items": {
"type": "string"
}
},
"confidence": {
"type": "string",
"enum": [
"high",
"medium",
"low"
]
}
},
"required": [
"receiver_profile",
"platform_parameters",
"predicted_regime",
"reasoning",
"warnings",
"imm_principles_applied",
"confidence"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢interpret(text, risk)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "The message to interpret."
},
"risk": {
"type": "string",
"enum": [
"casual",
"advice",
"high-stakes",
"safety-critical"
],
"default": "advice",
"description": "Risk category for ambiguity threshold."
}
},
"required": [
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢fork(text, rejected)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "The message to analyze for forks."
},
"rejected": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 12,
"description": "Reading summaries the user already rejected — never re-offered."
}
},
"required": [
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢normalize(text)
Clean up text with ellipses, fragments, and run-on thoughts into coherent prose. Use when a user types stream-of-consciousness or fragmented input.
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "Fragmented text to normalize."
}
},
"required": [
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢rewrite(text, style)
Get rewrite instructions for adapting text to a specific style: technical, plain, socially_gentle, concise, detailed, or direct. Use when communication needs tone adjustment.
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "Text to rewrite."
},
"style": {
"type": "string",
"enum": [
"technical",
"plain",
"socially_gentle",
"concise",
"detailed",
"direct"
],
"default": "plain",
"description": "Target audience style."
}
},
"required": [
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calibrate_profile(answers)
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
Eingabe-Schema
{
"type": "object",
"properties": {
"answers": {
"type": "object",
"properties": {
"TI": {
"type": "string",
"enum": [
"a",
"b",
"c"
]
},
"SG": {
"type": "string",
"enum": [
"a",
"b",
"c"
]
},
"FT": {
"type": "string",
"enum": [
"a",
"b",
"c"
]
},
"UE": {
"type": "string",
"enum": [
"a",
"b",
"c"
]
},
"AR": {
"type": "string",
"enum": [
"a",
"b",
"c"
]
}
},
"additionalProperties": false,
"description": "Chosen option id per primitive. Omit entirely to receive the questions."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢prepare_prompt(text, risk, profile)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "The user’s raw message."
},
"risk": {
"type": "string",
"enum": [
"casual",
"advice",
"high-stakes",
"safety-critical"
],
"default": "advice",
"description": "Risk category for the ambiguity threshold."
},
"profile": {
"type": "object",
"properties": {
"TI": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Temporal Integration: 0 = bottom line first, 100 = full context first"
},
"SG": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Signal Gain: 0 = flat and factual, 100 = warm and expressive"
},
"FT": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Filtering Threshold: 100 = explicit and literal, 0 = subtext lands"
},
"UE": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Update Elasticity: 100 = pushback welcome, 0 = prefers consistency"
},
"AR": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Ambiguity Resolution: 100 = commit to best reading, 0 = clarify first"
}
},
"required": [
"TI",
"SG",
"FT",
"UE",
"AR"
],
"additionalProperties": false,
"description": "The user’s ReceiverProfile from calibrate_profile. Shapes clarify-vs-commit behavior."
}
},
"required": [
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢render_reply(text, profile)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 10000,
"description": "Your draft reply."
},
"profile": {
"type": "object",
"properties": {
"TI": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Temporal Integration: 0 = bottom line first, 100 = full context first"
},
"SG": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Signal Gain: 0 = flat and factual, 100 = warm and expressive"
},
"FT": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Filtering Threshold: 100 = explicit and literal, 0 = subtext lands"
},
"UE": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Update Elasticity: 100 = pushback welcome, 0 = prefers consistency"
},
"AR": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Ambiguity Resolution: 100 = commit to best reading, 0 = clarify first"
}
},
"required": [
"TI",
"SG",
"FT",
"UE",
"AR"
],
"additionalProperties": false,
"description": "The user’s ReceiverProfile from calibrate_profile."
}
},
"required": [
"text",
"profile"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢route_intent(text, hypotheses, likelihoods, profile)
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).
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "The user’s raw message."
},
"hypotheses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"cues": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"maxItems": 32,
"description": "Lexical cues for the built-in scorer; omit when passing likelihoods."
},
"paraphrase": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"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."
},
"prior": {
"type": "number",
"exclusiveMinimum": 0
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 24,
"description": "Candidate interpretations. Omit to use a generic six-intent starter set plus a catch-all."
},
"likelihoods": {
"type": "object",
"additionalProperties": {
"type": "number",
"minimum": 0
},
"description": "Optional externally computed likelihood per hypothesis id (e.g. model-derived) — replaces the lexical scorer."
},
"profile": {
"type": "object",
"properties": {
"TI": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Temporal Integration: 0 = bottom line first, 100 = full context first"
},
"SG": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Signal Gain: 0 = flat and factual, 100 = warm and expressive"
},
"FT": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Filtering Threshold: 100 = explicit and literal, 0 = subtext lands"
},
"UE": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Update Elasticity: 100 = pushback welcome, 0 = prefers consistency"
},
"AR": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Ambiguity Resolution: 100 = commit to best reading, 0 = clarify first"
}
},
"required": [
"TI",
"SG",
"FT",
"UE",
"AR"
],
"additionalProperties": false,
"description": "The user’s ReceiverProfile from calibrate_profile. Shapes commit-vs-clarify thresholds."
}
},
"required": [
"text"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis