RPCS-1 Agent Tuner & Translation Bridge

io.github.travisbergen2由 GitHub 帳號 travisbergen2 發布v0.3.0更新於 Nov 2, 2026

Find your AI agent's likely failure mode, get runtime settings, and clarify ambiguous prompts.

已驗證Streamable HTTP可網頁執行效率與工作流AI 與機器學習

概覽

AI 產生的概覽

遠端匿名 MCP 伺服器,用來診斷 AI 代理的失效模式、提供執行階段參數建議,並釐清含糊的提示與回覆。

可以做什麼
  • 診斷代理並取得五維畫像、執行階段參數、預測狀態與下一步測試
  • 偵測訊息中的歧義,列出多種解讀並提供釐清問題
  • 把片段化文字整理成通順語句,並給出指定風格的改寫指示
  • 透過五道強制選擇題建立溝通偏好畫像
  • 在行動前還原使用者真正意圖,並依畫像產生回覆草稿
  • 在多種解讀之間做路由,決定直接執行、列出選項或先釐清
適用情境
適合為已部署的代理調整 temperature、top_p 與策略等參數,或在提示與回覆需要消歧與語氣調整時使用。適用於客服、程式開發與研究類代理,尤其是目前靠猜測設定參數的情況。
執行需求
無需安裝:它是採用 streamable HTTP 的公開遠端端點,未宣告驗證、API 金鑰或環境變數。README 提到依 IP 限流(預設每小時 120 次請求),部分用戶端可選擇使用 OAuth。
安裝前請注意
送出的文字(包含使用者訊息與回覆草稿)會傳到第三方託管服務,請勿貼上敏感內容。該畫像被說明為溝通偏好量測,並非心理評估。回傳的是建議性參數,需自行測試驗證,並非保證。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 RPCS-1 Agent Tuner & Translation Bridge,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.travisbergen2%2Frpcs1-agent-tuner/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "rpcs-1-agent-tuner-translation-bridge": {
      "type": "http",
      "url": "https://rpcs1.dev/mcp"
    }
  }
}

README

RPCS-1 SDK — AI Agent Tuner

Start with the free tuner: find your AI agent’s likely failure mode, get runtime settings to try, and validate them with a harder case.

RPCS-1 helps teams make agent settings deliberate rather than guessed. Describe the task, change rate, predictability, stakes, relevant context horizon, and commitment style; it returns a five-primitive profile, a runtime recommendation, and a next test. The suite also includes SendRight for catching ambiguous prompts before handoff and the Translation Bridge for profile-aware communication rendering.

Repository Structure

rpcs1-sdk/├── packages/core/          # TypeScript engine (@rpcs1/core): tuner + translation layer + receiver-profile intake├── packages/web/           # Next.js app serving rpcs1.dev (tuner, translator, docs, Stripe, /mcp endpoint)├── packages/mcp-server/    # Standalone STDIO MCP server (what Glama and MCP clients build)├── sdk/python/             # Python SDK (pip install rpcs1)├── skills/                 # Canonical agent skill package (HF-HATP v2.0 SKILL.md)├── docs/                   # Architecture, deployment, launch playbook└── .github/workflows/      # CI/CD

Quick Start — Python SDK

bash
pip install rpcs1
python
from rpcs1 import recommend_params
config = recommend_params(    task_description="Customer support agent",    environment_entropy="dynamic",    environment_predictability="somewhat_predictable",    stakes="high",    target_platform="anthropic",)
print(config.platform_parameters.temperature)   # e.g. 0.52print(config.predicted_regime)                  # 'stable'print(config.reasoning)                         # cites Matching Principle

Quick Start — TypeScript Core

typescript
import { recommend } from '@rpcs1/core';
const rec = recommend({  task: { task_summary: 'Customer support agent' },  environment: {    entropy: 'dynamic',    predictability: 'somewhat_predictable',    stakes: 'high',    context_relevance: 'medium',    commitment_style: 'cautious',  },  target_platform: 'anthropic',});
console.log(rec.platform_parameters.temperature);console.log(rec.predicted_regime);

Development

bash
# Install dependenciesnpm ci --include=optional
# Build and test TypeScript corenpm run build --workspace=@rpcs1/corenpm run test --workspace=@rpcs1/core
# Test Python SDKcd sdk/pythonpip install -e ".[dev]"pytest -v

Web environment variables are documented in packages/web/.env.example (Stripe, Resend, license signing, rate limits). MCP production controls are listed under Production controls below.

The web app deploys to Vercel on Node 24 (region iad1); pushes to main trigger the production deployment.

The Matching Principle

The SDK implements Pred-09-5 from IMM Paper 9:

Stable receivers in an environment with entropy H satisfy TI ~ 1/H.

High-entropy environments → short attention windows (TI ~ 10). Low-entropy environments → long attention windows (TI ~ 90).

Every parameter recommendation traces back to this principle or the basin stability geometry (oscillation/overload/freeze boundary conditions).

Web App

The site can also explain the same product facts in technical, executive, plain-language, or literal-and-precise registers. The explanation changes; pricing, deliverables, and limitations do not.

Brand — Explicit Formula (product) / RPCS-1 (mechanism)

The site fronts one consumer product: Explicit Formula — the box on the landing page. Explicit: says exactly what it means (the product's one job); formula: a repeatable method. The wordmark is an advisory-sticker homage (components/StickerLogo.tsx), deliberately distinct from the trademarked RIAA label.

The mechanism brand — RPCS-1, the receiver engine, its laws, and its scorecard — is unchanged and renders as "Powered by RPCS-1" in the footer. House rule: outcome on the wrapper, mechanism one click deep.

  • The brand is a token: packages/web/lib/brand.ts. Renaming the product is one env var (NEXT_PUBLIC_BRAND_NAME) or one line — no other code changes.
  • Every station that used to compete for the nav (SendRight, Bridge, Translator, Calibrate, Tuner, R&D, …) stays live at its original route and is indexed at /labs (packages/web/lib/labs.ts).
  • The consumer domain follows the deployment: set NEXT_PUBLIC_APP_URL when it goes live. rpcs1.dev remains the mechanism home either way.

SendRight (Interpretation Mirror + Hand-off)

SendRight is the type-and-send front door: type a prompt the way you'd say it out loud, see the readings it actually supports, lock in the one you meant, and hand it to your own model app with one click.

Modules (packages/core):

  • mirror(text) — deterministic fork detectors (no ML, no API calls). Returns { clean, readings[], ambiguousSpans[] }. Detectors: compare-or-choose ("X or Y?" questions without an explicit verb), grouping forks ("A and B or C"), scope forks ("only ... and ..."), dangling pronouns, bare objects ("fix it"), external references ("the above"). Contract: silent on clean prompts — zero-fork controls in tests/mirror.test.ts enforce it. Pure function, callable from any front end (web box, NL2Build, CLI).
  • applyReading(text, clarifier) — appends the chosen reading's clarifier so the locked interpretation travels with the prompt.
  • buildHandoff(vendor, prompt) / listVendors() — per-vendor capability table for opening the user's own model app with the prompt pre-filled. Prefill URL parameters are undocumented vendor behavior and churn without notice; each entry carries a verified date and must be re-checked at release. Verified 2026-07-25: ChatGPT, Claude, Perplexity, Grok support URL prefill; Gemini and Copilot are clipboard-fallback only. Logged-out users may lose the prefill at login. All vendors degrade gracefully to clipboard.

Web: /send (packages/web/app/send) renders the box via components/SendBox.tsx — mirror runs client-side (debounced, zero network); the hand-off happens in the user's own app. SendRight never makes the model call and never sees the answer.

Feasibility boundary (honest scope): reasoning-stream digests and mid-generation stop/realign are only possible where rpcs1 itself owns the API call (the fan-out / power-user mode, not yet shipped). They are structurally impossible in vendor chat UIs and via the MCP surface — SendRight's hand-off path intentionally trades those away for zero keys, zero cost, and zero data custody.

MCP Server

RPCS-1 is also available as a public, anonymous, read-only MCP server:

text
https://rpcs1.dev/mcp

It exposes eight read-only tools across four families:

  • recommend_agent_configuration — diagnose an AI agent against environmental entropy, predictability, stakes, context horizon, and commitment style; receive runtime settings to try and a next test.
  • interpret, normalize, and rewrite — detect ambiguity, turn fragmented text into coherent prose, and return style-specific rewrite instructions.
  • route_intent — entropy routing over competing interpretations of a message: the calling model proposes candidate readings (paraphrases and priors); the deterministic router computes the posterior and decides commit, present options, or clarify. The commit-vs-clarify authority in the pipeline.
  • calibrate_profile, prepare_prompt, and render_reply — create a continuous communication-preference profile, recover intended meaning before an action, and render a reply for that profile.

Translation Layer

"Say what you mean. Hear what they meant."

The Translation Bridge treats the profile as a transportable parameter, not a category label. The five-question Calibrate flow measures communication preferences for rendering only; it is not a psychological assessment or diagnosis. prepare_prompt / render_reply use that profile on the inbound and outbound sides of an interaction. The canonical agent-facing specification lives at skills/rpcs1-translation-layer/SKILL.md.

Tuner examples

The first useful call is a support copilot under live pressure:

text
Use recommend_agent_configuration to diagnose my support copilot.
Task: refund and billing dispute triageEnvironment: dynamic, somewhat_predictable, high stakesContext relevance: mediumCommitment style: cautiousTarget platform: anthropic

The output should lead with the five-primitive profile, failure-risk score, predicted regime, runtime posture, and next test to run.

The second useful call is a coding agent in a changing repository:

text
Use recommend_agent_configuration to diagnose my coding agent.
Task: inspect a changing repository, edit files, run tests, and open a pull requestEnvironment: moderate, somewhat_predictable, medium stakesContext relevance: longCommitment style: balancedTarget platform: openai

The output should still lead with the five-primitive profile, failure-risk score, predicted regime, runtime posture, and next test to run.

Connection details and client compatibility notes are available at https://rpcs1.dev/docs/mcp. Practical coding, support, and research examples are available at https://rpcs1.dev/docs/examples.

Hyperagent uses the fixed public OAuth client hyperagent-rpcs1 with PKCE and the registered callback https://hyperagent.com/api/mcp-servers/callback. No client secret is required.

The MCP surface exposes the deterministic agent-tuning workflow alongside read-only translation and per-user rendering tools. New tools should be added only after their scoring or behavior contracts are implemented and tested in the core package.

Discovery metadata:

Production controls:

  • MCP_HOURLY_LIMIT controls per-instance MCP throttling (default: 120 requests per IP/hour).
  • MCP_MAX_BODY_BYTES limits request bodies (default: 65536 bytes).
  • MCP_ALLOWED_HOSTS is a comma-separated production host allowlist.
  • MCP_ALLOWED_ORIGINS is an optional comma-separated browser-origin allowlist. Leave it blank to reject cross-origin browser requests.
  • MCP_OAUTH_JWT_SECRET signs short-lived OAuth authorization codes and access tokens.
  • /api/health reports deployment and MCP readiness metadata.

For globally consistent abuse protection across Vercel instances, configure a Vercel Firewall rate-limit rule for /mcp. The in-process limiter is defense in depth, not a distributed quota.

Glama Docker checks should build and launch the local STDIO server, not connect to the hosted https://rpcs1.dev/mcp endpoint. Use this build spec:

json
{  "buildSteps": [    "npm ci --include=optional",    "npm run build --workspace=@rpcs1/core",    "npm run build --workspace=@rpcs1/mcp-server"  ],  "cmdArguments": [    "mcp-proxy",    "--",    "node",    "packages/mcp-server/dist/index.js"  ],  "environmentVariablesJsonSchema": {    "type": "object",    "properties": {},    "required": []  },  "placeholderArguments": {}}

License

MIT

來源:README.md,提交 4af6781

工具

9

recommend_agent_configuration

Recommend AI agent configuration

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.

輸入參數taskenvironmenttarget_modeltarget_platform

interpret

Interpret ambiguous human input

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.

輸入參數risktext必填

fork

Fork view — how could this message read?

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.

輸入參數text必填rejected

normalize

Normalize fragmented human input

Clean up text with ellipses, fragments, and run-on thoughts into coherent prose. Use when a user types stream-of-consciousness or fragmented input.

輸入參數text必填

rewrite

Rewrite text for a target audience

Get rewrite instructions for adapting text to a specific style: technical, plain, socially_gentle, concise, detailed, or direct. Use when communication needs tone adjustment.

輸入參數text必填style

calibrate_profile

Calibrate a user’s receiver profile

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

輸入參數answers

prepare_prompt

Prepare a user’s message before acting on it

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.

輸入參數risktext必填profile

render_reply

Render a reply for a specific user’s receiver 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.

輸入參數text必填profile必填

route_intent

Route an ambiguous request: commit, present options, or clarify

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).

輸入參數text必填profilehypotheseslikelihoods

版本歷史

1
  1. v0.3.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分