Straelo Relay
Server Details
MCP tools for agents: web research, content extraction, email, DNS, and blockchain intelligence.
- Status
- Healthy
- Uptime
- 100.0% over 19 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 8 tools
Most tools target distinct domains, but web_intelligence ('read, extract, verify, research, compare') heavily overlaps url_clean_content (page text extraction), and email_validator_basic's MX/syntax checks overlap domain_intelligence's email posture (MX/SPF/DMARC). blockchain_intelligence and chain_contract_call also border on each other, so an agent can hesitate between several pairs.
Names are readable and mostly follow an adjective/noun + suffix pattern (blockchain_intelligence, domain_intelligence, web_intelligence, *_snapshot), but the set mixes semantic suffixes (intelligence, snapshot, basic) with verb-led forms (chain_contract_call, url_clean_content), so no single predictable convention holds.
Eight tools is well-scoped for a read-only intelligence relay, and each tool maps to a recognizable capability (chain inspection, contract call, DeFi quotes, domain, email, payment, URL content, web). No bloat and no thin single-purpose tool.
The read-only relay covers blockchain, DeFi, domain, email, payment, and web surfaces fairly broadly with no obvious dead ends for its stated read-only purpose. Minor gaps remain, such as multi-entity/batch inspection and historical lookups, but core workflows are representable.
Available Tools
8 toolsblockchain_intelligenceSTRAELO Blockchain IntelligenceARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | EVM network containing the target. | |
| address | No | One EVM address to inspect. | |
| previous_state | No | Optional prior new_state for stateless change detection. | |
| contract_address | No | One EVM contract address to inspect. | |
| transaction_hash | No | One transaction hash to inspect. |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | Yes | |
| target | Yes | Selected target type and value. |
| changes | Yes | |
| summary | Yes | |
| activity | Yes | |
| coverage | Yes | Explicitly records the observed RPC scope and unobserved categories. |
| evidence | Yes | |
| new_state | Yes | |
| observed_at | Yes | |
| risk_signals | Yes | Observed signals only; no risk score is assigned. |
| current_state | Yes | |
| value_and_fee | Yes | |
| classification | Yes | Observed deterministic target classification, not a safety assessment. |
| rpc_calls_used | Yes | |
| contract_context | Yes | |
| material_changes | Yes | |
| recommended_actions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, so safety is covered. The description usefully adds "bounded read-only RPC calls" and "deterministic" output framing, but says nothing about cost, rate limits, latency, or why idempotentHint is false despite a previous_state parameter for change detection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the verb and scope, with no filler. It is long but every clause carries information; a slight readability cost from packing the return fields into the same sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not enumerate return values, and it still briefly signals what comes back (signals, evidence, coverage, follow-up). The main gap is routing: nothing tells the agent when to prefer this over transaction_intelligence or chain_contract_call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds a constraint the schema does not encode: the three target parameters (address, contract_address, transaction_hash) are mutually exclusive and exactly one must be supplied. That is genuine meaning beyond the schema, which requires only chain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Inspect) plus tightly scoped resource (exactly one Base/Ethereum transaction, address, or contract), which maps cleanly onto the three mutually exclusive target parameters. It does not, however, name or differentiate itself from close siblings like transaction_intelligence or chain_contract_call, so an agent must still infer which tool to reach for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Inspect exactly one ..." conveys a cardinality constraint (one target per call, no batching) but gives no explicit when-to-use vs when-not-to-use guidance and never mentions the sibling tools. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chain_contract_callChain Contract CallARead-onlyInspect
Execute a read-only EVM smart contract call on Ethereum or Base and return the normalized result without managing an RPC provider.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Read-only hexadecimal ABI calldata. | |
| chain | Yes | EVM network for the read-only call. | |
| contract_address | Yes | Target EVM contract address. |
Output Schema
| Name | Required | Description |
|---|---|---|
| chain | Yes | Selected EVM network. |
| result | Yes | Hexadecimal eth_call result. |
| provider | Yes | RPC provider identifier. |
| latency_ms | Yes | Observed provider-call latency in milliseconds. |
| contract_address | Yes | Called contract address. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint false, and destructiveHint false, so the safety profile is covered. The description adds that the result is normalized and that no RPC provider is needed, but says nothing about rate limits, revert/error behavior, or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly written sentence with the verb, resource, scope, and benefit front-loaded. Zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema, complete annotations, and an output schema, the description need only frame the operation, which it does. It omits any note on failure modes or output shape beyond 'normalized result', a minor gap for an open-world RPC-backed call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each of the three parameters is documented in the schema, so baseline 3 applies. The description only echoes the chain scope ('Ethereum or Base'), which the enum already conveys, adding no new syntax or format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (execute a read-only call), resource (EVM smart contract), and scope (Ethereum or Base), plus the value proposition of not managing an RPC provider. No sibling tool covers this capability, so the agent can distinguish it easily.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'read-only' qualifier implicitly excludes state-changing calls, which is useful context, but there is no explicit when-to-use/when-not guidance or named alternative. Usage is only implied from the tool's nature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defi_execution_snapshotSTRAELO DeFi Execution SnapshotARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Base Mainnet only in this quote-only MVP. | |
| token_in | Yes | Input Base asset symbol. | |
| amount_in | Yes | Positive decimal input amount, converted exactly to raw token units. | |
| token_out | Yes | Output Base asset symbol; must differ from token_in. | |
| slippage_bps | Yes | Slippage tolerance in basis points; it is not treated as a cost. | |
| baseline_provider | No | Optional provider used only for a direct economic comparison. |
Output Schema
| Name | Required | Description |
|---|---|---|
| usage | Yes | Per-provider call success, latency, and configured cost-estimate availability. |
| quotes | Yes | Normalized provider quote evidence in raw token units. |
| status | Yes | |
| partial | Yes | True when one or more providers did not yield a valid quote. |
| consensus | Yes | Comparable-output median and comparison basis when two provider quotes are valid. |
| economics | Yes | Known or unknown estimated provider COGS; unknown is never represented as zero. |
| confidence | Yes | Deterministic quote-comparison confidence; two providers never produce HIGH in this MVP. |
| observed_at | Yes | |
| best_provider | Yes | Best comparable provider only when at least two valid quotes are available. |
| evidence_quality | Yes | Per-provider reported, calculated, estimated, or unavailable field quality. |
| provider_failures | Yes | |
| economic_advantage | Yes | Best quote versus declared baseline or next available quote; never ROI. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered. The description adds that it aggregates normalized output, consensus, dispersion, and provider limitations, but most of those are also enumerable from the output schema, and it omits practically important traits implied by openWorldHint/idempotentHint=false: external provider availability, rate limits, and quote freshness/volatility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the action and scope front-loaded followed by a compact list of outputs. It is dense and mostly earns its words, though the return-value enumeration ('consensus, dispersion, quote evidence') partly duplicates the output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full schema coverage, and safety annotations, the description covers what an agent needs to call this correctly and to know no swap executes. The notable remaining gap is behavioral: nothing about external provider failures, rate limiting, or rate/quote volatility for a comparison whose results change between calls (idempotentHint=false).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (6 parameters, 4 with enums), so the schema already carries parameter meaning, including the Base-only chain, token enums, exact decimal handling, and the optional baseline_provider. The description adds no parameter-level detail beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (compare), the exact resource (read-only Base swap quotes from 1inch and KyberSwap), and the scope limitation (Base only, no swap execution). An agent can immediately tell this apart from the other siblings such as pay_decision_snapshot or chain_contract_call, none of which aggregate DEX quotes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without executing a swap' implies this is the pre-trade quoting/comparison step, but the description never states when to use it versus alternatives such as pay_decision_snapshot or chain_contract_call, nor any prerequisite (e.g., only relevant before an execution decision). Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
domain_intelligenceSTRAELO Domain IntelligenceARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Public domain name for consolidated domain health, DNS, TLS, and email-posture inspection; localhost and IP literals are rejected. | |
| previous_state | No | Optional prior new_state for stateless change detection. |
Output Schema
| Name | Required | Description |
|---|---|---|
| dns | Yes | Observed DNS records and diagnostics. |
| domain | Yes | Validated public domain. |
| health | Yes | Observed domain health: DNS, HTTP, HTTPS, redirects, TLS, and latency. |
| issues | Yes | |
| actions | Yes | |
| changes | Yes | |
| evidence | Yes | |
| new_state | Yes | |
| observed_at | Yes | |
| data_quality | Yes | |
| current_state | Yes | |
| email_posture | Yes | Observed email posture including MX, SPF, and DMARC. |
| agent_readiness | Yes | Observed agent discovery/readiness signals. |
| security_posture | Yes | Observed HTTPS/TLS security posture; not a safety verdict. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the notion of "stateless changes" and evidence-only output, but never explains why idempotentHint=false (repeated calls may differ) or what network/rate-limit behavior to expect from an open-world probe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with the verb and scope stated first. The long enumeration of 11 checks is dense but earns its place by defining coverage; nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-param, read-only inspection tool with an output schema and annotations carrying the safety profile, the description covers scope and return nature adequately. The one gap is absence of guidance on the stateless-change flow (passing previous_state), which affects correct invocation ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the domain (including the localhost/IP rejection rule) and previous_state parameters are fully documented in the schema. The description adds no syntax or format detail beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Inspect") and resource ("consolidated domain health") and enumerates the covered surface (DNS, TLS, MX, SPF, DMARC, email posture). This clearly differentiates it from narrow siblings like email_validator_basic or url_clean_content, though it doesn't name an alternative outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "in one machine-to-machine call" implies the consolidation benefit versus making many separate checks, but there is no explicit when-to-use/when-not or named alternative. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
email_validator_basicEmail Validator BASICARead-onlyInspect
Validate email syntax, domain and MX records for basic automated checks without SMTP mailbox verification.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email address for syntax, domain and MX validation. |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | |
| domain | Yes | |
| reasons | Yes | |
| mx_found | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered. The description adds genuinely useful behavioral context beyond them: the validation stops at MX records and does not perform SMTP mailbox verification, so the agent knows a pass does not confirm deliverability. It does not discuss rate limits or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the verb and resource, then qualifies scope and the key limitation. No filler, no restatement of the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and annotations carry the safety profile. The description supplies the decisive missing context (no SMTP verification) for a simple one-parameter tool, leaving little an agent still needs before calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema description coverage is 100%, so the schema fully documents the 'email' argument. The description's mention of syntax/domain/MX matches the schema description and adds nothing new about parameter format or constraints, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (Validate) and resource (email) plus the exact scope of checks performed: syntax, domain, and MX records. The 'BASIC' framing and the 'without SMTP mailbox verification' clause distinguish it from a deeper validation variant, though no such sibling is named in the provided list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a clear use context ('basic automated checks') and a boundary condition ('without SMTP mailbox verification'), which tells the agent this is for lightweight validation rather than deliverability confirmation. It stops short of naming an alternative tool for full verification, so it lands just below the explicit when/when-not tier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pay_decision_snapshotPay Decision SnapshotARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | Yes | ||
| payment_required | Yes | Observed x402 v2 PAYMENT-REQUIRED challenge decoded as JSON. | |
| previous_snapshot | No | Optional prior snapshot for stateless material-change detection. |
Output Schema
| Name | Required | Description |
|---|---|---|
| changes | Yes | |
| matched | Yes | |
| coverage | Yes | |
| evidence | Yes | |
| snapshot | Yes | Reusable stateless comparison state. |
| assessment | Yes | Consistency decision only; never a safety rating. |
| mismatched | Yes | |
| reason_codes | Yes | |
| checks_skipped | Yes | |
| external_calls | Yes | Always empty in this offline MVP. |
| checks_performed | Yes | |
| payment_fingerprint | Yes | SHA-256 of canonical material payment fields. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, so the safety profile is covered; the description then adds the crucial behavioral fact that no payment is executed and that outputs are deterministic evidence (consistency/mismatch/change/fingerprint/coverage). It does not explain the non-idempotent behavior implied by idempotentHint=false (e.g., that results shift when previous_snapshot is supplied), leaving one annotation unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the verb and comparison front-loaded and no filler sentences. The trailing enumeration (consistency, mismatch, change, fingerprint, coverage) is dense jargon but each term conveys a distinct output class, so it largely earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and the nested intent/payment_required structures are well documented in the schema. The description is nearly complete for this read-only comparison tool, with the only gap being the role of previous_snapshot in producing the advertised change evidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% and the nested intent fields are each documented by the schema, so the schema does most of the work. The description adds the constraint that only one payment requirement and an 'exact' Base USDC case are handled, but it never mentions the previous_snapshot parameter that drives the 'change' evidence it advertises.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (compare), the exact operands (one supplied x402 v2 exact Base USDC payment requirement vs declared intent), and the output categories (consistency, mismatch, change, fingerprint, coverage evidence). It also explicitly disclaims payment execution, which separates it from any of the heterogeneous sibling tools (blockchain_intelligence, transaction_intelligence, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without executing a payment' plus 'compare ... against declared intent' makes the pre-flight/validation context clear, and the mention of 'change' evidence implies prior-snapshot comparison. However, no explicit when-not conditions or named alternative tools are provided, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
url_clean_contentClean ContentARead-onlyInspect
Extract clean readable webpage text from a public URL, removing boilerplate for LLM-ready research or RAG ingestion.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public HTTP(S) page URL to fetch. Private, local, authenticated, paywalled, or blocked resources are not supported. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | Fetched page URL. |
| text | Yes | Clean readable page text. |
| title | Yes | Page title when available. |
| metadata | Yes | Useful non-sensitive page metadata. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only that boilerplate is stripped and the output is LLM-ready; it says nothing about latency, rate limits, caching, or failure behavior beyond the URL restriction already documented in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and resource, with the purpose qualifier trailing. Nothing is redundant and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with an output schema present and annotations covering safety, the description is nearly sufficient. The one genuine gap is routing: with ten siblings including several read/extract variants, the agent gets no help deciding when this tool is the right one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema description coverage, the schema already explains that the URL must be a public HTTP(S) page and that private/local/authenticated/paywalled resources are unsupported. The description adds no parameter syntax or format detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('extract') plus resource ('clean readable webpage text from a public URL') and even names the downstream consumer (LLM/RAG). It does not, however, differentiate itself from near-neighbors like search_extract, search_read, or web_intelligence, which an agent would need help telling apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for LLM-ready research or RAG ingestion' gestures at the intended use case, and 'removing boilerplate' implies when it beats a raw fetch. But there is no explicit when-to-use/when-not, no mention of alternatives, and no guidance on choosing this over the sibling read/extract tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_intelligenceSTRAELO Web IntelligenceBRead-onlyInspect
Search, read, extract, verify with evidence, research, compare or detect web changes in one paid machine-to-machine product without orchestrating multiple web APIs.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public HTTP(S) URL for read or changes. | |
| query | No | Live-web query for search, extract, evidence, or compare. | |
| topic | No | Legacy structured-research topic, used with objective only when intent is omitted. | |
| fields | No | Unique source fields for extract. | |
| intent | No | Selected Web Intelligence operation. | |
| targets | No | Two to five named targets for compare. | |
| question | No | Natural-language question for research. | |
| objective | No | Legacy structured-research objective, used with topic only when intent is omitted. | |
| previous_state | No | Optional client-supplied prior read state for stateless changes detection. |
Output Schema
| Name | Required | Description |
|---|---|---|
| usage | No | Measured provider usage when applicable. |
| intent | Yes | Executed selected intent. |
| result | Yes | Intent-specific machine-readable result. |
| missing | Yes | Known unavailable information. |
| sources | No | Source provenance when the intent uses web sources. |
| economics | No | Application-calculated estimated costs when applicable. |
| freshness | Yes | Current-data or client-state comparison context. |
| observed_at | Yes | UTC observation time. |
| data_quality | Yes | Available source or content coverage. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, and idempotentHint=false, covering the safety profile. The description adds one genuinely useful trait not in the annotations: this is a 'paid machine-to-machine product', signaling cost implications per call. It stops there, disclosing nothing about rate limits, auth, batching, or whether multiple intents can run in one call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the operation list front-loaded and no filler. It is appropriately short given the schema and output schema carry the detail, though the verb laundry list reads as an enumeration rather than prioritized guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 7-intent, 9-parameter tool with all parameters optional and no required fields, so the agent must know which input combinations are valid per intent — and the description supplies none of that. With an output schema present, return values need no explanation, but the missing intent/parameter pairing rules and sibling routing leave a real gap for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage across all 9 parameters, the schema already documents each field's role (url for read/changes, query for search/extract/evidence/compare, targets for compare, previous_state for changes). The description adds no parameter-level meaning beyond restating the operation names. Baseline 3 applies when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names concrete operations (search, read, extract, verify with evidence, research, compare, detect changes) against the web resource, so an agent knows exactly what capability set it exposes. However, it never distinguishes itself from the overlapping siblings search_read, search_extract, search_evidence, and research_answer, which appear to cover the same verbs. Clear purpose, no sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no routing to alternatives despite the sibling list containing near-duplicates of several intents. The phrase 'without orchestrating multiple web APIs' hints that this is an all-in-one option but leaves the agent to infer selection criteria on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
domain_intelligence7 fields changed- changed
Input schema / properties / domain / descriptionPrevious value: -"Public domain name; localhost and IP literals are rejected."New value: +"Public domain name for consolidated domain health, DNS, TLS, and email-posture inspection; localhost and IP literals are rejected." - added
Output schema / properties / agent_readiness / descriptionAdded value: +"Observed agent discovery/readiness signals." - added
Output schema / properties / dns / descriptionAdded value: +"Observed DNS records and diagnostics." - added
Output schema / properties / domain / descriptionAdded value: +"Validated public domain." - added
Output schema / properties / email_posture / descriptionAdded value: +"Observed email posture including MX, SPF, and DMARC." - added
Output schema / properties / health / descriptionAdded value: +"Observed domain health: DNS, HTTP, HTTPS, redirects, TLS, and latency." - added
Output schema / properties / security_posture / descriptionAdded value: +"Observed HTTPS/TLS security posture; not a safety verdict."
1 tool update
- Added
defi_execution_snapshot
7 tool updates
- Removed
dns_intelligence - Removed
domain_health - Removed
research_answer - Removed
search_evidence - Removed
search_extract - Removed
search_read - Removed
transaction_intelligence
2 tool updates
- Added
blockchain_intelligence - Added
pay_decision_snapshot
1 tool update
- Added
domain_intelligence
1 tool update
- Changed
web_intelligence31 fields changed- added
Input schema / properties / fieldsAdded value: +{ + "default": null, + "description": "Unique source fields for extract.", + "items": { + "enum": [ + "title", + "url", + "snippet", + "text" + ], + "type": "string" + }, + "title": "Fields", + "type": "array" +} - added
Input schema / properties / intentAdded value: +{ + "default": null, + "description": "Selected Web Intelligence operation.", + "enum": [ + "search", + "read", + "extract", + "evidence", + "research", + "compare", + "changes" + ], + "title": "Intent", + "type": "string" +} - added
Input schema / properties / objective / defaultAdded value: +null - changed
Input schema / properties / objective / descriptionPrevious value: -"Decision-oriented investigation objective."New value: +"Legacy structured-research objective, used with topic only when intent is omitted." - removed
Input schema / properties / objective / minLengthRemoved value: -1 - added
Input schema / properties / previous_stateAdded value: +{ + "default": null, + "description": "Optional client-supplied prior read state for stateless changes detection.", + "title": "Previous State", + "type": "object" +} - added
Input schema / properties / queryAdded value: +{ + "default": null, + "description": "Live-web query for search, extract, evidence, or compare.", + "title": "Query", + "type": "string" +} - added
Input schema / properties / questionAdded value: +{ + "default": null, + "description": "Natural-language question for research.", + "title": "Question", + "type": "string" +} - added
Input schema / properties / targetsAdded value: +{ + "default": null, + "description": "Two to five named targets for compare.", + "items": { + "type": "string" + }, + "maxItems": 5, + "minItems": 2, + "title": "Targets", + "type": "array" +} - added
Input schema / properties / topic / defaultAdded value: +null - changed
Input schema / properties / topic / descriptionPrevious value: -"Topic to investigate."New value: +"Legacy structured-research topic, used with objective only when intent is omitted." - removed
Input schema / properties / topic / minLengthRemoved value: -1 - added
Input schema / properties / urlAdded value: +{ + "default": null, + "description": "Public HTTP(S) URL for read or changes.", + "format": "uri", + "title": "Url", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "topic", - "objective" -] - removed
Output schema / properties / agreementsRemoved value: -{ - "description": "Supported points shared across sources.", - "items": { - "type": "string" - }, - "type": "array" -} - removed
Output schema / properties / conflictsRemoved value: -{ - "description": "Conflicting or unresolved source claims.", - "items": { - "type": "string" - }, - "type": "array" -} - added
Output schema / properties / data_qualityAdded value: +{ + "description": "Available source or content coverage.", + "type": "object" +} - changed
Output schema / properties / economics / descriptionPrevious value: -"Application-calculated estimated request costs."New value: +"Application-calculated estimated costs when applicable." - changed
Output schema / properties / economics / typePrevious value: -"object"New value: +[ + "object", + "null" +] - removed
Output schema / properties / factsRemoved value: -{ - "description": "Evidence-backed facts with support confidence.", - "items": { - "properties": { - "claim": { - "type": "string" - }, - "confidence": { - "description": "Source-support strength from 0 to 1.", - "type": "number" - }, - "evidence": { - "type": "string" - }, - "source_url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "claim", - "evidence", - "source_url", - "confidence" - ], - "type": "object" - }, - "type": "array" -} - added
Output schema / properties / freshnessAdded value: +{ + "description": "Current-data or client-state comparison context.", + "type": "string" +} - added
Output schema / properties / intentAdded value: +{ + "description": "Executed selected intent.", + "type": "string" +} - added
Output schema / properties / missingAdded value: +{ + "description": "Known unavailable information.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / observed_atAdded value: +{ + "description": "UTC observation time.", + "format": "date-time", + "type": "string" +} - added
Output schema / properties / resultAdded value: +{ + "description": "Intent-specific machine-readable result.", + "type": "object" +} - changed
Output schema / properties / sources / descriptionPrevious value: -"Sources evaluated."New value: +"Source provenance when the intent uses web sources." - removed
Output schema / properties / summaryRemoved value: -{ - "description": "Evidence-grounded topic summary.", - "type": "string" -} - removed
Output schema / properties / topicRemoved value: -{ - "description": "Investigated topic.", - "type": "string" -} - changed
Output schema / properties / usage / descriptionPrevious value: -"Measured provider usage."New value: +"Measured provider usage when applicable." - changed
Output schema / properties / usage / typePrevious value: -"object"New value: +[ + "object", + "null" +] - changed
Output schema / requiredPrevious value: -[ - "topic", - "summary", - "facts", - "agreements", - "conflicts", - "sources", - "usage", - "economics" -]New value: +[ + "intent", + "result", + "observed_at", + "freshness", + "data_quality", + "missing" +]
11 tool updates
- Changed
chain_contract_call8 fields changed- added
Input schema / properties / chain / descriptionAdded value: +"EVM network for the read-only call." - added
Input schema / properties / chain / titleAdded value: +"Chain" - added
Input schema / properties / contract_address / descriptionAdded value: +"Target EVM contract address." - added
Input schema / properties / contract_address / titleAdded value: +"Contract Address" - changed
Input schema / properties / data / descriptionPrevious value: -"Hexadecimal EVM calldata."New value: +"Read-only hexadecimal ABI calldata." - added
Input schema / properties / data / titleAdded value: +"Data" - added
Input schema / titleAdded value: +"handlerArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "chain": { + "description": "Selected EVM network.", + "type": "string" + }, + "contract_address": { + "description": "Called contract address.", + "type": "string" + }, + "latency_ms": { + "description": "Observed provider-call latency in milliseconds.", + "type": "integer" + }, + "provider": { + "description": "RPC provider identifier.", + "type": "string" + }, + "result": { + "description": "Hexadecimal eth_call result.", + "type": "string" + } + }, + "required": [ + "chain", + "contract_address", + "result", + "provider", + "latency_ms" + ], + "title": "ChainContractCallOutput", + "type": "object" +}
- Changed
dns_intelligence4 fields changed- changed
Input schema / properties / domain / descriptionPrevious value: -"Public domain name."New value: +"Public domain name; localhost and IP literals are rejected." - added
Input schema / properties / domain / titleAdded value: +"Domain" - added
Input schema / titleAdded value: +"handlerArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "a": { + "items": { + "type": "string" + }, + "type": "array" + }, + "aaaa": { + "items": { + "type": "string" + }, + "type": "array" + }, + "diagnostics": { + "description": "Deterministic missing-record diagnostics.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dmarc": { + "items": { + "type": "string" + }, + "type": "array" + }, + "domain": { + "description": "Validated public domain.", + "type": "string" + }, + "mx": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "spf": { + "items": { + "type": "string" + }, + "type": "array" + }, + "txt": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domain", + "a", + "aaaa", + "mx", + "ns", + "txt", + "spf", + "dmarc", + "diagnostics" + ], + "title": "DnsIntelligenceOutput", + "type": "object" +}
- Changed
domain_health4 fields changed- changed
Input schema / properties / domain / descriptionPrevious value: -"Public domain name."New value: +"Public domain name; localhost and IP literals are rejected." - added
Input schema / properties / domain / titleAdded value: +"Domain" - added
Input schema / titleAdded value: +"handlerArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "diagnostics": { + "description": "Deterministic DNS or probe diagnostics.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dns_status": { + "description": "DNS resolution state.", + "type": "string" + }, + "domain": { + "description": "Validated public domain.", + "type": "string" + }, + "final_url": { + "description": "Final selected public URL.", + "format": "uri", + "type": [ + "string", + "null" + ] + }, + "http_status": { + "description": "HTTP status when reachable.", + "type": [ + "integer", + "null" + ] + }, + "https_status": { + "description": "HTTPS status when reachable.", + "type": [ + "integer", + "null" + ] + }, + "redirects": { + "description": "Redirect count for the selected probe.", + "type": [ + "integer", + "null" + ] + }, + "response_latency_ms": { + "description": "Selected probe latency in milliseconds.", + "type": [ + "integer", + "null" + ] + }, + "tls_certificate_expires_at": { + "description": "TLS certificate expiration when available.", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "domain", + "dns_status", + "http_status", + "https_status", + "redirects", + "tls_certificate_expires_at", + "response_latency_ms", + "final_url", + "diagnostics" + ], + "title": "DomainHealthOutput", + "type": "object" +}
- Changed
email_validator_basic3 fields changed- added
Input schema / properties / email / titleAdded value: +"Email" - added
Input schema / titleAdded value: +"handlerArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "domain": { + "type": [ + "string", + "null" + ] + }, + "mx_found": { + "type": [ + "boolean", + "null" + ] + }, + "reasons": { + "items": { + "type": "string" + }, + "type": "array" + }, + "valid": { + "type": "boolean" + } + }, + "required": [ + "valid", + "domain", + "mx_found", + "reasons" + ], + "title": "EmailValidatorBasicOutput", + "type": "object" +}
- Changed
research_answer3 fields changed- added
Input schema / properties / question / titleAdded value: +"Question" - added
Input schema / titleAdded value: +"handlerArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "answer": { + "description": "Concise synthesis grounded in retrieved sources.", + "type": "string" + }, + "sources": { + "description": "Sources used for the answer.", + "items": { + "properties": { + "snippet": { + "type": "string" + }, + "text": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "title", + "url", + "snippet", + "text" + ], + "type": "object" + }, + "type": "array" + }, + "usage": { + "description": "Measured provider usage and estimated request costs.", + "type": "object" + } + }, + "required": [ + "answer", + "sources", + "usage" + ], + "title": "ResearchAnswerOutput", + "type": "object" +}
- Changed
search_evidence4 fields changed- added
Input schema / properties / query / descriptionAdded value: +"Question or factual query to support with live web evidence." - added
Input schema / properties / query / titleAdded value: +"Query" - added
Input schema / titleAdded value: +"handlerArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "agreements": { + "description": "Supported points across sources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "confidence": { + "description": "Evidence support strength from 0 to 1.", + "type": "number" + }, + "conflicts": { + "description": "Conflicting or unresolved source claims.", + "items": { + "type": "string" + }, + "type": "array" + }, + "economics": { + "description": "Estimated request costs.", + "type": "object" + }, + "facts": { + "description": "Evidence-backed factual claims.", + "items": { + "properties": { + "claim": { + "type": "string" + }, + "evidence": { + "type": "string" + }, + "source_url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "claim", + "evidence", + "source_url" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "description": "Submitted evidence query.", + "type": "string" + }, + "sources": { + "description": "Sources evaluated.", + "type": "array" + }, + "usage": { + "description": "Measured provider usage and estimated request costs.", + "type": "object" + } + }, + "required": [ + "query", + "facts", + "agreements", + "conflicts", + "confidence", + "sources", + "usage", + "economics" + ], + "title": "SearchEvidenceOutput", + "type": "object" +}
- Changed
search_extract7 fields changed- added
Input schema / properties / fields / descriptionAdded value: +"Unique fields to extract from each result." - added
Input schema / properties / fields / items / descriptionAdded value: +"One supported source field." - added
Input schema / properties / fields / titleAdded value: +"Fields" - added
Input schema / properties / query / descriptionAdded value: +"Live web search query." - added
Input schema / properties / query / titleAdded value: +"Query" - added
Input schema / titleAdded value: +"handlerArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "economics": { + "description": "Estimated request costs.", + "type": "object" + }, + "extracted_data": { + "description": "One requested-field object per source.", + "items": { + "properties": { + "data": { + "description": "Requested field values; text may be null.", + "type": "object" + }, + "source_url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "source_url", + "data" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "description": "Submitted search query.", + "type": "string" + }, + "requested_fields": { + "description": "Fields selected for extraction.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sources": { + "description": "Underlying search sources.", + "type": "array" + }, + "usage": { + "description": "Measured provider usage and estimated request costs.", + "type": "object" + } + }, + "required": [ + "query", + "requested_fields", + "extracted_data", + "sources", + "usage", + "economics" + ], + "title": "SearchExtractOutput", + "type": "object" +}
- Changed
search_read4 fields changed- changed
Input schema / properties / query / descriptionPrevious value: -"Live web search query."New value: +"Required live web search query." - added
Input schema / properties / query / titleAdded value: +"Query" - added
Input schema / titleAdded value: +"handlerArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "query": { + "description": "Submitted search query.", + "type": "string" + }, + "sources": { + "description": "Relevant ranked web sources; readable text is available for the first result when fetchable.", + "items": { + "properties": { + "snippet": { + "type": "string" + }, + "text": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": "string" + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "title", + "url", + "snippet", + "text" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "query", + "sources" + ], + "title": "SearchReadOutput", + "type": "object" +}
- Changed
transaction_intelligence5 fields changed- added
Input schema / properties / chain / descriptionAdded value: +"EVM network containing the transaction." - added
Input schema / properties / chain / titleAdded value: +"Chain" - added
Input schema / properties / tx_hash / titleAdded value: +"Tx Hash" - added
Input schema / titleAdded value: +"handlerArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "analysis": { + "description": "Deterministic execution, classification, selector, value, gas, fee, logs, and creation analysis.", + "type": "object" + }, + "chain": { + "description": "Selected EVM network.", + "type": "string" + }, + "latency_ms": { + "description": "Observed RPC latency in milliseconds.", + "type": "integer" + }, + "provider": { + "description": "RPC provider identifier.", + "type": "string" + }, + "receipt": { + "description": "Raw RPC receipt, or null when pending or unavailable.", + "type": [ + "object", + "null" + ] + }, + "transaction": { + "description": "Raw RPC transaction, or null when unavailable.", + "type": [ + "object", + "null" + ] + }, + "tx_hash": { + "description": "Requested transaction hash.", + "type": "string" + } + }, + "required": [ + "chain", + "tx_hash", + "analysis", + "transaction", + "receipt", + "provider", + "latency_ms" + ], + "title": "TransactionIntelligenceOutput", + "type": "object" +}
- Changed
url_clean_content4 fields changed- changed
Input schema / properties / url / descriptionPrevious value: -"Public HTTP(S) URL for webpage content extraction."New value: +"Public HTTP(S) page URL to fetch. Private, local, authenticated, paywalled, or blocked resources are not supported." - added
Input schema / properties / url / titleAdded value: +"Url" - added
Input schema / titleAdded value: +"handlerArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "metadata": { + "description": "Useful non-sensitive page metadata.", + "type": "object" + }, + "text": { + "description": "Clean readable page text.", + "type": "string" + }, + "title": { + "description": "Page title when available.", + "type": [ + "string", + "null" + ] + }, + "url": { + "description": "Fetched page URL.", + "type": "string" + } + }, + "required": [ + "url", + "title", + "text", + "metadata" + ], + "title": "UrlCleanContentOutput", + "type": "object" +}
- Changed
web_intelligence4 fields changed- added
Input schema / properties / objective / titleAdded value: +"Objective" - added
Input schema / properties / topic / titleAdded value: +"Topic" - added
Input schema / titleAdded value: +"handlerArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "agreements": { + "description": "Supported points shared across sources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "conflicts": { + "description": "Conflicting or unresolved source claims.", + "items": { + "type": "string" + }, + "type": "array" + }, + "economics": { + "description": "Application-calculated estimated request costs.", + "type": "object" + }, + "facts": { + "description": "Evidence-backed facts with support confidence.", + "items": { + "properties": { + "claim": { + "type": "string" + }, + "confidence": { + "description": "Source-support strength from 0 to 1.", + "type": "number" + }, + "evidence": { + "type": "string" + }, + "source_url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "claim", + "evidence", + "source_url", + "confidence" + ], + "type": "object" + }, + "type": "array" + }, + "sources": { + "description": "Sources evaluated.", + "type": "array" + }, + "summary": { + "description": "Evidence-grounded topic summary.", + "type": "string" + }, + "topic": { + "description": "Investigated topic.", + "type": "string" + }, + "usage": { + "description": "Measured provider usage.", + "type": "object" + } + }, + "required": [ + "topic", + "summary", + "facts", + "agreements", + "conflicts", + "sources", + "usage", + "economics" + ], + "title": "WebIntelligenceOutput", + "type": "object" +}
11 tool updates
- First observed
chain_contract_call - First observed
dns_intelligence - First observed
domain_health - First observed
email_validator_basic - First observed
research_answer - First observed
search_evidence - First observed
search_extract - First observed
search_read - First observed
transaction_intelligence - First observed
url_clean_content - First observed
web_intelligence
Related MCP Connectors
100+ MCP tools for AI agents: content metadata, trade intelligence, business-expertise analysis.
Enrich, search, assess, and manage threat intelligence through 80+ typed MCP tools.
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
37 paid x402 MCP tools for OSINT, prediction markets, web intel, and agent security on Base USDC.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables AI agents to perform general-purpose open-source intelligence lookups across domains, infrastructure, identity, social media, and threat/breach sources through a unified MCP interface, with most tools free and no API keys required.32MIT
- AlicenseAqualityCmaintenanceWeb intelligence MCP server for AI agents. 7 tools for SERP analysis, competitor research, market trends, content gap analysis, keyword insights, audience discovery, and citation tracking.718 PyPI2AGPL 3.0
- AlicenseBqualityCmaintenanceEnables AI coding agents and LLMs to scrape web pages into clean Markdown, audit email deliverability and authentication records, and verify email signup fraud risk through MCP tools.3MIT
- AlicenseNot gradedqualityDmaintenanceProvides 26 free OSINT tools as MCP tools for AI agents, enabling automated OSINT investigations directly from conversations.59 PyPI1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.