From 3a5b40474e8fe1ebc70c2341bf202b0636d6f3be Mon Sep 17 00:00:00 2001 From: MytelligentPRV Date: Sat, 27 Jun 2026 10:24:30 -0700 Subject: [PATCH] chore(mcp): complete WayforthRank/WRI scrub + bump 0.9.1 for republish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The #47 scrub fixed the repo + gateway but never reached the published wayforth-mcp (PyPI 0.9.0, served by Smithery as latest) — so WayforthRank/WRI is still live in the version users install. AND #47 missed the 'WRI' acronym in 5 more files (README, reliability/run/execute/compare) that were leaking in BOTH published and repo HEAD. This completes the scrub so ONE republish fully closes the exposure: WRI prose -> 'reliability score'/'Reliability' across README + 4 tool files. KEPT (output contract / public API, already exposed via the gateway, not a trade-secret-name leak): the wri_score / original_wri / fallback_wri response fields and the wayforth_set_wri_alert tool name. Version 0.8.14 -> 0.9.1 (one above published 0.9.0). After this, HEAD has ZERO uppercase WRI + ZERO WayforthRank anywhere in the package; a republish from HEAD is clean + reproducible. STAGED for review — do NOT publish yet. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/mcp-server/README.md | 8 ++++---- packages/mcp-server/pyproject.toml | 2 +- packages/mcp-server/tools/compare.py | 4 ++-- packages/mcp-server/tools/execute.py | 4 ++-- packages/mcp-server/tools/reliability.py | 6 +++--- packages/mcp-server/tools/run.py | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/mcp-server/README.md b/packages/mcp-server/README.md index 9555c71..66724b5 100644 --- a/packages/mcp-server/README.md +++ b/packages/mcp-server/README.md @@ -30,14 +30,14 @@ export WAYFORTH_API_KEY=wf_live_... | Tool | Description | |------|-------------| -| `wayforth_search` | Search ~5,000 APIs by natural language — returns WRI scores, tier, price/req | +| `wayforth_search` | Search ~5,000 APIs by natural language — returns reliability scores, tier, price/req | | `wayforth_query` | Structured discovery — filter by tier, latency, region, price, payment rail | | `wayforth_run` | Intent-based routing with automatic reliability failover — returns result + failover status | | `wayforth_execute` | Direct execution of a managed service; auto-fails over to best alternative if degraded — returns result + failover status | -| `wayforth_reliability` | Real-time reliability check — WRI score, tier, 7d uptime, last probe, failover candidate | +| `wayforth_reliability` | Real-time reliability check — reliability score, tier, 7d uptime, last probe, failover candidate | | `wayforth_pay` | Pay for a service via card credits or USDC on Base | | `wayforth_list` | Browse catalog with category, tier, and limit filters | -| `wayforth_status` | Live API health, WRI scores, tier levels, last probe result, and failover history | +| `wayforth_status` | Live API health, reliability scores, tier levels, last probe result, and failover history | | `wayforth_stats` | Catalog statistics — total services, tier breakdown | | `wayforth_keys` | Store your own API keys encrypted at rest (BYOK) | | `wayforth_remember` | Save a service to persistent agent memory | @@ -46,7 +46,7 @@ export WAYFORTH_API_KEY=wf_live_... | `wayforth_similar` | Find services co-used alongside a given service | | `wayforth_identity` | Get or create your agent identity — returns trust score, reputation tier, usage history | | `wayforth_check_agent_identity` | Look up another agent's identity by wallet address | -| `wayforth_set_wri_alert` | Set a webhook to fire when a service crosses a WRI score threshold | +| `wayforth_set_wri_alert` | Set a webhook to fire when a service crosses a reliability score threshold | | `wayforth_quickstart` | Get started guide — returned as a formatted string | ## Development diff --git a/packages/mcp-server/pyproject.toml b/packages/mcp-server/pyproject.toml index 6cdeed0..4a17920 100644 --- a/packages/mcp-server/pyproject.toml +++ b/packages/mcp-server/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "wayforth-mcp" -version = "0.8.14" +version = "0.9.1" description = "MCP server for Wayforth — The API Runtime for AI Agents." readme = "README.md" license = {text = "BSL-1.1"} diff --git a/packages/mcp-server/tools/compare.py b/packages/mcp-server/tools/compare.py index fbdae5e..4c37aba 100644 --- a/packages/mcp-server/tools/compare.py +++ b/packages/mcp-server/tools/compare.py @@ -19,7 +19,7 @@ async def wayforth_compare( ) -> str: """ Compare 2-5 API services side by side. - Returns WRI scores, response times, costs, signal counts and a plain-English recommendation. + Returns reliability scores, response times, costs, signal counts and a plain-English recommendation. Use this before committing to a service. """ api_key = _get_api_key() @@ -41,7 +41,7 @@ async def wayforth_compare( lines.append("") for svc in d["services"]: verdict = f" [{svc['verdict']}]" if svc.get("verdict") else "" - wri = f"WRI {svc['wri_score']}" if svc.get("wri_score") else "WRI —" + wri = f"Reliability {svc['wri_score']}" if svc.get("wri_score") else "Reliability —" signals = f" signals={svc['total_signals']}" if svc.get("total_signals") else "" ms = f" {svc['avg_response_ms']}ms" if svc.get("avg_response_ms") else "" credits = f" {svc['credits_per_call']} credits/call" if svc.get("credits_per_call") else "" diff --git a/packages/mcp-server/tools/execute.py b/packages/mcp-server/tools/execute.py index 7fdbf5c..228c7ed 100644 --- a/packages/mcp-server/tools/execute.py +++ b/packages/mcp-server/tools/execute.py @@ -17,7 +17,7 @@ async def wayforth_execute( agent_id: str = Field(default="", description="Optional: tag this call with your agent's name for per-agent analytics. Example: 'translation-agent'. Max 64 chars, alphanumeric/hyphens/underscores."), ) -> str: """Direct execution against a managed service by slug. - If the service is below Tier 2 or WRI-degraded at call time, Wayforth + If the service is below Tier 2 or reliability-degraded at call time, Wayforth fails over to the best verified alternative automatically. Returns result + failover status. @@ -65,7 +65,7 @@ async def wayforth_execute( if failover.get("triggered"): out["_failover_note"] = ( f"⚡ Failover: {failover.get('original_service')} → {failover.get('routed_to')} " - f"({failover.get('reason')}, WRI {failover.get('original_wri')} → {failover.get('fallback_wri')})" + f"({failover.get('reason')}, reliability {failover.get('original_wri')} → {failover.get('fallback_wri')})" ) result_str = json.dumps(out, indent=2) diff --git a/packages/mcp-server/tools/reliability.py b/packages/mcp-server/tools/reliability.py index 81e2ff2..935f456 100644 --- a/packages/mcp-server/tools/reliability.py +++ b/packages/mcp-server/tools/reliability.py @@ -19,13 +19,13 @@ async def wayforth_reliability( ), category: Optional[str] = Field( default=None, - description="Category name — returns top 5 services by WRI score. " + description="Category name — returns top 5 services by reliability score. " "Options: translation, inference, search, data, image, audio, communication. " "Used when slug is not provided.", ), ) -> str: """Check real-time reliability for a service or category. - Returns WRI score (0-100), Tier level, uptime over 7 days, last probe timestamp, + Returns reliability score (0-100), Tier level, uptime over 7 days, last probe timestamp, and whether a verified failover alternative exists. Use to pre-check before committing to a service for a long-running task. """ @@ -70,7 +70,7 @@ def _fmt_entry(e: dict) -> str: status_icon = {"healthy": "✅", "degraded": "⚠️", "outage": "🔴"}.get(e.get("status", ""), "❓") lines = [ f"{status_icon} {e.get('name', e.get('service'))} ({e.get('service')})", - f" WRI: {e.get('wri', 'N/A')} / 100", + f" Reliability: {e.get('wri', 'N/A')} / 100", f" Tier: {e.get('tier', 'N/A')}", f" Uptime: {e.get('uptime_7d') or 'N/A'} (7d)", f" Latency: {e.get('avg_response_ms', 'N/A')} ms avg", diff --git a/packages/mcp-server/tools/run.py b/packages/mcp-server/tools/run.py index 0cee04d..60b56eb 100644 --- a/packages/mcp-server/tools/run.py +++ b/packages/mcp-server/tools/run.py @@ -32,7 +32,7 @@ async def wayforth_run( ), ) -> str: """Intent-based routing with automatic reliability failover. - Describe what you need — Wayforth selects the highest-WRI verified service + Describe what you need — Wayforth selects the highest-reliability verified service and executes it. If the primary service degrades mid-session, automatically reroutes to the next verified equivalent. Returns result + failover status. @@ -115,6 +115,6 @@ async def wayforth_run( if failover.get("triggered"): out["_failover_note"] = ( f"⚡ Failover: {failover.get('original_service')} → {failover.get('routed_to')} " - f"({failover.get('reason')}, WRI {failover.get('original_wri')} → {failover.get('fallback_wri')})" + f"({failover.get('reason')}, reliability {failover.get('original_wri')} → {failover.get('fallback_wri')})" ) return json.dumps(out, indent=2)