Skip to main content
Glama

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 19 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.6/5.0

Scored across 8 tools

Disambiguation3/5

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.

Naming Consistency3/5

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.

Tool Count5/5

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.

Completeness4/5

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 tools
blockchain_intelligenceSTRAELO Blockchain IntelligenceA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesEVM network containing the target.
addressNoOne EVM address to inspect.
previous_stateNoOptional prior new_state for stateless change detection.
contract_addressNoOne EVM contract address to inspect.
transaction_hashNoOne transaction hash to inspect.

Output Schema

ParametersJSON Schema
NameRequiredDescription
issuesYes
targetYesSelected target type and value.
changesYes
summaryYes
activityYes
coverageYesExplicitly records the observed RPC scope and unobserved categories.
evidenceYes
new_stateYes
observed_atYes
risk_signalsYesObserved signals only; no risk score is assigned.
current_stateYes
value_and_feeYes
classificationYesObserved deterministic target classification, not a safety assessment.
rpc_calls_usedYes
contract_contextYes
material_changesYes
recommended_actionsYes

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 CallA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesRead-only hexadecimal ABI calldata.
chainYesEVM network for the read-only call.
contract_addressYesTarget EVM contract address.

Output Schema

ParametersJSON Schema
NameRequiredDescription
chainYesSelected EVM network.
resultYesHexadecimal eth_call result.
providerYesRPC provider identifier.
latency_msYesObserved provider-call latency in milliseconds.
contract_addressYesCalled contract address.

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 SnapshotA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesBase Mainnet only in this quote-only MVP.
token_inYesInput Base asset symbol.
amount_inYesPositive decimal input amount, converted exactly to raw token units.
token_outYesOutput Base asset symbol; must differ from token_in.
slippage_bpsYesSlippage tolerance in basis points; it is not treated as a cost.
baseline_providerNoOptional provider used only for a direct economic comparison.

Output Schema

ParametersJSON Schema
NameRequiredDescription
usageYesPer-provider call success, latency, and configured cost-estimate availability.
quotesYesNormalized provider quote evidence in raw token units.
statusYes
partialYesTrue when one or more providers did not yield a valid quote.
consensusYesComparable-output median and comparison basis when two provider quotes are valid.
economicsYesKnown or unknown estimated provider COGS; unknown is never represented as zero.
confidenceYesDeterministic quote-comparison confidence; two providers never produce HIGH in this MVP.
observed_atYes
best_providerYesBest comparable provider only when at least two valid quotes are available.
evidence_qualityYesPer-provider reported, calculated, estimated, or unavailable field quality.
provider_failuresYes
economic_advantageYesBest quote versus declared baseline or next available quote; never ROI.

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 IntelligenceA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic domain name for consolidated domain health, DNS, TLS, and email-posture inspection; localhost and IP literals are rejected.
previous_stateNoOptional prior new_state for stateless change detection.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dnsYesObserved DNS records and diagnostics.
domainYesValidated public domain.
healthYesObserved domain health: DNS, HTTP, HTTPS, redirects, TLS, and latency.
issuesYes
actionsYes
changesYes
evidenceYes
new_stateYes
observed_atYes
data_qualityYes
current_stateYes
email_postureYesObserved email posture including MX, SPF, and DMARC.
agent_readinessYesObserved agent discovery/readiness signals.
security_postureYesObserved HTTPS/TLS security posture; not a safety verdict.

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 BASICA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address for syntax, domain and MX validation.

Output Schema

ParametersJSON Schema
NameRequiredDescription
validYes
domainYes
reasonsYes
mx_foundYes

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 SnapshotA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes
payment_requiredYesObserved x402 v2 PAYMENT-REQUIRED challenge decoded as JSON.
previous_snapshotNoOptional prior snapshot for stateless material-change detection.

Output Schema

ParametersJSON Schema
NameRequiredDescription
changesYes
matchedYes
coverageYes
evidenceYes
snapshotYesReusable stateless comparison state.
assessmentYesConsistency decision only; never a safety rating.
mismatchedYes
reason_codesYes
checks_skippedYes
external_callsYesAlways empty in this offline MVP.
checks_performedYes
payment_fingerprintYesSHA-256 of canonical material payment fields.

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 ContentA
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic HTTP(S) page URL to fetch. Private, local, authenticated, paywalled, or blocked resources are not supported.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesFetched page URL.
textYesClean readable page text.
titleYesPage title when available.
metadataYesUseful non-sensitive page metadata.

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 IntelligenceB
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoPublic HTTP(S) URL for read or changes.
queryNoLive-web query for search, extract, evidence, or compare.
topicNoLegacy structured-research topic, used with objective only when intent is omitted.
fieldsNoUnique source fields for extract.
intentNoSelected Web Intelligence operation.
targetsNoTwo to five named targets for compare.
questionNoNatural-language question for research.
objectiveNoLegacy structured-research objective, used with topic only when intent is omitted.
previous_stateNoOptional client-supplied prior read state for stateless changes detection.

Output Schema

ParametersJSON Schema
NameRequiredDescription
usageNoMeasured provider usage when applicable.
intentYesExecuted selected intent.
resultYesIntent-specific machine-readable result.
missingYesKnown unavailable information.
sourcesNoSource provenance when the intent uses web sources.
economicsNoApplication-calculated estimated costs when applicable.
freshnessYesCurrent-data or client-state comparison context.
observed_atYesUTC observation time.
data_qualityYesAvailable source or content coverage.

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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. 1 tool update
    • Changeddomain_intelligence7 fields changed
      • changedInput schema / properties / domain / description
        Previous 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."
      • addedOutput schema / properties / agent_readiness / description
        Added value: +"Observed agent discovery/readiness signals."
      • addedOutput schema / properties / dns / description
        Added value: +"Observed DNS records and diagnostics."
      • addedOutput schema / properties / domain / description
        Added value: +"Validated public domain."
      • addedOutput schema / properties / email_posture / description
        Added value: +"Observed email posture including MX, SPF, and DMARC."
      • addedOutput schema / properties / health / description
        Added value: +"Observed domain health: DNS, HTTP, HTTPS, redirects, TLS, and latency."
      • addedOutput schema / properties / security_posture / description
        Added value: +"Observed HTTPS/TLS security posture; not a safety verdict."
  2. 1 tool update
    • Addeddefi_execution_snapshot
  3. 7 tool updates
    • Removeddns_intelligence
    • Removeddomain_health
    • Removedresearch_answer
    • Removedsearch_evidence
    • Removedsearch_extract
    • Removedsearch_read
    • Removedtransaction_intelligence
  4. 2 tool updates
    • Addedblockchain_intelligence
    • Addedpay_decision_snapshot
  5. 1 tool update
    • Addeddomain_intelligence
  6. 1 tool update
    • Changedweb_intelligence31 fields changed
      • addedInput schema / properties / fields
        Added value: +{
        +  "default": null,
        +  "description": "Unique source fields for extract.",
        +  "items": {
        +    "enum": [
        +      "title",
        +      "url",
        +      "snippet",
        +      "text"
        +    ],
        +    "type": "string"
        +  },
        +  "title": "Fields",
        +  "type": "array"
        +}
      • addedInput schema / properties / intent
        Added value: +{
        +  "default": null,
        +  "description": "Selected Web Intelligence operation.",
        +  "enum": [
        +    "search",
        +    "read",
        +    "extract",
        +    "evidence",
        +    "research",
        +    "compare",
        +    "changes"
        +  ],
        +  "title": "Intent",
        +  "type": "string"
        +}
      • addedInput schema / properties / objective / default
        Added value: +null
      • changedInput schema / properties / objective / description
        Previous value: -"Decision-oriented investigation objective."New value: +"Legacy structured-research objective, used with topic only when intent is omitted."
      • removedInput schema / properties / objective / minLength
        Removed value: -1
      • addedInput schema / properties / previous_state
        Added value: +{
        +  "default": null,
        +  "description": "Optional client-supplied prior read state for stateless changes detection.",
        +  "title": "Previous State",
        +  "type": "object"
        +}
      • addedInput schema / properties / query
        Added value: +{
        +  "default": null,
        +  "description": "Live-web query for search, extract, evidence, or compare.",
        +  "title": "Query",
        +  "type": "string"
        +}
      • addedInput schema / properties / question
        Added value: +{
        +  "default": null,
        +  "description": "Natural-language question for research.",
        +  "title": "Question",
        +  "type": "string"
        +}
      • addedInput schema / properties / targets
        Added value: +{
        +  "default": null,
        +  "description": "Two to five named targets for compare.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "maxItems": 5,
        +  "minItems": 2,
        +  "title": "Targets",
        +  "type": "array"
        +}
      • addedInput schema / properties / topic / default
        Added value: +null
      • changedInput schema / properties / topic / description
        Previous value: -"Topic to investigate."New value: +"Legacy structured-research topic, used with objective only when intent is omitted."
      • removedInput schema / properties / topic / minLength
        Removed value: -1
      • addedInput schema / properties / url
        Added value: +{
        +  "default": null,
        +  "description": "Public HTTP(S) URL for read or changes.",
        +  "format": "uri",
        +  "title": "Url",
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "topic",
        -  "objective"
        -]
      • removedOutput schema / properties / agreements
        Removed value: -{
        -  "description": "Supported points shared across sources.",
        -  "items": {
        -    "type": "string"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / conflicts
        Removed value: -{
        -  "description": "Conflicting or unresolved source claims.",
        -  "items": {
        -    "type": "string"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data_quality
        Added value: +{
        +  "description": "Available source or content coverage.",
        +  "type": "object"
        +}
      • changedOutput schema / properties / economics / description
        Previous value: -"Application-calculated estimated request costs."New value: +"Application-calculated estimated costs when applicable."
      • changedOutput schema / properties / economics / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • removedOutput schema / properties / facts
        Removed 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"
        -}
      • addedOutput schema / properties / freshness
        Added value: +{
        +  "description": "Current-data or client-state comparison context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / intent
        Added value: +{
        +  "description": "Executed selected intent.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / missing
        Added value: +{
        +  "description": "Known unavailable information.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / observed_at
        Added value: +{
        +  "description": "UTC observation time.",
        +  "format": "date-time",
        +  "type": "string"
        +}
      • addedOutput schema / properties / result
        Added value: +{
        +  "description": "Intent-specific machine-readable result.",
        +  "type": "object"
        +}
      • changedOutput schema / properties / sources / description
        Previous value: -"Sources evaluated."New value: +"Source provenance when the intent uses web sources."
      • removedOutput schema / properties / summary
        Removed value: -{
        -  "description": "Evidence-grounded topic summary.",
        -  "type": "string"
        -}
      • removedOutput schema / properties / topic
        Removed value: -{
        -  "description": "Investigated topic.",
        -  "type": "string"
        -}
      • changedOutput schema / properties / usage / description
        Previous value: -"Measured provider usage."New value: +"Measured provider usage when applicable."
      • changedOutput schema / properties / usage / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / required
        Previous value: -[
        -  "topic",
        -  "summary",
        -  "facts",
        -  "agreements",
        -  "conflicts",
        -  "sources",
        -  "usage",
        -  "economics"
        -]New value: +[
        +  "intent",
        +  "result",
        +  "observed_at",
        +  "freshness",
        +  "data_quality",
        +  "missing"
        +]
  7. 11 tool updates
    • Changedchain_contract_call8 fields changed
      • addedInput schema / properties / chain / description
        Added value: +"EVM network for the read-only call."
      • addedInput schema / properties / chain / title
        Added value: +"Chain"
      • addedInput schema / properties / contract_address / description
        Added value: +"Target EVM contract address."
      • addedInput schema / properties / contract_address / title
        Added value: +"Contract Address"
      • changedInput schema / properties / data / description
        Previous value: -"Hexadecimal EVM calldata."New value: +"Read-only hexadecimal ABI calldata."
      • addedInput schema / properties / data / title
        Added value: +"Data"
      • addedInput schema / title
        Added value: +"handlerArguments"
      • changedOutput 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"
        +}
    • Changeddns_intelligence4 fields changed
      • changedInput schema / properties / domain / description
        Previous value: -"Public domain name."New value: +"Public domain name; localhost and IP literals are rejected."
      • addedInput schema / properties / domain / title
        Added value: +"Domain"
      • addedInput schema / title
        Added value: +"handlerArguments"
      • changedOutput 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"
        +}
    • Changeddomain_health4 fields changed
      • changedInput schema / properties / domain / description
        Previous value: -"Public domain name."New value: +"Public domain name; localhost and IP literals are rejected."
      • addedInput schema / properties / domain / title
        Added value: +"Domain"
      • addedInput schema / title
        Added value: +"handlerArguments"
      • changedOutput 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"
        +}
    • Changedemail_validator_basic3 fields changed
      • addedInput schema / properties / email / title
        Added value: +"Email"
      • addedInput schema / title
        Added value: +"handlerArguments"
      • changedOutput 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"
        +}
    • Changedresearch_answer3 fields changed
      • addedInput schema / properties / question / title
        Added value: +"Question"
      • addedInput schema / title
        Added value: +"handlerArguments"
      • changedOutput 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"
        +}
    • Changedsearch_evidence4 fields changed
      • addedInput schema / properties / query / description
        Added value: +"Question or factual query to support with live web evidence."
      • addedInput schema / properties / query / title
        Added value: +"Query"
      • addedInput schema / title
        Added value: +"handlerArguments"
      • changedOutput 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"
        +}
    • Changedsearch_extract7 fields changed
      • addedInput schema / properties / fields / description
        Added value: +"Unique fields to extract from each result."
      • addedInput schema / properties / fields / items / description
        Added value: +"One supported source field."
      • addedInput schema / properties / fields / title
        Added value: +"Fields"
      • addedInput schema / properties / query / description
        Added value: +"Live web search query."
      • addedInput schema / properties / query / title
        Added value: +"Query"
      • addedInput schema / title
        Added value: +"handlerArguments"
      • changedOutput 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"
        +}
    • Changedsearch_read4 fields changed
      • changedInput schema / properties / query / description
        Previous value: -"Live web search query."New value: +"Required live web search query."
      • addedInput schema / properties / query / title
        Added value: +"Query"
      • addedInput schema / title
        Added value: +"handlerArguments"
      • changedOutput 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"
        +}
    • Changedtransaction_intelligence5 fields changed
      • addedInput schema / properties / chain / description
        Added value: +"EVM network containing the transaction."
      • addedInput schema / properties / chain / title
        Added value: +"Chain"
      • addedInput schema / properties / tx_hash / title
        Added value: +"Tx Hash"
      • addedInput schema / title
        Added value: +"handlerArguments"
      • changedOutput 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"
        +}
    • Changedurl_clean_content4 fields changed
      • changedInput schema / properties / url / description
        Previous 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."
      • addedInput schema / properties / url / title
        Added value: +"Url"
      • addedInput schema / title
        Added value: +"handlerArguments"
      • changedOutput 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"
        +}
    • Changedweb_intelligence4 fields changed
      • addedInput schema / properties / objective / title
        Added value: +"Objective"
      • addedInput schema / properties / topic / title
        Added value: +"Topic"
      • addedInput schema / title
        Added value: +"handlerArguments"
      • changedOutput 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"
        +}
  8. 11 tool updates
    • First observedchain_contract_call
    • First observeddns_intelligence
    • First observeddomain_health
    • First observedemail_validator_basic
    • First observedresearch_answer
    • First observedsearch_evidence
    • First observedsearch_extract
    • First observedsearch_read
    • First observedtransaction_intelligence
    • First observedurl_clean_content
    • First observedweb_intelligence

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    Enables 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.
    32
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Web 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.
    7
    18 PyPI
    2
    AGPL 3.0
  • A
    license
    B
    quality
    C
    maintenance
    Enables 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.
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources