# Mithrandir — free MCP gateway test

> Observe MCP tools, verify repeated reads, then try bounded exact reuse for free.

- name: io.github.Hyhyr2/mithrandir
- version: 0.20.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.Hyhyr2%2Fmithrandir
- tools: https://api.protogrid.dev/v1/servers/io.github.Hyhyr2%2Fmithrandir/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "mithrandir": {
      "type": "http",
      "url": "https://mithrandir-production.up.railway.app/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +website +reachable +uptime-100% +updated-22d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 3 of 3 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 527 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 22 tool changes in 30 days
- fail `stability.rug_pull`: 2 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 3, about 527 tokens to load them all
- tool set hash: dffa5bcefdc02803229f9c102cf7812a
- tools last changed: 2026-09-28T10:18:45.275Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.Hyhyr2/mithrandir.svg)](https://protogrid.dev/servers/io.github.Hyhyr2/mithrandir)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-09-28 `mithrandir_assess` removed
  - Free capability preflight using only approved metadata, no source content. Can say not_applicable, policy_blocked, prefer_alternative or probe_needed. NEVER proves savings or authorizes a purchase. Use the local utility evaluator for complete-task cost evidence.
- 2026-09-28 `mithrandir_pricing` removed
  - Free machine-readable commercial catalog for the managed Mithrandir service. Shows prepaid packs and billing principles; does not authorize or execute a purchase and does not claim model-cost savings.
- 2026-09-28 `mithrandir_onboarding_reconcile` removed
  - Reconcile a submitted but uncertain x402 settlement using a Base transaction hash, then activate the account if canonical payment proof is confirmed.
- 2026-09-28 `mithrandir_onboarding_pay` removed
  - Get the x402 payment challenge for an onboarding session, or submit a wallet-produced PAYMENT-SIGNATURE. Mithrandir never signs or holds wallet private keys. Successful settlement atomically activates the account and returns its API key once within a bounded retry window.
- 2026-09-28 `mithrandir_onboarding_status` removed
  - Inspect a short-lived autonomous onboarding session. Requires the onboarding secret returned at creation.
- 2026-09-28 `mithrandir_onboarding_start` removed
  - Start autonomous prepaid onboarding without an existing Mithrandir account. Creates a bounded provisional account and returns a short-lived onboarding secret plus x402 payment endpoint. Requires explicit current-policy acceptance; no credits or API key are issued before settlement.
- 2026-09-28 `mithrandir_gateway_trial_start` changed (description) **meaning changed**
  - before: Start a bounded free Savings Gateway Observe trial for an unauthenticated public HTTPS MCP upstream. Read /service-contract and use its current policy_version before explicit terms acceptance. Keep the returned API key private. Observe always calls upstream and never debits credits. After connecting, send tools/list through the gateway, inspect suggested_safe_read_tools, then explicitly configure approved read tools and cost evidence with mithrandir_gateway_update in Observe mode; empty defaults cannot prove reuse. Private upstream credentials are deliberately not accepted through this model-visible tool; configure those outside model context via REST.
  - after: Start a bounded free gateway test. Connect your public HTTPS MCP server, then approve safe reads and verify repetition before free Optimize activation.
- 2026-09-26 `mithrandir_gateway_trial_start` changed (description) **meaning changed**
  - before: Start a bounded free Savings Gateway Observe trial for an unauthenticated public HTTPS MCP upstream. Observe always calls upstream, never debits credits and only measures exact repeated read calls. Private upstream credentials are deliberately not accepted through this model-visible tool; configure those outside model context via REST.
  - after: Start a bounded free Savings Gateway Observe trial for an unauthenticated public HTTPS MCP upstream. Read /service-contract and use its current policy_version before explicit terms acceptance. Keep the returned API key private. Observe always calls upstream and never debits credits. After connecting, send tools/list through the gateway, inspect suggested_safe_read_tools, then explicitly configure approved read tools and cost evidence with mithrandir_gateway_update in Observe mode; empty defaults cannot prove reuse. Private upstream credentials are deliberately not accepted through this model-visible tool; configure those outside model context via REST.
- 2026-09-25 `mithrandir_gateway_trial_start` added
  - Start a bounded free Savings Gateway Observe trial for an unauthenticated public HTTPS MCP upstream. Observe always calls upstream, never debits credits and only measures exact repeated read calls. Private upstream credentials are deliberately not accepted through this model-visible tool; configure those outside model context via REST.
- 2026-09-24 `mithrandir_delta` removed
  - Quote, execute, resume or match a deterministic table capsule. Match validates an exact source scope and returns a compact existing result without debit. Reuses unchanged partitions; separate value and evidence hashes. Explicit complete scope, source guards and expected_version required for writes. No arbitrary code or semantic inference. Execute spends operator-authorized credits; resume is free.

Full history: https://api.protogrid.dev/v1/servers/io.github.Hyhyr2%2Fmithrandir/changes

## Remotes

- https://mithrandir-production.up.railway.app/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (3)

- `mithrandir_demo`: Run a free isolated synthetic Reuse Autopilot demonstration. No production account, upload, payment or private data is used. Compare unchanged, one-partition-changed and missing-source behavior before onboarding.
- `mithrandir_gateway_trial_start`: Start a bounded free gateway test. Connect your public HTTPS MCP server, then approve safe reads and verify repetition before free Optimize activation.
- `mithrandir_security_profile`: Free machine-readable description of the v17 Cognitive Membrane trust model: origin-bound authority, task-scoped exact-call capabilities, replay protection, egress control and two-phase effectful actions. This is a security contract description, not proof that a deployment is vulnerability-free.
