Skip to content

Straelo Relay

by straelo.com · remote · no sign-in to list tools · v1.0.0 · published by com.straelo

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

Final · 1Changes · 3

12 tools: 1 do something that can't be undone, 3 change things and 8 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http relay https://relay.straelo.com/mcp/

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "web_intelligence" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "execute": a word for a change.

    What this check looks for
  • The server marks "chain_contract_call" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "chain_contract_call" says "call": a word for a change.

    What this check looks for
  • The server marks "pay_decision_snapshot" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "pay_decision_snapshot" says "pay": a word that usually means money moves, which cannot be taken back.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

12 tools

Can't be undone 1Claude Code: ask
  • pay_decision_snapshotCompare one supplied x402 v2 exact Base USDC payment requirement against declared intent and return deterministic consistency, mismatch, change, fingerprint, and coverage evidence …1 finding

    Why it is in this group

    • The name "pay_decision_snapshot" says "pay": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "pay_decision_snapshot" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "pay_decision_snapshot" says "pay": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Pay Decision Snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Changes things 3Claude Code: ask
  • chain_contract_callExecute one read-only EVM smart contract call on Ethereum or Base and return the normalized result without managing an RPC provider.1 finding

    Why it is in this group

    • The name "chain_contract_call" says "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "chain_contract_call" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "chain_contract_call" says "call": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Chain Contract Call
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • url_clean_contentExtract 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 ar…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Clean Content
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • web_intelligenceExecute one live-web operation — search, read, extract, evidence, research, compare, or changes — in a single paid request without orchestrating multiple web APIs.1 finding

    Why it is in this group

    • The description's first verb is "execute": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "web_intelligence" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "execute": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: STRAELO Web Intelligence
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 8Claude Code: allow
  • blockchain_intelligenceInspect exactly one Base or Ethereum transaction, address, or contract with bounded read-only RPC calls and return deterministic context, observed signals, evidence, coverage, and …No findings

    Why it is in this group

    • The description's first verb is "inspect": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: STRAELO Blockchain Intelligence
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • change_intelligenceReturn 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 cance…No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: STRAELO Change Intelligence
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • competitor_switch_intelligenceReturn existing STRAELO competitor-switch/replacement signals and prioritized leads for supported competitors (yotpo, judge.me); unsupported competitors return UNSUPPORTED_COMPETIT…No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Competitor Switch Intelligence
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • defi_execution_snapshotCompare read-only Base swap quotes from 1inch and KyberSwap, returning normalized comparable output, consensus, dispersion, quote evidence, and provider limitations without executi…No findings

    Why it is in this group

    • The name "defi_execution_snapshot" says "snapshot": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: STRAELO DeFi Execution Snapshot
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • domain_intelligenceInspect consolidated domain health — DNS, HTTP, HTTPS, TLS, redirects, MX, SPF, DMARC, email posture, security posture, and agent readiness — returning structured issues, evidence,…No findings

    Why it is in this group

    • The description's first verb is "inspect": a word for reading.
    Description, as the server wrote it
    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`.

    Annotations the server declares

    • title: STRAELO Domain Intelligence
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • email_validator_basicValidate email syntax, domain, and MX records for basic automated checks without SMTP mailbox verification; cannot prove a mailbox exists or can receive mail.No findings

    Why it is in this group

    • The description's first verb is "validate": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Email Validator BASIC
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • installed_base_intelligenceReturn confirmed customer domains currently known for a specified technology/vendor; STRAELO-confirmed coverage, not a complete global installed base.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: STRAELO Installed Base Intelligence
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • technology_intelligenceReturn technologies deterministically detected on one specified public domain; deterministic observations, not an exhaustive proof that no other technology exists.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: STRAELO Technology Intelligence
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http relay https://relay.straelo.com/mcp/

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__relay__email_validator_basic",
      "mcp__relay__blockchain_intelligence",
      "mcp__relay__defi_execution_snapshot",
      "mcp__relay__domain_intelligence",
      "mcp__relay__competitor_switch_intelligence",
      "mcp__relay__installed_base_intelligence",
      "mcp__relay__technology_intelligence",
      "mcp__relay__change_intelligence"
    ],
    "ask": [
      "mcp__relay__url_clean_content",
      "mcp__relay__web_intelligence",
      "mcp__relay__chain_contract_call",
      "mcp__relay__pay_decision_snapshot"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as relay. Review it before you use it.