# Bay Run (remote · bay-run-mvp-889989800693.us-central1.run.app)

Discover, prove, route, and serve small AI specialists with fast RAG and private agent memory.

- Trust score: 75/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-14

## Components

- remote · `bay-run-mvp-889989800693.us-central1.run.app`: 75/100 (this document), [markdown](https://verifymcp.io/servers/barneywohl-bay-run/bay-run-mvp-889989800693.md), [page](https://verifymcp.io/servers/barneywohl-bay-run/bay-run-mvp-889989800693)

## Channel facts

- Endpoint: `https://bay-run-mvp-889989800693.us-central1.run.app/mcp/`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.1.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-14.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 80/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 674 tokens (~168/item across 4 items; 3 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability check failed: schema churn in the 4 days we've observed: 20 tool removals, 0 breaking changes, 0 auth/transport breaks, 3 additions.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http barneywohl-bay-run https://bay-run-mvp-889989800693.us-central1.run.app/mcp/
```

### Codex

```toml
[mcp_servers.barneywohl-bay-run]
url = "https://bay-run-mvp-889989800693.us-central1.run.app/mcp/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "barneywohl-bay-run": {
      "type": "remote",
      "url": "https://bay-run-mvp-889989800693.us-central1.run.app/mcp/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add barneywohl-bay-run --url https://bay-run-mvp-889989800693.us-central1.run.app/mcp/ --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  barneywohl-bay-run:
    url: "https://bay-run-mvp-889989800693.us-central1.run.app/mcp/"
```

### Other

```json
{
  "mcpServers": {
    "barneywohl-bay-run": {
      "type": "http",
      "url": "https://bay-run-mvp-889989800693.us-central1.run.app/mcp/"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-14 (score 75, +4)

- [security regression] Stability: 0.10 → fail
- [security regression] Tool “verify_provenance” was removed
- [security regression] Tool “validate_json” was removed
- [security regression] Tool “try_bay_run” was removed
- [security regression] Tool “summarize” was removed
- [security regression] Tool “submit_job” was removed
- [security regression] Tool “speed_test” was removed
- [security regression] Tool “set_memory_ttl” was removed
- [security regression] Tool “route” was removed
- [security regression] Tool “retry_job_callback” was removed
- [security regression] Tool “resolve_link” was removed
- [security regression] Tool “rerank” was removed
- [security regression] Tool “request_specialist” was removed
- [security regression] Tool “remember” was removed
- [security regression] Tool “recall” was removed
- [security regression] Tool “rag_search” was removed
- [security regression] Tool “parse_pdf” was removed
- [security regression] Tool “parse_document” was removed
- [security regression] Tool “memory_context” was removed
- [security regression] Tool “get_job_result” was removed
- [security regression] Tool “get_job” was removed
- [security regression] Tool “forget” was removed
- [security regression] Tool “find_specialist_for_task” was removed
- [security regression] Tool “extract” was removed
- [security regression] Tool “export_memory” was removed
- [security regression] Tool “eval_models” was removed
- [security regression] Tool “embed” was removed
- [security regression] Tool “discover_models” was removed
- [security regression] Tool “classify” was removed
- [security regression] Tool “cancel_job” was removed
- [security regression] Tool “search_memory” was removed
- [security regression] Tool “calculate” was removed
- [security regression] Tool “abandon_job_callback” was removed
- [security improvement] HSTS header: fail → pass
- [security] The server rewrote its instructions, which are the text every model session reads
- [functional improvement] Schema quality: 235 → 168
- [functional improvement] Tool coverage: 94% → 100%
- [functional improvement] Tool coverage: 25% → 100%
- [functional] First check of Schema quality: 100
- [functional] Schema quality: excellent → good
- [functional] New resource “advanced-tools”
- [functional] Server version: 1.8.0 → 2.0.0
- [functional] New tool “verify_result”
- [functional] New tool “run_task”
- [functional] New tool “get_task_quote”

### 2026-08-13 (score 71, +1)

- [security] Tool “classify” rewrote its description, which is the text the model reads
- [security] Tool “discover_models” rewrote its description, which is the text the model reads
- [security] Tool “embed” rewrote its description, which is the text the model reads
- [security] Tool “find_specialist_for_task” rewrote its description, which is the text the model reads
- [security] Tool “remember” rewrote its description, which is the text the model reads
- [security] Tool “rerank” rewrote its description, which is the text the model reads
- [security] Tool “route” rewrote its description, which is the text the model reads
- [functional] Server version: 1.7.2 → 1.8.0
- [functional] New tool “retry_job_callback”
- [functional] New tool “abandon_job_callback”
- [cosmetic] “discover_models” added an optional parameter “prefer_warm”
- [cosmetic] “eval_models” added an optional parameter “expires_in”
- [cosmetic] “eval_models” added an optional parameter “idempotency_key”
- [cosmetic] “eval_models” added an optional parameter “namespace”
- [cosmetic] “eval_models” added an optional parameter “prefer_warm”
- [cosmetic] “eval_models” added an optional parameter “reevaluate_after”
- [cosmetic] “eval_models” added an optional parameter “route_kind”
- [cosmetic] “eval_models” added an optional parameter “task_hint”
- [cosmetic] “eval_models” added an optional parameter “version”
- [cosmetic] “export_memory” added an optional parameter “context_pack”
- [cosmetic] “extract” added an optional parameter “automatic_memory”
- [cosmetic] “extract” added an optional parameter “memory”
- [cosmetic] “memory_context” added an optional parameter “context_pack”
- [cosmetic] “memory_context” added an optional parameter “import_namespace”
- [cosmetic] “rag_search” added an optional parameter “automatic_memory”
- [cosmetic] “rag_search” added an optional parameter “memory”
- [cosmetic] “remember” added an optional parameter “importance”
- [cosmetic] “remember” added an optional parameter “semantic”
- [cosmetic] “route” added an optional parameter “interactive_deadline_ms”
- [cosmetic] “route” added an optional parameter “namespace”
- [cosmetic] “route” added an optional parameter “prefer_async”
- [cosmetic] “route” added an optional parameter “prefer_warm”
- [cosmetic] “route” added an optional parameter “re_evaluate”
- [cosmetic] “route” added an optional parameter “routing_mode”
- [cosmetic] “search_memory” added an optional parameter “semantic”
- [cosmetic] “submit_job” added an optional parameter “callback”
- [cosmetic] “find_specialist_for_task” reworded the description of “n_candidates”
- [cosmetic] “rerank” reworded the description of “model”

### 2026-08-12 (score 70, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “parse_pdf” rewrote its description, which is the text the model reads
- [security] Tool “extract” rewrote its description, which is the text the model reads
- [security] Tool “eval_models” rewrote its description, which is the text the model reads
- [security] Tool “recall” rewrote its description, which is the text the model reads
- [security] Tool “try_bay_run” rewrote its description, which is the text the model reads
- [functional improvement] Schema quality: 255 → 229
- [functional improvement] Tool “recall” now declares an output schema
- [functional improvement] Tool “memory_context” now declares an output schema
- [functional improvement] Tool “forget” now declares an output schema
- [functional improvement] Tool “try_bay_run” now declares an output schema
- [functional improvement] Tool “remember” now declares an output schema
- [functional] First check of Tool coverage: 27
- [functional] Server version: 1.4.0 → 1.7.2
- [functional] New tool “get_job”
- [functional] New tool “verify_provenance”
- [functional] New tool “submit_job”
- [functional] New tool “set_memory_ttl”
- [functional] New tool “search_memory”
- [functional] New tool “parse_document”
- [functional] New tool “get_job_result”
- [functional] New tool “export_memory”
- [functional] New tool “cancel_job”
- [cosmetic] “recall” added an optional parameter “max_bytes”
- [cosmetic] “recall” added an optional parameter “limit”
- [cosmetic] “recall” added an optional parameter “cursor”
- [cosmetic] “recall” reworded the description of “key”
- [cosmetic] Tool “try_bay_run” changed its title: Start here: Try Bay Run

### 2026-08-11 (score 69, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-08-10 (score 69)

First indexed and scored.

## MCP tools (3)

### `get_task_quote` (~200 tokens)

Get a FREE, expiring decision for a specialized task. Provide examples when
    quality or latency is a hard requirement: Bay Run will not invent a quality claim.
    The quote identifies the selected route and alternatives, measured-vs-unmeasured
    evidence, absolute maximum price, data policy, expiration, and whether it can run
    immediately. Provider payments never influence ranking.

Input parameters:

- `idempotency_key`: Optional caller correlation key for the free quote.
- `profile_id`: Previously saved recurring task profile.
- `profile_name`: Optional human-readable profile name.
- `quote_ttl_seconds` (integer): Quote validity in seconds.
- `reevaluate_profile` (boolean): Re-evaluate the profile against the supplied task instead of reusing its preferred route.
- `save_profile` (boolean): Persist this recurring task only when retention='task_profile'.
- `task_spec`: Complete task specification. Omit only when reusing profile_id.

Output parameters:

- `alternative_candidates` (array)
- `authorized_ceiling_usd`
- `can_execute_immediately` (boolean)
- `constraint_failures` (array)
- `data_handling_policy`
- `estimated_latency`
- `expected_quality`
- `kind`
- `maximum_price_usd`
- `next_action`
- `profile_reevaluation_requested` (boolean)
- `quote_created_at`
- `quote_expires_at`
- `quote_id`
- `ranking_influence`
- `recommended_route` (object)
- `requires_evaluation` (boolean)
- `schema` (string)
- `selection_reason`
- `task`
- `task_profile_id`
- `task_profile_reused` (boolean)
- `task_spec_digest`

### `run_task` (~265 tokens)

Execute an existing task quote, or quote-and-run from a complete task spec.
    A hard max_price_usd and idempotency key are mandatory. Failed or unusable output
    is not recorded as chargeable. For x402 use POST /x402/tasks/run; this MCP action
    exposes the same contract for demo-authorized calls.

Input parameters:

- `idempotency_key` (string, required): Stable retry key; reuse only for the exact same execution.
- `input` (required): Task input matching the quote's input schema.
- `max_price_usd` (number, required): Hard per-call USD ceiling. Bay Run never exceeds it.
- `owner_approval_id`: One-use owner approval for an execution above the configured spending threshold.
- `payment_mode` (string): Generic MCP execution is demo-authorized. Use the dedicated HTTP x402 twin for payment.
- `profile_id`: Saved recurring task profile to reuse.
- `profile_name`: Optional task profile name.
- `quote_id`: A live quote_id from get_task_quote.
- `reevaluate_profile` (boolean): Re-evaluate profile routing before execution.
- `save_profile` (boolean): Save a recurring task only with explicit task_profile retention.
- `task_spec`: Complete TaskSpecification for quote-and-run in one operation.

Output parameters:

- `actual_latency_ms`
- `actual_price_usd`
- `data_retention`
- `execution_id`
- `execution_receipt`
- `fallback_route`
- `input_hash`
- `model`
- `model_version`
- `output`
- `output_retained`
- `payment_receipt`
- `payment_status`
- `provider`
- `quality`
- `quote_id`
- `replayed`
- `route` (object)
- `schema` (string)
- `status`
- `task_profile_id`

### `verify_result` (~123 tokens)

Verify a Bay Run execution and receipt without re-running the task. Returns
    stored execution authenticity, charge and hard ceiling, input/output hashes,
    route/fallback facts, restriction compliance, and receipt status. Receipt integrity
    does not claim that a model answer is true or that model weights executed inside a
    cryptographically attested environment.

Input parameters:

- `execution_id` (string, required): Execution identifier returned by run_task.
- `output`: Optional structured task output or full run_task response for output-hash verification.
- `receipt`: Optional provenance or execution receipt to verify.

Output parameters:

- `amount_charged_usd`
- `execution_authentic` (boolean)
- `execution_id`
- `execution_status`
- `fallback_occurred` (boolean)
- `hard_max_price_usd`
- `input_hash`
- `limitations`
- `model`
- `output_hash`
- `output_hash_matches`
- `provenance_verification`
- `provider`
- `quoted_restrictions_complied` (boolean)
- `receipt_status`
- `receipt_valid` (boolean)
- `schema` (string)
- `timestamp`
- `within_authorized_price`

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/barneywohl-bay-run/bay-run-mvp-889989800693#diagnostics

## Score history

- 2026-08-14: 75
- 2026-08-13: 71
- 2026-08-12: 70
- 2026-08-11: 69
- 2026-08-10: 69

## Links

- Remote endpoint: https://bay-run-mvp-889989800693.us-central1.run.app/mcp/
- Authorisation metadata: https://bay-run-mvp-889989800693.us-central1.run.app/.well-known/oauth-protected-resource/mcp
- Repository: https://github.com/barneywohl/bay-run
- Website: https://huggingbay.xyz/
- Changelog RSS feed: https://verifymcp.io/servers/barneywohl-bay-run/bay-run-mvp-889989800693.xml
- Changelog JSON feed: https://verifymcp.io/servers/barneywohl-bay-run/bay-run-mvp-889989800693.json
- HTML version of this page: https://verifymcp.io/servers/barneywohl-bay-run/bay-run-mvp-889989800693
