# Straelo Relay

> MCP tools for agents: web research, content extraction, email, DNS, and blockchain intelligence.

- name: com.straelo/relay
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 75/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.straelo%2Frelay
- tools: https://api.protogrid.dev/v1/servers/com.straelo%2Frelay/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "relay": {
      "type": "http",
      "url": "https://relay.straelo.com/mcp/"
    }
  }
}
```


## Trust

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

## Quality 75/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### 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`: 12 of 12 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 4,017 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`: 38 tool changes in 30 days
- fail `stability.rug_pull`: 9 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: 12, about 4,017 tokens to load them all
- tool set hash: 54bd1cc532c3afe66e3f3f4796e08108
- tools last changed: 2026-10-19T17:32:30.758Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.straelo/relay.svg)](https://protogrid.dev/servers/com.straelo/relay)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-19 `competitor_switch_intelligence` changed (description)
  - before: Return existing STRAELO competitor-switch/replacement signals and prioritized leads for supported competitors. USE WHEN: agent needs existing STRAELO competitor-switch/replacement signals and prioritized leads for supported competitors. DO NOT USE WHEN: current confirmed customer domains; simple vendor ADDED/REMOVED history; technologies on one domain. USE installed-base-intelligence FOR: confirmed customer domains currently known for a technology/vendor. USE change-intelligence FOR: durable ADDED/REMOVED changes for a vendor within a UTC time window. USE technology-intelligence FOR: technologies detected on a public domain.
  - after: Return existing STRAELO competitor-switch/replacement signals and prioritized leads for supported competitors (yotpo, judge.me); unsupported competitors return UNSUPPORTED_COMPETITOR with charged=false. USE WHEN: agent needs competitor replacement/switch signals and prioritized leads for yotpo or judge.me. DO NOT USE WHEN: agent needs confirmed customer domains, vendor ADDED/REMOVED history, or technology detection on one domain. USE installed-base-intelligence FOR: confirmed customer domains currently known for a technology/vendor. USE change-intelligence FOR: durable ADDED/REMOVED changes for a vendor within a UTC time window. USE technology-intelligence FOR: technologies detected on a public domain.
- 2026-10-19 `domain_intelligence` changed (description) **meaning changed**
  - before: Inspect consolidated domain health in one machine-to-machine call: DNS, HTTP, HTTPS, TLS, redirects, MX, SPF, DMARC, email posture, observed security posture, and agent readiness. Returns structured issues, evidence, actions, and stateless changes.
  - after: Inspect consolidated domain health — DNS, HTTP, HTTPS, TLS, redirects, MX, SPF, DMARC, email posture, security posture, and agent readiness — returning structured issues, evidence, actions, and stateless changes. USE WHEN: agent needs a comprehensive single-call domain inspection across DNS, web, email, security, and agent-readiness signals. DO NOT USE WHEN: agent only needs DNS records; narrower domain/DNS products are not exposed through MCP. Parameter semantics: `domain` is required; optional `previous_state` enables stateless change detection against a prior `new_state`.
- 2026-10-19 `defi_execution_snapshot` changed (description) **meaning changed**
  - before: Compare read-only Base swap quotes from 1inch and KyberSwap, returning normalized comparable output, consensus, dispersion, quote evidence, and explicit provider limitations without executing a swap.
  - after: Compare read-only Base swap quotes from 1inch and KyberSwap, returning normalized comparable output, consensus, dispersion, quote evidence, and provider limitations without executing a swap. USE WHEN: agent needs comparative swap-quote intelligence before executing a trade. DO NOT USE WHEN: agent wants actual swap or transaction execution. Parameter semantics: `chain` is Base-only; `token_in`/`token_out` are symbols from USDC, USDT, ETH, WETH; `amount_in` is a positive decimal; `slippage_bps` is required (0-10000); optional `baseline_provider` selects oneinch or kyberswap for direct economic comparison.
- 2026-10-19 `pay_decision_snapshot` changed (description) **meaning changed**
  - before: Compare one supplied x402 v2 exact Base USDC payment requirement against declared intent and return deterministic consistency, mismatch, change, fingerprint, and coverage evidence without executing a payment.
  - after: Compare one supplied x402 v2 exact Base USDC payment requirement against declared intent and return deterministic consistency, mismatch, change, fingerprint, and coverage evidence without executing a payment. USE WHEN: agent needs deterministic verification of a payment requirement before deciding whether to pay. DO NOT USE WHEN: agent expects this tool to execute the payment. Parameter semantics: supply `intent` (seller, service, resource, plus optional expected fields) and `payment_required` (decoded x402 challenge); optional `previous_snapshot` enables stateless material-change detection against a prior result.
- 2026-10-19 `blockchain_intelligence` changed (description) **meaning changed**
  - before: Inspect exactly one Base or Ethereum transaction, address, or contract with bounded read-only RPC calls and return deterministic context, observed signals, evidence, coverage, and actionable follow-up.
  - after: Inspect exactly one Base or Ethereum transaction, address, or contract with bounded read-only RPC calls and return deterministic context, observed signals, evidence, coverage, and recommended follow-up. USE WHEN: agent needs broader deterministic investigation of a transaction hash, EVM address, or contract address. DO NOT USE WHEN: agent only needs a single read-only smart-contract call; use chain-contract-call instead. Parameter semantics: `chain` is required; exactly one of `transaction_hash`, `address`, or `contract_address` must be provided.
- 2026-10-19 `chain_contract_call` changed (description)
  - before: Execute a read-only EVM smart contract call on Ethereum or Base and return the normalized result without managing an RPC provider.
  - after: Execute one read-only EVM smart contract call on Ethereum or Base and return the normalized result without managing an RPC provider. USE WHEN: agent needs one read-only smart-contract call on a supported chain. DO NOT USE WHEN: agent needs broader transaction, address, or contract investigation with evidence and context. USE blockchain-intelligence FOR: broader deterministic inspection of a transaction, address, or contract.
- 2026-10-19 `web_intelligence` changed (description) **meaning changed**
  - before: Search, read, extract, verify with evidence, research, compare or detect web changes in one paid machine-to-machine product without orchestrating multiple web APIs.
  - after: Execute one live-web operation — search, read, extract, evidence, research, compare, or changes — in a single paid request without orchestrating multiple web APIs. USE WHEN: agent needs a live web search, multi-page read, structured extraction, comparative research, evidence gathering, or web change detection. DO NOT USE WHEN: agent already has a single known URL and only needs its clean readable text; use url-clean-content instead. Parameter semantics: supply `intent` plus only that intent's fields; without `intent`, supply legacy `topic` and `objective` together.
- 2026-10-19 `email_validator_basic` changed (description) **meaning changed**
  - before: Validate email syntax, domain and MX records for basic automated checks without SMTP mailbox verification.
  - after: Validate email syntax, domain, and MX records for basic automated checks without SMTP mailbox verification; cannot prove a mailbox exists or can receive mail. USE WHEN: agent needs inexpensive structural and mail-domain validation before using an email address. DO NOT USE WHEN: agent requires proof that a mailbox exists or can receive mail.
- 2026-10-19 `url_clean_content` changed (description) **meaning changed**
  - before: Extract clean readable webpage text from a public URL, removing boilerplate for LLM-ready research or RAG ingestion.
  - after: Extract clean, boilerplate-free readable text from one known public HTTP(S) URL for LLM research or RAG ingestion; private, local, authenticated, paywalled, or blocked resources are not supported. USE WHEN: agent already knows the URL and needs clean page text. DO NOT USE WHEN: agent needs web search, multi-page research, comparison, structured web workflow, or change detection. USE web-intelligence FOR: those broader live-web operations.
- 2026-10-18 `change_intelligence` added
  - Return durable historical ADDED (ABSENT -> PRESENT) and REMOVED (PRESENT -> ABSENT) customer-domain changes for a vendor in a UTC time window; REMOVED does not prove contract cancellation and ADDED does not prove commercial purchase. USE WHEN: agent needs durable historical ADDED/REMOVED customer-domain changes for a vendor in a UTC time window. DO NOT USE WHEN: current confirmed customer base; technologies on one domain; competitor replacement/switch inference. USE installed-base-intelligence FOR: confirmed customer domains currently known for a technology/vendor. USE technology-intelligence FOR: technologies detected on a public domain. USE competitor-switch-intelligence FOR: competitor replacement/switch signals.

Full history: https://api.protogrid.dev/v1/servers/com.straelo%2Frelay/changes

## Remotes

- https://relay.straelo.com/mcp/ (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (12)

- `blockchain_intelligence`: Inspect exactly one Base or Ethereum transaction, address, or contract with bounded read-only RPC calls and return deterministic context, observed signals, evidence, coverage, and recommended follow-up.
USE WHEN: agent needs broader deterministic investigation of a transaction hash, EVM address, or contract address.
DO NOT USE WHEN: agent only needs a single read-only smart-contract call; use chain-contract-call instead.
Parameter semantics: `chain` is required; exactly one of `transaction_hash`, `address`, or `contract_address` must be provided.
- `chain_contract_call`: Execute one read-only EVM smart contract call on Ethereum or Base and return the normalized result without managing an RPC provider.
USE WHEN: agent needs one read-only smart-contract call on a supported chain.
DO NOT USE WHEN: agent needs broader transaction, address, or contract investigation with evidence and context.
USE blockchain-intelligence FOR: broader deterministic inspection of a transaction, address, or contract.
- `change_intelligence`: Return durable historical ADDED (ABSENT -> PRESENT) and REMOVED (PRESENT -> ABSENT) customer-domain changes for a vendor in a UTC time window; REMOVED does not prove contract cancellation and ADDED does not prove commercial purchase.
USE WHEN: agent needs durable historical ADDED/REMOVED customer-domain changes for a vendor in a UTC time window.
DO NOT USE WHEN: current confirmed customer base; technologies on one domain; competitor replacement/switch inference.
USE installed-base-intelligence FOR: confirmed customer domains currently known for a technology/vendor.
USE technology-intelligence FOR: technologies detected on a public domain.
USE competitor-switch-intelligence FOR: competitor replacement/switch signals.
- `competitor_switch_intelligence`: Return existing STRAELO competitor-switch/replacement signals and prioritized leads for supported competitors (yotpo, judge.me); unsupported competitors return UNSUPPORTED_COMPETITOR with charged=false.
USE WHEN: agent needs competitor replacement/switch signals and prioritized leads for yotpo or judge.me.
DO NOT USE WHEN: agent needs confirmed customer domains, vendor ADDED/REMOVED history, or technology detection on one domain.
USE installed-base-intelligence FOR: confirmed customer domains currently known for a technology/vendor.
USE change-intelligence FOR: durable ADDED/REMOVED changes for a vendor within a UTC time window.
USE technology-intelligence FOR: technologies detected on a public domain.
- `defi_execution_snapshot`: Compare read-only Base swap quotes from 1inch and KyberSwap, returning normalized comparable output, consensus, dispersion, quote evidence, and provider limitations without executing a swap.
USE WHEN: agent needs comparative swap-quote intelligence before executing a trade.
DO NOT USE WHEN: agent wants actual swap or transaction execution.
Parameter semantics: `chain` is Base-only; `token_in`/`token_out` are symbols from USDC, USDT, ETH, WETH; `amount_in` is a positive decimal; `slippage_bps` is required (0-10000); optional `baseline_provider` selects oneinch or kyberswap for direct economic comparison.
- `domain_intelligence`: Inspect consolidated domain health — DNS, HTTP, HTTPS, TLS, redirects, MX, SPF, DMARC, email posture, security posture, and agent readiness — returning structured issues, evidence, actions, and stateless changes.
USE WHEN: agent needs a comprehensive single-call domain inspection across DNS, web, email, security, and agent-readiness signals.
DO NOT USE WHEN: agent only needs DNS records; narrower domain/DNS products are not exposed through MCP.
Parameter semantics: `domain` is required; optional `previous_state` enables stateless change detection against a prior `new_state`.
- `email_validator_basic`: Validate email syntax, domain, and MX records for basic automated checks without SMTP mailbox verification; cannot prove a mailbox exists or can receive mail.
USE WHEN: agent needs inexpensive structural and mail-domain validation before using an email address.
DO NOT USE WHEN: agent requires proof that a mailbox exists or can receive mail.
- `installed_base_intelligence`: Return confirmed customer domains currently known for a specified technology/vendor; STRAELO-confirmed coverage, not a complete global installed base.
USE WHEN: agent needs confirmed customer domains currently known for a specified technology/vendor.
DO NOT USE WHEN: domain -> technologies; vendor + time -> ADDED/REMOVED; competitor switch/replacement signals.
USE technology-intelligence FOR: technologies detected on a public domain.
USE change-intelligence FOR: durable ADDED/REMOVED changes for a vendor within a UTC time window.
USE competitor-switch-intelligence FOR: competitor switch/replacement signals.
- `pay_decision_snapshot`: Compare one supplied x402 v2 exact Base USDC payment requirement against declared intent and return deterministic consistency, mismatch, change, fingerprint, and coverage evidence without executing a payment.
USE WHEN: agent needs deterministic verification of a payment requirement before deciding whether to pay.
DO NOT USE WHEN: agent expects this tool to execute the payment.
Parameter semantics: supply `intent` (seller, service, resource, plus optional expected fields) and `payment_required` (decoded x402 challenge); optional `previous_snapshot` enables stateless material-change detection against a prior result.
- `technology_intelligence`: Return technologies deterministically detected on one specified public domain; deterministic observations, not an exhaustive proof that no other technology exists.
USE WHEN: agent needs technologies currently detected on one specific public domain.
DO NOT USE WHEN: vendor -> current confirmed customers; vendor + time -> ADDED/REMOVED; competitor replacement/switch signals.
USE installed-base-intelligence FOR: confirmed customer domains using a technology/vendor.
USE change-intelligence FOR: durable ADDED/REMOVED changes for a vendor within a UTC time window.
USE competitor-switch-intelligence FOR: competitor replacement/switch signals.
- `url_clean_content`: Extract clean, boilerplate-free readable text from one known public HTTP(S) URL for LLM research or RAG ingestion; private, local, authenticated, paywalled, or blocked resources are not supported.
USE WHEN: agent already knows the URL and needs clean page text.
DO NOT USE WHEN: agent needs web search, multi-page research, comparison, structured web workflow, or change detection.
USE web-intelligence FOR: those broader live-web operations.
- `web_intelligence`: Execute one live-web operation — search, read, extract, evidence, research, compare, or changes — in a single paid request without orchestrating multiple web APIs.
USE WHEN: agent needs a live web search, multi-page read, structured extraction, comparative research, evidence gathering, or web change detection.
DO NOT USE WHEN: agent already has a single known URL and only needs its clean readable text; use url-clean-content instead.
Parameter semantics: supply `intent` plus only that intent's fields; without `intent`, supply legacy `topic` and `objective` together.
