Straelo Relay

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
97%
Vollständigkeit des Schemas
98%
Qualität der Benennung
83%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,641Tokens (Tool-Definitionen)
~4.2 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.06% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "relay": {
      "url": "https://relay.straelo.com/mcp/"
    }
  }
}

Remote-Endpunkte

https://relay.straelo.com/mcp/streamable-http

Was es kann

Tool-Inventar

Tools (7)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢url_clean_content(url)

Extract clean readable webpage text from a public URL, removing boilerplate for LLM-ready research or RAG ingestion.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Public HTTP(S) page URL to fetch. Private, local, authenticated, paywalled, or blocked resources are not supported.",
      "format": "uri",
      "title": "Url",
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "title": "handlerArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Fetched page URL.",
      "type": "string"
    },
    "title": {
      "description": "Page title when available.",
      "type": [
        "string",
        "null"
      ]
    },
    "text": {
      "description": "Clean readable page text.",
      "type": "string"
    },
    "metadata": {
      "description": "Useful non-sensitive page metadata.",
      "type": "object"
    }
  },
  "required": [
    "url",
    "title",
    "text",
    "metadata"
  ],
  "title": "UrlCleanContentOutput"
}
🟢email_validator_basic(email)

Validate email syntax, domain and MX records for basic automated checks without SMTP mailbox verification.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "email": {
      "description": "Email address for syntax, domain and MX validation.",
      "format": "email",
      "title": "Email",
      "type": "string"
    }
  },
  "required": [
    "email"
  ],
  "title": "handlerArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "valid": {
      "type": "boolean"
    },
    "domain": {
      "type": [
        "string",
        "null"
      ]
    },
    "mx_found": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "reasons": {
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "valid",
    "domain",
    "mx_found",
    "reasons"
  ],
  "title": "EmailValidatorBasicOutput"
}
🟢web_intelligence(intent, topic, objective, query, url, ...)

Search, read, extract, verify with evidence, research, compare or detect web changes in one paid machine-to-machine product without orchestrating multiple web APIs.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "intent": {
      "default": null,
      "description": "Selected Web Intelligence operation.",
      "enum": [
        "search",
        "read",
        "extract",
        "evidence",
        "research",
        "compare",
        "changes"
      ],
      "title": "Intent",
      "type": "string"
    },
    "topic": {
      "default": null,
      "description": "Legacy structured-research topic, used with objective only when intent is omitted.",
      "title": "Topic",
      "type": "string"
    },
    "objective": {
      "default": null,
      "description": "Legacy structured-research objective, used with topic only when intent is omitted.",
      "title": "Objective",
      "type": "string"
    },
    "query": {
      "default": null,
      "description": "Live-web query for search, extract, evidence, or compare.",
      "title": "Query",
      "type": "string"
    },
    "url": {
      "default": null,
      "description": "Public HTTP(S) URL for read or changes.",
      "format": "uri",
      "title": "Url",
      "type": "string"
    },
    "fields": {
      "default": null,
      "description": "Unique source fields for extract.",
      "items": {
        "enum": [
          "title",
          "url",
          "snippet",
          "text"
        ],
        "type": "string"
      },
      "title": "Fields",
      "type": "array"
    },
    "question": {
      "default": null,
      "description": "Natural-language question for research.",
      "title": "Question",
      "type": "string"
    },
    "targets": {
      "default": null,
      "description": "Two to five named targets for compare.",
      "items": {
        "type": "string"
      },
      "maxItems": 5,
      "minItems": 2,
      "title": "Targets",
      "type": "array"
    },
    "previous_state": {
      "default": null,
      "description": "Optional client-supplied prior read state for stateless changes detection.",
      "title": "Previous State",
      "type": "object"
    }
  },
  "title": "handlerArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "intent": {
      "description": "Executed selected intent.",
      "type": "string"
    },
    "result": {
      "description": "Intent-specific machine-readable result.",
      "type": "object"
    },
    "sources": {
      "description": "Source provenance when the intent uses web sources.",
      "type": "array"
    },
    "observed_at": {
      "description": "UTC observation time.",
      "format": "date-time",
      "type": "string"
    },
    "freshness": {
      "description": "Current-data or client-state comparison context.",
      "type": "string"
    },
    "data_quality": {
      "description": "Available source or content coverage.",
      "type": "object"
    },
    "missing": {
      "description": "Known unavailable information.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "usage": {
      "description": "Measured provider usage when applicable.",
      "type": [
        "object",
        "null"
      ]
    },
    "economics": {
      "description": "Application-calculated estimated costs when applicable.",
      "type": [
        "object",
        "null"
      ]
    }
  },
  "required": [
    "intent",
    "result",
    "observed_at",
    "freshness",
    "data_quality",
    "missing"
  ],
  "title": "WebIntelligenceOutput"
}
🟢chain_contract_call(chain, contract_address, data)

Execute a read-only EVM smart contract call on Ethereum or Base and return the normalized result without managing an RPC provider.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "description": "EVM network for the read-only call.",
      "enum": [
        "ethereum",
        "base"
      ],
      "title": "Chain",
      "type": "string"
    },
    "contract_address": {
      "description": "Target EVM contract address.",
      "title": "Contract Address",
      "type": "string"
    },
    "data": {
      "description": "Read-only hexadecimal ABI calldata.",
      "title": "Data",
      "type": "string"
    }
  },
  "required": [
    "chain",
    "contract_address",
    "data"
  ],
  "title": "handlerArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "description": "Selected EVM network.",
      "type": "string"
    },
    "contract_address": {
      "description": "Called contract address.",
      "type": "string"
    },
    "result": {
      "description": "Hexadecimal eth_call result.",
      "type": "string"
    },
    "provider": {
      "description": "RPC provider identifier.",
      "type": "string"
    },
    "latency_ms": {
      "description": "Observed provider-call latency in milliseconds.",
      "type": "integer"
    }
  },
  "required": [
    "chain",
    "contract_address",
    "result",
    "provider",
    "latency_ms"
  ],
  "title": "ChainContractCallOutput"
}
🟢blockchain_intelligence(chain, transaction_hash, address, contract_address, previous_state)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "description": "EVM network containing the target.",
      "enum": [
        "ethereum",
        "base"
      ],
      "title": "Chain",
      "type": "string"
    },
    "transaction_hash": {
      "default": null,
      "description": "One transaction hash to inspect.",
      "pattern": "^0x[a-fA-F0-9]{64}$",
      "title": "Transaction Hash",
      "type": "string"
    },
    "address": {
      "default": null,
      "description": "One EVM address to inspect.",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "title": "Address",
      "type": "string"
    },
    "contract_address": {
      "default": null,
      "description": "One EVM contract address to inspect.",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "title": "Contract Address",
      "type": "string"
    },
    "previous_state": {
      "default": null,
      "description": "Optional prior new_state for stateless change detection.",
      "title": "Previous State",
      "type": "object"
    }
  },
  "required": [
    "chain"
  ],
  "title": "handlerArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "target": {
      "description": "Selected target type and value.",
      "type": "object"
    },
    "classification": {
      "description": "Observed deterministic target classification, not a safety assessment.",
      "type": "string"
    },
    "summary": {
      "type": "string"
    },
    "activity": {
      "type": "object"
    },
    "value_and_fee": {
      "type": "object"
    },
    "contract_context": {
      "type": "object"
    },
    "risk_signals": {
      "description": "Observed signals only; no risk score is assigned.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "issues": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "evidence": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "recommended_actions": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "changes": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "material_changes": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "coverage": {
      "description": "Explicitly records the observed RPC scope and unobserved categories.",
      "type": "object"
    },
    "rpc_calls_used": {
      "maximum": 5,
      "type": "integer"
    },
    "observed_at": {
      "format": "date-time",
      "type": "string"
    },
    "current_state": {
      "type": "object"
    },
    "new_state": {
      "type": "object"
    }
  },
  "required": [
    "target",
    "classification",
    "summary",
    "activity",
    "value_and_fee",
    "contract_context",
    "risk_signals",
    "issues",
    "evidence",
    "recommended_actions",
    "changes",
    "material_changes",
    "coverage",
    "rpc_calls_used",
    "observed_at",
    "current_state",
    "new_state"
  ],
  "title": "BlockchainIntelligenceOutput"
}
🟢pay_decision_snapshot(intent, payment_required, previous_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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "intent": {
      "properties": {
        "seller": {
          "description": "Caller-supplied seller label included in the fingerprint; identity is not externally verified.",
          "type": "string"
        },
        "service": {
          "description": "Expected resource.serviceName.",
          "type": "string"
        },
        "resource": {
          "description": "Expected exact absolute HTTP(S) resource URL.",
          "format": "uri",
          "type": "string"
        },
        "expected_amount": {
          "description": "Optional expected USDC decimal amount, not atomic units.",
          "type": "string"
        },
        "expected_asset": {
          "description": "Optional expected EVM asset address.",
          "type": "string"
        },
        "expected_network": {
          "description": "Optional expected CAIP-2 network.",
          "type": "string"
        },
        "expected_pay_to": {
          "description": "Optional expected EVM payment destination.",
          "type": "string"
        },
        "amount_tolerance": {
          "description": "Optional permitted USDC decimal increase.",
          "type": "string"
        }
      },
      "required": [
        "seller",
        "service",
        "resource"
      ],
      "title": "Intent",
      "type": "object"
    },
    "payment_required": {
      "description": "Observed x402 v2 PAYMENT-REQUIRED challenge decoded as JSON.",
      "title": "Payment Required",
      "type": "object"
    },
    "previous_snapshot": {
      "default": null,
      "description": "Optional prior snapshot for stateless material-change detection.",
      "title": "Previous Snapshot",
      "type": "object"
    }
  },
  "required": [
    "intent",
    "payment_required"
  ],
  "title": "handlerArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "assessment": {
      "description": "Consistency decision only; never a safety rating.",
      "enum": [
        "CONSISTENT",
        "INCONSISTENT",
        "REVIEW_REQUIRED"
      ],
      "type": "string"
    },
    "reason_codes": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "matched": {
      "type": "object"
    },
    "mismatched": {
      "type": "object"
    },
    "changes": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "payment_fingerprint": {
      "description": "SHA-256 of canonical material payment fields.",
      "type": "string"
    },
    "checks_performed": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "checks_skipped": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "evidence": {
      "type": "object"
    },
    "coverage": {
      "type": "object"
    },
    "external_calls": {
      "description": "Always empty in this offline MVP.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "snapshot": {
      "description": "Reusable stateless comparison state.",
      "type": "object"
    }
  },
  "required": [
    "assessment",
    "reason_codes",
    "matched",
    "mismatched",
    "changes",
    "payment_fingerprint",
    "checks_performed",
    "checks_skipped",
    "evidence",
    "coverage",
    "external_calls",
    "snapshot"
  ],
  "title": "PayDecisionSnapshotOutput"
}
🟢domain_intelligence(domain, previous_state)

Inspect a domain's DNS, HTTP/HTTPS, TLS, redirects, email posture, security signals and agent readiness in one machine-to-machine call, returning structured issues, evidence and actionable findings.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "description": "Public domain name; localhost and IP literals are rejected.",
      "title": "Domain",
      "type": "string"
    },
    "previous_state": {
      "default": null,
      "description": "Optional prior new_state for stateless change detection.",
      "title": "Previous State",
      "type": "object"
    }
  },
  "required": [
    "domain"
  ],
  "title": "handlerArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string"
    },
    "dns": {
      "type": "object"
    },
    "health": {
      "type": "object"
    },
    "email_posture": {
      "type": "object"
    },
    "security_posture": {
      "type": "object"
    },
    "agent_readiness": {
      "type": "object"
    },
    "issues": {
      "type": "array"
    },
    "actions": {
      "type": "array"
    },
    "evidence": {
      "type": "array"
    },
    "observed_at": {
      "format": "date-time",
      "type": "string"
    },
    "data_quality": {
      "type": "object"
    },
    "current_state": {
      "type": "object"
    },
    "changes": {
      "type": "array"
    },
    "new_state": {
      "type": "object"
    }
  },
  "required": [
    "domain",
    "dns",
    "health",
    "email_posture",
    "security_posture",
    "agent_readiness",
    "issues",
    "actions",
    "evidence",
    "observed_at",
    "data_quality",
    "current_state",
    "changes",
    "new_state"
  ],
  "title": "DomainIntelligenceOutput"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet7 Tools