Gate agent tool calls on trust

Two ways to stop your agent calling untrusted MCP servers. Free for low volume, metered at scale (see pricing).

Option A (easiest): route through the trust gateway

Change one base URL. The gateway checks trust, blocks low-score servers, forwards the call, and returns an attestation receipt. Full docs: /atlas/gateway.

POST https://dominionobservatory.com/atlas/gateway?target=https://target-server.com/mcp&min_score=50
# same JSON-RPC body. 403 if blocked; otherwise the server's normal response
# plus headers: X-Dominion-Trust, X-Dominion-Receipt, X-Dominion-Attestation
Option B: check inline before each call
Python
import requests

def trust_ok(server_url, min_score=70):
    """Gate an MCP tool call on its independent Dominion Trust Score.
    Returns True to allow, False to block. Unrated servers are allowed but flagged."""
    r = requests.get("https://dominionobservatory.com/atlas/server",
                     params={"url": server_url}, timeout=5)
    if r.status_code == 404:
        return True  # not in index yet -> allow, but consider logging
    d = r.json()
    score = d.get("trust_score")
    if score is None or not d.get("total_calls"):
        return True  # unrated: no independent data yet
    return score >= min_score

# before calling a tool:
if not trust_ok("https://some-mcp-server.com/mcp"):
    raise RuntimeError("Blocked: MCP server below trust threshold")
JavaScript
async function trustOk(serverUrl, minScore = 70) {
  const r = await fetch("https://dominionobservatory.com/atlas/server?url=" + encodeURIComponent(serverUrl));
  if (r.status === 404) return true;            // not indexed yet -> allow
  const d = await r.json();
  if (d.trust_score == null || !d.total_calls) return true; // unrated
  return d.trust_score >= minScore;
}

Scores are independent and behavioral (uptime, success rate, latency) — a neutral third party, not a marketplace. Look up any server at /atlas/score.