Skip to main content
Glama

Server Details

Insight MCP exposes oracleinsight.xyz data as 30+ MCP tools for AI agents.

Fetch prices, consensus feeds, oracle health, stablecoin/wrapped-asset pegs, DeFi position safety, protocol liquidation risk, and daily risk reports — all through natural language.

Built on the same REST API with built-in auth, rate limits, and plan gating.

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 the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 20 tools

Disambiguation2/5

The active umbrella tools (trade_guard, trade_proof, oracle_watch_window, position_lifecycle) substantially duplicate the deprecated alias tools still listed, so an agent must constantly distinguish current names from absorbed operations. Boundaries are documented but the surface contains many pairs that appear to do the same thing, such as get_oracle_price vs trade_guard op oracle_price and verify_evidence vs trade_proof op verify_evidence.

Naming Consistency3/5

All names are snake_case, but the set mixes verb_noun aliases (check_trade_safety, prepare_swap), noun_phrase/umbrella names (trade_guard, oracle_watch_window), and op-dispatched tools whose names do not describe a single action. The deprecated aliases preserve older naming styles alongside the newer consolidated names, creating a readable but inconsistent convention.

Tool Count2/5

Twenty tools is heavy for an effective surface that is mostly four umbrella tools with op branches. A large portion of the count is deprecated aliases that should not earn a place in the active tool listing, inflating the set and making it harder to scan.

Completeness4/5

The surface covers oracle reads and analytics, health, registry lookup, market quotes, pre-trade safety, swap/perp preparation, execution evidence, verification, monitoring windows and position lifecycle. Signing and submission are intentionally absent, and some venue-specific operational gaps may remain, but the stated safety-and-evidence domain is largely complete.

Available Tools

20 tools
begin_trade_evidenceAInspect

Open the verifiable execution loop: certify a swap/DeFi intent before the agent executes. Use it when a principal needs a signed pre-trade handle to bind an execution receipt later. Do not use it as trade authorization and do not call it after the trade. Returns preTradeUid, destinationPreTradeUid, requestHash, CAIP-19 asset ids, certified cross-rate, the 50 bps band, verdicts and the signed pre-trade attestations. Deprecated alias: prefer trade_proof with op "begin_evidence". Removed on 2027-01-06.

NameRequiredDescriptionDefault
assetYesSource asset sold
actionYes
chain_idYesExecution chain id. Independent on-chain route quotes are currently available only on Ethereum mainnet (chain_id 1); other chains return [unavailable:unsupported_chain] without billing.
providersNo
amount_usdYes
protocol_idNo
decision_inputYesRequired quote evidence: {source, destination, routeQuotePrice, routeQuoteObservedAt} (old camelCase shape)
max_slippage_bpsYesPre-committed tolerance; fixed at 50
destination_assetYesDestination asset bought
source_group_countNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does substantial work: it lists returned artifacts (preTradeUid, requestHash, CAIP-19 asset ids, certified cross-rate, 50 bps band, verdicts, signed attestations), flags deprecation and a hard removal date, and warns that the handle is not authorization. It stops short of auth requirements, handle expiry/idempotency, and failure behavior beyond what the schema mentions.

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?

Front-loaded with purpose, then exclusions, then return shape, then deprecation routing — a sensible priority order. Every sentence carries distinct information (trigger, prohibition, outputs, migration), with 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 10-parameter, 7-required nested-object tool with no output schema, the description covers purpose, prohibitions, return payload, chain support caveat, and deprecation adequately. Gaps remain around input field intent (providers, protocol_id, decision_input usage) and operational concerns like auth or handle lifetime.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

At 50% schema coverage across 10 parameters, the description should compensate but barely touches inputs. The only input-adjacent detail is the '50 bps band', which merely restates the schema's const 50; undocumented parameters like providers, protocol_id, source_group_count, and the action enum get no explanation, and the long return-value list does not help an agent fill the input.

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?

Opens with a specific verb+resource framing: 'Open the verifiable execution loop: certify a swap/DeFi intent before the agent executes.' It also distinguishes itself from the sibling trade_proof by naming the exact replacement call (op "begin_evidence") and giving a removal date, so an agent can route correctly without inspecting schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the trigger condition ('when a principal needs a signed pre-trade handle to bind an execution receipt later') and two negative cases ('Do not use it as trade authorization', 'do not call it after the trade'). It also names the preferred alternative, so when-to-use, when-not-to-use, and the substitute are all covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_trade_safetyAInspect

Run the pre-trade oracle safety gate for swaps, lending, perps, vault deposits and position stress tests across Base, Monad, multichain EVM, Solana and Hyperliquid. Use it immediately before an agent trades or signs, and pass the family native payload in guard when the venue needs exact-call fields. Do not use it after execution (use trade_proof) and do not treat its PASS as principal authorization. Returns a verdict (PASS/CAUTION/DANGER/BLOCK), reason codes, oracle evidence and a signed attestation or decision when the family supports one. Deprecated alias: prefer trade_guard with op "check_safety". Removed on 2027-01-06.

NameRequiredDescriptionDefault
dateNoDate for liquidation stress
modeNoGeneric oracle gate mode when no family-specific guard appliespre_trade
sideNoPerp side
assetNoAsset traded or collateral symbol
guardNoExact-call guard input for family-specific exact tools
orderNoExact Hyperliquid order envelope
actionYesTrade action being considered
marketNoPerp market
borrowsNo
chain_idYesExecution chain: numeric EVM id, "solana", or "hyperliquid"
positionNoPosition payload for action=check_position
market_idNoIsolated lending market id when required
providersNoOracle providers to gate on
amount_usdNoTrade size in USD
profile_idNoReviewed pool/profile id
collateralsNo
loan_symbolNo
protocol_idNoLending/protocol id
transactionNoExact unsigned transaction for exact-call guards
margin_assetNo
borrow_amountNo
borrow_symbolNo
token_addressNo
debt_value_usdNo
decision_inputNoCaller decision/quote evidence (old camelCase shape)
margin_value_usdNo
collateral_amountNo
collateral_symbolNo
destination_assetNoDestination asset for swaps
reputation_opt_inNo
reputation_agent_idNo
collateral_value_usdNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden and does add real value: it discloses the verdict taxonomy (PASS/CAUTION/DANGER/BLOCK), reason codes, oracle evidence, optional signed attestation, and a deprecation/removal date of 2027-01-06. It does not disclose cost, latency, failure modes when evidence is stale or unavailable, or who can verify the attestation, which are material for a gating tool with no readOnly/destructive hints.

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?

Four tight sentences, front-loaded with the action and scope, then usage timing, then return values, then migration. Every sentence carries information, though the deprecation sentence sits at the end where a high-volume caller might miss a removal date that would ideally be surfaced earlier.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description compensates for the missing output schema by enumerating the return payload, and correctly documents the deprecation path. For a 32-parameter, nested-object tool spanning five venue families, however, the absence of any parameter-by-action mapping leaves a substantial gap that neither the schema (56% coverage) nor the description closes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only the `guard` parameter gets added meaning ('pass the family native payload here when the venue needs exact-call fields'). Against 32 parameters at 56% schema coverage, there is no guidance on which parameters pair with which `action` value (e.g. borrows/collaterals for borrow, position for check_position, market/side for perps) — the single most important thing an agent needs to construct a valid call.

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 and resource ('Run the pre-trade oracle safety gate') and enumerates the covered domains (swaps, lending, perps, vault deposits, stress tests) and chains (Base, Monad, multichain EVM, Solana, Hyperliquid). It also distinguishes itself from siblings by naming trade_proof for post-execution and trade_guard as the preferred successor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit timing ('immediately before an agent trades or signs'), an explicit anti-pattern ('Do not use it after execution (use trade_proof)'), a scope caveat ('do not treat its PASS as principal authorization'), and a migration instruction pointing at trade_guard with op "check_safety". Nothing about when to select this tool is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_market_quoteAInspect

Read one reviewed venue market: pool/market metadata, pinned quote context and venue constraints for Base, Monad, Solana or Hyperliquid. Use it before preparing or gating a trade when the agent needs the reviewed profile or market id. Do not use it as execution authorization or for prices outside the reviewed venues. Returns the market record, reviewed profile ids and current quote context. Deprecated alias: prefer trade_guard with op "market_quote". Removed on 2027-01-06.

NameRequiredDescriptionDefault
venueYesReviewed venue to quote
marketNoHyperliquid perp market
venuesNoBase venue ids to inspect
profile_idNoReviewed pool/profile id. PancakeSwap V3: base-pancakeswap-v3-usdc-usdt-100, bnb-pancakeswap-v3-usdt-usdc-100, bnb-pancakeswap-v3-usdt-wbnb-100

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it marks the operation as a read, scopes it to a reviewed allowlist of venues, states it is not an authorization signal, and discloses the deprecation plus removal date. It stops short of noting permission prerequisites or rate limits, which keeps it off a 5.

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?

Four sentences, front-loaded with purpose, then usage, then exclusions, then return shape, then the deprecation notice. Every sentence contributes, though the deprecation sentence could arguably lead or be trimmed given its verbosity.

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?

There is no output schema, but the description compensates by naming what is returned (market record, reviewed profile ids, current quote context). Combined with explicit scope limits and the migration path to trade_guard, an agent has enough to call it correctly; only auth and error behavior are unstated.

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% with two enumerated parameters, so the schema already explains venue, market, venues and profile_id. The description only echoes the concepts ('venue constraints', 'market id') without adding format, interaction or conditional rules (e.g. when market vs venues applies). Baseline 3 is appropriate.

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 opens with a specific verb and resource ('Read one reviewed venue market') and enumerates what is returned: pool/market metadata, pinned quote context and venue constraints across four named chains. It also identifies itself as a deprecated alias for trade_guard op "market_quote", so an agent can distinguish it from the sibling that supersedes it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states exactly when to call it ('before preparing or gating a trade when the agent needs the reviewed profile or market id'), when not to ('not as execution authorization', 'not for prices outside the reviewed venues'), and names the preferred alternative (trade_guard with op "market_quote"), including a removal date.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_oracle_healthInspect

Read oracle ecosystem, feed, provider, protocol or asset health. Use it to answer freshness, uptime, latency, anomaly, coverage, peg, exposure, incident and daily-report questions before trusting a price or a protocol. Do not use it for a price quote (get_oracle_price) or for a trade gate (check_trade_safety). Returns the matching health rows, verdicts, counts and timestamps for the selected scope. Deprecated alias: prefer trade_guard with op "oracle_health". Removed on 2027-01-06.

NameRequiredDescriptionDefault
toNoEnd date YYYY-MM-DD
dateNoReport date YYYY-MM-DD
daysNoLookback days for rankings/trends
fromNoStart date YYYY-MM-DD
limitNoMaximum rows
scopeNoWhich health surface to readecosystem
metricNoOptional metric selector; defaults to the scope default
offsetNoPagination offset
periodNoPeriod in hours or days
subjectNoFeed UUID, provider, protocol, or asset symbol depending on scope
categoryNoFeed category filter
chain_idNoChain filter
providerNoProvider filter
is_activeNoFeed active-state filter, default true
min_severityNo
get_oracle_priceInspect

Read the current price one oracle provider reports for one asset. Use it for a single fresh or cached provider read (for example when a route quote needs a reference price). Do not use it for cross-provider consensus, historical series, deviation or risk analytics — use get_price_analytics instead. Returns the price, provider, symbol, chain, confidence/decimals, source timestamp and cache status. Deprecated alias: prefer trade_guard with op "oracle_price". Removed on 2027-01-06.

NameRequiredDescriptionDefault
assetYesAsset symbol, e.g. BTC, ETH
chainNoOptional blockchain filter, e.g. base
providerYesOracle provider, e.g. chainlink, redstone, api3
force_refreshNoBypass cache and re-read upstream
get_price_analyticsAInspect

Run multi-oracle price analytics: consensus across providers, batch reads, historical series, cross-chain spreads, deviation, correlation or a risk summary. Use it when one price is not enough and the caller needs to compare, stress or trend oracle data. Do not use it for a single provider spot read (get_oracle_price) or for feed uptime (get_oracle_health). Returns the requested analysis rows plus provider participation and reference prices. Deprecated alias: prefer trade_guard with op "price_analytics". Removed on 2027-01-06.

NameRequiredDescriptionDefault
toNoEnd date YYYY-MM-DD
fromNoStart date YYYY-MM-DD
modeNoconsensus = cross-provider price, batch = multi-asset, history = time seriesconsensus
chainNoOptional chain-name filter (e.g. "ethereum", "base", "hyperevm"); not a numeric chain id
assetsYesAssets to analyse; consensus/risk/history use the first asset
methodNoConsensus aggregation method
metricNoDeep-analysis metric; overrides mode
intervalNoDeviation interval, default 24h
providerNoProvider for history/spreads
providersNoRequired for metric=risk; otherwise uses the provider default
base_chainNoBase chain name for metric=spreads
period_hoursNoRisk/history hours
force_refreshNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With zero annotations the description carries the full burden, and it does disclose the return shape ("requested analysis rows plus provider participation and reference prices") and lifecycle status (deprecated, removed 2027-01-06). It says nothing about permissions, rate limits, cost, or what happens on partial provider failure, which matters for a fan-out analytics 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?

Front-loaded with the core action and scoping, and the deprecation notice is short and unmissable. The opening enumeration of analysis types partly duplicates the schema's mode and metric enums, so a little of it is redundant rather than additive.

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 13-parameter, multi-mode tool with no output schema, the description covers purpose, routing, return values, and deprecation adequately, with the schema handling parameter detail. The only real gap is failure and permission behavior across multiple providers, which is left entirely implicit.

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 coverage is 92%, so the baseline is 3 and the description does not beat it: it restates mode/metric value families without explaining precedence rules such as metric overriding mode or consensus/risk/history only using the first asset. Those rules live in the schema, so no value is added beyond it.

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?

"Run multi-oracle price analytics" gives a specific verb plus resource, and the following clause enumerates the concrete analysis families (consensus, batch, history, spreads, deviation, correlation, risk). It also names the siblings it is not (get_oracle_price, get_oracle_health), so an agent can route without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit positive condition ("when one price is not enough and the caller needs to compare, stress or trend oracle data") plus explicit exclusions naming the two better-suited siblings. It goes further and names trade_guard with op "price_analytics" as the preferred path, with a hard removal date, which is exactly the routing decision an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

issue_execution_receiptAInspect

Close the loop after an agent executes: issue a signed execution-price receipt from the pre-trade handle plus the settlement transaction, or settle a guarded Base/Solana swap. Use it only after the trade settled. Do not use it before execution and do not treat the verdict as principal authorization. Returns a signed receipt or settlement with FAITHFUL/DEVIATED/NOT_EXECUTED/UNDETERMINED (or settlement status), price delta, binding ids and verify URL. Deprecated alias: prefer trade_proof with op "issue_receipt". Removed on 2027-01-06.

NameRequiredDescriptionDefault
modeYes
receiptNoRequired for mode=receipt; old execution_receipt fields
decisionNoRequired for settle modes; the signed guard decision
signatureNoSolana transaction signature
swap_tx_hashNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does well: it discloses the returned verdict vocabulary (FAITHFUL/DEVIATED/NOT_EXECUTED/UNDETERMINED), price delta, binding ids, and a verify URL, plus a deprecation/removal date. It does not cover authorization requirements, idempotency of re-issuance, or rate limits, which keeps it below a 5.

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?

The core action and the post-settlement precondition are front-loaded, and most sentences carry real information. The deprecation and removal-date sentence plus the return-value enumeration make it dense as a single unbroken block, but little is genuinely 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 five-parameter, mode-switched mutation tool with nested objects and no output schema, the description supplies the return shape and the critical timing constraint that the schema cannot express. Gaps remain around mode selection guidance and any permission prerequisites, but nothing essential for a correct invocation is missing.

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 60%, so the schema already explains the receipt and decision objects and the Solana signature. The description adds conceptual mapping ('pre-trade handle plus the settlement transaction') but never explains the mode enum values or the swap_tx_hash parameter, which has no schema description at all.

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 specific verbs and resources: issuing a signed execution-price receipt from a pre-trade handle plus settlement transaction, and settling a guarded Base/Solana swap. It explicitly distinguishes itself from the sibling trade_proof, calling itself a deprecated alias and pointing to trade_proof with op "issue_receipt", so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit precondition ('Use it only after the trade settled'), an explicit exclusion ('Do not use it before execution'), a semantic caution ('do not treat the verdict as principal authorization'), and a named alternative (trade_proof). All three of when, when-not, and alternatives are present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

oracle_watchInspect

Read one oracle-trust snapshot or historical series for an asset. Use it for a one-off check of whether a symbol is currently trustworthy or how its recent history looks. Do not use it for continuous monitoring — buy a 24h window with oracle_watch_window_begin. Returns the current trust signal (or the requested history series) with provider participation and freshness. Deprecated alias: prefer oracle_watch_window with op "snapshot". Removed on 2027-01-06.

NameRequiredDescriptionDefault
opNosnapshot
daysNo
chainNoChain-name filter (e.g. "ethereum", "base", "hyperevm"); not a numeric chain id
symbolYesAsset symbol to watch
intervalNo
oracle_watch_windowAInspect

Oracle Watch for monitored trust signals. Use it to read one trust snapshot or history series, buy a 24h monitored window, or poll/close an already purchased window. Each call selects the branch with "op": snapshot, history, begin, poll or close. Do not use it for pre-trade safety (use trade_guard op check_safety), do not buy a second window for the same subject, and never reuse a token after close. Returns the trust signal or history series, the windowId plus one-time oww_ token and expiry for begin, and the poll signal or combined close summary for window ops. Absorbs the deprecated names oracle_watch, oracle_watch_window_begin and oracle_watch_window_control. Metering: begin is 500 credits / $0.500 for the 24h window; in-window poll and close are covered (0 credits); snapshot and history are C3 (20 credits / $0.020).

NameRequiredDescriptionDefault
opYes
daysNo
chainNoChain-name filter (e.g. "ethereum", "base", "hyperevm"); not a numeric chain id
symbolNoAsset symbol to watch
intervalNo
window_idNo
window_tokenNoOne-time oww_ token from the purchase

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden and does so: it discloses that the oww_ token is one-time, that tokens are invalid after close, and that begin costs 500 credits / $0.500 while in-window poll and close are free and snapshot/history are 20 credits. It also notes which deprecated tool names are absorbed, which matters for an agent choosing among near-identical siblings.

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?

The purpose and the branching model are front-loaded in the first two sentences, and the prohibitions and metering follow in a logical order. It is dense but nearly every clause carries distinct information; the metering sentence is long but genuinely decision-relevant for a paid call.

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 7-parameter, 5-branch tool with no output schema, the description covers return values per branch (signal/series, windowId plus token and expiry, poll signal or close summary), costs, and token lifecycle. The remaining gap is the un-explained optional parameters (days, interval, window_id) that determine history and window behavior.

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 only 43%, and the description compensates for the hardest part by explaining what each op value means and where windowId and the oww_ token come from. However, it adds no meaning for days, interval, or window_id beyond the schema, leaving several low-coverage parameters undocumented in either place.

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 resource (Oracle Watch trust signals) and enumerates the five branches it multiplexes: snapshot, history, begin, poll, close. It also explicitly distinguishes itself from the sibling trade_guard (op check_safety), so an agent can tell the two apart without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use (read one snapshot or history series, buy a 24h window, poll/close a purchased window) and explicit when-not-to-use (pre-trade safety belongs to trade_guard). It also states two hard constraints: do not buy a second window for the same subject and never reuse a token after close.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

oracle_watch_window_beginAInspect

Buy a 24h Oracle Watch window for one asset and return the one-time control token. Use it when an agent will poll throughout a window instead of paying per snapshot. Do not use it repeatedly for the same window and never share the token. Returns windowId, the oww_ token, the covered expiry and the credits charged. Deprecated alias: prefer oracle_watch_window with op "begin". Removed on 2027-01-06.

NameRequiredDescriptionDefault
chainNoChain-name filter (e.g. "ethereum", "base", "hyperevm"); not a numeric chain id
symbolYesAsset to monitor for the window

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does substantial work: it discloses that the token is one-time and must not be shared, that calling repeatedly for the same window is discouraged, what fields come back (windowId, oww_ token, covered expiry, credits charged), and a removal date. It stops short of stating cost magnitude, auth/permission requirements, or what error occurs on a duplicate begin call.

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?

Four short sentences, front-loaded with the action and its return value, then usage, cautions, and deprecation. No filler and no repetition of schema content; each sentence carries distinct information.

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-parameter, no-output-schema purchase tool, the description covers purpose, when to use, return fields, token hygiene, and lifecycle/deprecation. The remaining gap is that it doesn't quantify charges or describe failure on a repeated call, which matters for a paid mutation with no annotations.

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 parameters (symbol, chain) are already documented, and the description adds only the loose notion of 'one asset' without clarifying symbol format or the chain filter's behavior. Baseline 3 applies when the schema does the heavy lifting.

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 and resource with scope: 'Buy a 24h Oracle Watch window for one asset and return the one-time control token.' It also explicitly contrasts with the per-snapshot sibling (oracle_watch) and names the preferred replacement tool, so an agent can distinguish it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit positive condition ('when an agent will poll throughout a window instead of paying per snapshot'), an explicit exclusion ('Do not use it repeatedly for the same window'), a token-handling caution, and a migration path ('prefer oracle_watch_window with op "begin"'). Alternative selection is fully determined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

oracle_watch_window_controlAInspect

Poll or close an already purchased Oracle Watch window using its one-time oww_ token. Poll returns a fresh signal at zero extra credits; close returns the complete window summary and the final signal. Use it only with a window token from oracle_watch_window_begin. Do not use it for a one-off snapshot (oracle_watch) and never reuse a token after close. Returns the signal (poll) or the combined summary (close). Deprecated alias: prefer oracle_watch_window with op "poll". Removed on 2027-01-06.

NameRequiredDescriptionDefault
opYespoll issues a signal; close returns the summary
window_idYes
window_tokenYesOne-time oww_ token from the purchase

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does substantial work: it discloses the cost profile (poll costs zero extra credits), the differing return shapes for each op, one-time token semantics, and a deprecation timeline with a removal date. It stops short of describing what happens on a rejected or reused token and whether close is idempotent, which are the remaining behavioral gaps.

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?

Front-loaded with the core action and tightly packed with routing, cost, and deprecation facts. The final sentence ('Returns the signal (poll) or the combined summary (close)') largely restates the second sentence, which is the one piece of avoidable redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by explaining what each op returns. Combined with the deprecation warning and preferred replacement, an agent has everything needed to call this correctly and to plan its migration.

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 coverage is 67% and the schema already documents op's two values and the window_token's oww_ prefix. The description adds meaning the schema lacks: the token is one-time, comes from oracle_watch_window_begin, and must not be reused after close. window_id itself is still left to inference, but its meaning is unambiguous from context.

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 specific verbs (poll, close) applied to a specific resource (an already purchased Oracle Watch window) and names the token that scopes the operation. It explicitly differentiates itself from oracle_watch_window_begin (source of the token) and oracle_watch (one-off snapshot), so an agent can select it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use rule ('only with a window token from oracle_watch_window_begin'), an explicit when-not ('Do not use it for a one-off snapshot'), a lifecycle constraint ('never reuse a token after close'), and a preferred alternative (oracle_watch_window with op "poll"). Every routing decision is stated rather than inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

position_lifecycleAInspect

Use it to buy a 24h Position Lifecycle bundle and run the guard, receipt and close steps inside it. Each call selects the branch with "op": begin, guard, receipt or close. Do not use it for a single pre-trade guard (use trade_guard op check_safety), for unrelated positions, or with a token after close. Returns the lifecycleId plus one-time plc_ token and expiry for begin, and the guard verdict, signed execution receipt or combined lifecycle summary for the in-window steps. Absorbs the deprecated names position_lifecycle_begin and position_lifecycle_step.

NameRequiredDescriptionDefault
opYes
chainNoChain-name filter (e.g. "ethereum", "base", "hyperevm"); not a numeric chain id
familyNo
paramsNoNative family guard input (old shape)
symbolNoPosition subject for the lifecycle
receiptNoBundled execution receipt (old shape)
transactionNo
lifecycle_idNo
lifecycle_tokenNoOne-time plc_ token from the purchase

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses the one-time plc_ token and expiry, the per-op return values, the token's invalidation after close, and that it absorbs the deprecated position_lifecycle_begin/position_lifecycle_step names. It stops short of stating cost/payment mechanics or permission requirements for the purchase.

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?

Three sentences, front-loaded with the purpose and branch model, then exclusions, then return values. Dense but nearly every clause carries information; the deprecated-name note is useful but slightly tacked on.

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 9-parameter, multi-branch tool with nested objects and no output schema, the description covers the return values per op and the token lifecycle well. The remaining gap is the undocumented secondary parameters (chain, family, params, receipt, transaction), which an agent would have to infer.

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 coverage is 56%, and the description adds real meaning for 'op' (branch selection) and 'lifecycle_token' (one-time plc_ token from the purchase). However, several parameters — chain, family, params, receipt, transaction — get no explanation in either the description or the schema, leaving a meaningful gap.

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 states a specific verb and resource ('buy a 24h Position Lifecycle bundle and run the guard, receipt and close steps') and enumerates the four branch values of 'op'. It also explicitly distinguishes itself from the sibling trade_guard, so an agent can tell the two apart without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-not guidance: not for a single pre-trade guard (route to trade_guard op check_safety), not for unrelated positions, and not with a token after close. The alternative and the condition that selects it are both named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

position_lifecycle_beginAInspect

Buy a 24h Position Lifecycle bundle for one position subject and return the one-time control token. Use it when an agent needs guard, execution-receipt and close steps inside one prepaid window. Do not use it for a single guard (use check_trade_safety) and never share the token. Returns lifecycleId, the plc_ token, the covered expiry and the credits charged. Deprecated alias: prefer position_lifecycle with op "begin". Removed on 2027-01-06.

NameRequiredDescriptionDefault
chainNoChain-name filter (e.g. "ethereum", "base", "hyperevm"); not a numeric chain id
symbolYesPosition subject for the lifecycle

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does most of it: it discloses the prepaid 24h window, that the control token is one-time and must not be shared, the credit charge, and the exact return fields (lifecycleId, plc_ token, covered expiry). It does not say what happens if a lifecycle already exists for the subject, nor what an insufficient-credit or failure response looks like, which keeps it below a 5.

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?

Four compact sentences, front-loaded with the action and return value, then usage boundaries, then the return contract, then the deprecation notice last. No filler or restatement of the name; the security warning and sunset date each earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Only two simple parameters and no output schema, so the description must supply the return contract itself — which it does (lifecycleId, plc_ token, expiry, credits charged). It also flags the deprecation and removal date, so an agent knows to prefer the newer sibling, leaving nothing essential unstated.

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 parameters are already documented; the description reinforces that symbol identifies the single "position subject" the bundle covers but says nothing about chain (e.g. whether omitting it defaults or errors). Baseline 3 is appropriate when the schema does the explanatory work.

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?

"Buy a 24h Position Lifecycle bundle for one position subject and return the one-time control token" gives a specific verb (buy), a specific resource (lifecycle bundle), its duration and its output. It explicitly contrasts itself with check_trade_safety (single guard) and with position_lifecycle op "begin", so an agent can place it among 20 siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the positive condition (an agent needs guard, execution-receipt and close steps in one prepaid window), the negative condition (not for a single guard → use check_trade_safety), a security rule (never share the token), and a deprecation routing rule (prefer position_lifecycle with op "begin"). Both alternatives and the selection criteria are named explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

position_lifecycle_stepAInspect

Run one step inside a purchased Position Lifecycle bundle: guard (family-specific safety assessment), receipt (signed execution receipt), or close (combined summary). Guard and receipt cost zero extra credits inside the bundle. Returns the step result (guard verdict, signed receipt, or the combined lifecycle summary). Use it only with a lifecycle token from position_lifecycle_begin. Do not use it for unrelated positions and never reuse a token after close. Deprecated alias: prefer position_lifecycle with op "guard". Removed on 2027-01-06.

NameRequiredDescriptionDefault
opYes
familyNo
paramsNoNative family guard input (old shape)
receiptNoBundled execution receipt (old shape)
transactionNo
lifecycle_idYes
lifecycle_tokenYesOne-time plc_ token from the purchase

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden and does well: it discloses credit cost (guard and receipt are free inside the bundle), the one-time nature of the token, the deprecation/removal date, and what each step returns. It stops short of describing failure behavior (expired/invalid token, out-of-order steps) or whether close invalidates the bundle beyond the token-reuse warning.

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?

Front-loads the operation enumeration, then moves through cost, returns, constraints, and deprecation in a logical order with no filler. It is dense with several distinct concerns packed into one paragraph, which slightly reduces scannability but not substance.

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?

No output schema exists, so the description steps in by naming what each op returns (guard verdict, signed receipt, combined summary), and it flags the deprecation and preferred replacement. Given 7 parameters with nested objects, the unexplained family/params/receipt shapes are the main remaining gap.

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 coverage is only 43%, and the description compensates for two parameters well: op values are explained and lifecycle_token's origin is stated. However family, params, receipt, and transaction (including the vague "old shape" hint) get no explanation in the description, leaving half the parameters undocumented in both places.

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 and resource ("Run one step inside a purchased Position Lifecycle bundle") and enumerates the three operations with their meanings: guard, receipt, close. It also distinguishes itself from siblings by naming the deprecated status relative to position_lifecycle and by tying it to position_lifecycle_begin.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit preconditions ("Use it only with a lifecycle token from position_lifecycle_begin"), explicit exclusions ("Do not use it for unrelated positions"), a hard constraint ("never reuse a token after close"), and an alternative ("prefer position_lifecycle with op 'guard'"). This is close to a complete routing decision.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_perp_orderAInspect

Prepare an unsigned perpetual order for one reviewed venue, without signing or submitting it. Venue decides the artifact shape: hyperliquid returns an unsigned exchange order envelope (HyperCore); synthetix-perps-v3-base returns EVM calldata for commitOrder whose acceptablePrice is derived from Insight cross-oracle consensus, not the Synthetix mark price; aster-perps-bnb-mainnet returns a canonical centralized REST order payload (not calldata, and it proves payload binding rather than on-chain execution); solana_drift returns a Borsh instruction payload that the caller must complete with the Drift SDK. The reviewed guard runs inside each adapter, so the result carries the risk verdict reference. Use it when an agent has decided on venue, market, side and size. Do not use it to create a nonce, sign, or submit an order. Returns the shared prepared-execution envelope: state (READY, CAUTION, REQUIRES_COMPLETION, BLOCK or UNAVAILABLE), a payload whose kind is evm-transaction, venue-rest-order, solana-instruction or null, a required validity_anchor (timestamp, EVM block, Solana block height or venue policy), caller requirements and the guard verdict reference. It never returns a uniformly described executable trade package, and a payload that still needs caller completion is never labelled READY. A venue-rest-order payload exposes execution_binding with proves_onchain_execution: false and the signing requirement. Solana message payloads carry transactionHash (sha256 of the exact unsigned bytes, byte binding only, not signature-verifiable) and messageHash (null when the message segment cannot be derived). Deprecated alias: prefer trade_guard with op "prepare_perp_order". Removed on 2027-01-06.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does: it discloses the state enum (READY, CAUTION, REQUIRES_COMPLETION, BLOCK, UNAVAILABLE), that unprepared payloads are never labelled READY, that a venue-rest-order sets proves_onchain_execution: false, the signing requirement, and the limits of transactionHash/messageHash binding. It also reveals that a guard verdict is embedded per adapter, which is exactly the kind of non-obvious behavior an agent cannot infer.

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?

The core contract is front-loaded in the first sentence and every substantive sentence adds a fact an agent needs (per-venue artifact, guard reference, envelope shape, deprecation). It is still a dense single block of long parenthetical clauses, and the defensive line about never returning "a uniformly described executable trade package" could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex four-variant, venue-polymorphic tool with no output schema, and the description still specifies the return envelope, payload kinds, the required validity_anchor, caller requirements and the guard reference. Nothing critical for calling or interpreting the result is missing.

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; the description earns one more by adding meaning the schema does not encode, notably that Synthetix acceptablePrice comes from Insight cross-oracle consensus rather than the mark price, and that the Solana Borsh payload must be completed with the Drift SDK. It does not walk through individual parameter names, which leaves it short of a 5.

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?

"Prepare an unsigned perpetual order for one reviewed venue, without signing or submitting it" names a specific verb (prepare), resource (perpetual order) and explicit boundary (unsigned, not submitted). It then enumerates the four venues and what each returns, which lets an agent distinguish this from siblings like issue_execution_receipt or check_trade_safety without reading any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use it when an agent has decided on venue, market, side and size" gives the precondition, and "Do not use it to create a nonce, sign, or submit an order" gives the exclusions. It also routes to the replacement explicitly (trade_guard with op "prepare_perp_order") and dates the removal, so an agent knows both the trigger and the deprecation path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_swapAInspect

Prepare unsigned, reviewed swap calldata for local signing on Base Aerodrome Slipstream, Base PancakeSwap V3, the Base agent swap guard, or a Solana Loopscale vault deposit. Use it when the user wants an executable transaction bound to a reviewed pool and policy. Do not use it to sign, submit or route arbitrary calldata, and do not skip the matching safety gate. Returns the unsigned transaction envelope (to/value/calldata), reviewed profile, quote and, where supported, a signed decision. Deprecated alias: prefer trade_guard with op "prepare_swap". Removed on 2027-01-06.

NameRequiredDescriptionDefault
vaultNo
venueYesReviewed execution venue
policyNo
walletNo
amount_inYesExact input amount as a decimal string
directionNo
recipientNo
asset_mintNo
input_mintNoSolana base58 mint sold; required for venue=solana_jupiter
profile_idNo
loan_symbolNo
output_mintNoSolana base58 mint bought; required for venue=solana_jupiter
min_lp_amountNo
max_slippage_bpsNo
principal_amountNo
collateral_symbolNo
collateral_value_usdNo
deadline_unix_secondsNo
source_decision_price_usdNo
destination_decision_price_usdNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden well: it discloses that output is unsigned, that signing/submission is out of scope, that a safety gate must be run, and that the tool is deprecated with a removal date. It omits auth/permission requirements and rate limits, keeping it short of a 5.

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?

Front-loaded with purpose, then usage constraints, then return shape, then deprecation. Dense but nearly every clause carries information; the venue enumeration is long but necessary for routing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 20-parameter, no-annotation, no-output-schema tool, the description covers the return envelope and safety-gate requirement but leaves most parameters and venue-specific requirements (e.g. which fields apply to solana_jupiter vs loopscale) unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20% across 20 parameters, and the description adds almost no per-parameter meaning beyond naming venues and mentioning a 'reviewed profile' and 'policy'. Fields like direction, min_lp_amount, principal_amount, collateral_value_usd, and the decision-price fields are left entirely to the schema.

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 and resource ('Prepare unsigned, reviewed swap calldata') and enumerates the exact venues it covers, so an agent can distinguish it from quote or safety-check siblings without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly gives the when ('user wants an executable transaction bound to a reviewed pool and policy'), the when-not ('do not use it to sign, submit or route arbitrary calldata'), and names the preferred alternative (trade_guard with op "prepare_swap").

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_oracle_registryAInspect

Search Insight-reviewed registry and evidence resources: symbols, feeds, protocols, stablecoins, protocol risk parameters, RWA instruments/context, settlement-evidence packs and oracle setup recommendations. Use it to discover the exact ids a price, safety or execution tool expects. Do not use it to read live prices or health. Returns matching registry rows or one lookup record, with ids and reviewed metadata. Deprecated alias: prefer trade_guard with op "search_registry". Removed on 2027-01-06.

NameRequiredDescriptionDefault
kindYesRegistry/evidence family to search
limitNoMaximum rows
queryNoSearch or lookup term (symbol, protocol, slug)
offsetNoPagination offset
categoryNoFeed category filter
chain_idNoChain filter for feeds
is_activeNoFeed active-state filter, default true
verify_onchainNoFor RWA lookups, cross-check on chain

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description still discloses that this is a lookup returning registry rows or a single record with ids and reviewed metadata, which signals a read-only retrieval tool. It also flags deprecation and the sunset date, which is unusually useful context. It stops short of stating read-only guarantees explicitly or describing pagination behavior beyond the offset parameter, and the phrase "Deprecated alias" is slightly ambiguous about whether this tool or trade_guard is the deprecated one.

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?

Front-loaded with the resource scope, then usage, then return shape, then the deprecation note — a sensible ordering with no filler. The deprecation sentence is slightly compressed to the point of ambiguity ("Deprecated alias: prefer trade_guard with op \"search_registry\""), costing a bit of clarity.

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 an 8-parameter, no-output-schema, no-annotation tool, the description covers the essential pieces: what is searched, when to use it, what comes back, and that it is being retired. What is missing is modest — no statement about result volume/paging, whether the deprecated tool behaves identically to trade_guard op search_registry, or any auth/permission expectation.

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 every one of the 8 parameters (kind enum, query, limit, offset, category, chain_id, is_active, verify_onchain) is already documented in the schema. The description adds contextual meaning about the ids the search surfaces but no parameter-level syntax, defaults, or interactions. Baseline 3 is appropriate when the schema does the heavy lifting.

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 (search) plus the exact resource families (symbols, feeds, protocols, stablecoins, protocol risk parameters, RWA instruments/context, settlement-evidence packs, setup recommendations) and explicitly separates itself from price/health siblings. An agent can tell it apart from get_oracle_price, get_oracle_health, and verify_evidence without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a positive use case ("discover the exact ids a price, safety or execution tool expects"), an explicit exclusion ("Do not use it to read live prices or health"), and a named alternative plus deprecation date ("prefer trade_guard with op \"search_registry\"... Removed on 2027-01-06"). This is exactly the when/when-not/alternative triad.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trade_guardAInspect

Use it for every pre-execution trust decision: one oracle price, price analytics, oracle health, oracle registry search, a venue market quote, or the pre-trade safety gate including prepare_swap and prepare_perp_order. Each call selects the branch with "op". Do not use it to prove execution after the fact (use trade_proof), to poll a prepaid monitoring window (use oracle_watch_window), or to manage a position bundle (use position_lifecycle). Returns the op payload: price and analytics rows for read ops, a venue quote for market_quote, a PASS/CAUTION/DANGER/BLOCK verdict with reasons for check_safety, and an unsigned prepared transaction, Solana message, venue order or instruction for prepare_* ops. Absorbs the deprecated names get_oracle_price, get_price_analytics, get_oracle_health, search_oracle_registry, get_market_quote, check_trade_safety, prepare_swap and prepare_perp_order. Metering: oracle_price, market_quote and search_registry are 2 credits ($0.002); price_analytics and oracle_health are 4 credits ($0.004); check_safety, prepare_swap and prepare_perp_order are 40 credits ($0.040), which is both the per-call price and the product ceiling. Deprecated alias spellings are callable at the same price until 2027-01-06.

NameRequiredDescriptionDefault
opYes
toNoEnd date YYYY-MM-DD
dateNoReport date YYYY-MM-DD
daysNoLookback days for rankings/trends
fromNoStart date YYYY-MM-DD
kindNoRegistry/evidence family to search
modeNo
sideNoPerp side
assetNoAsset symbol, e.g. BTC, ETH
chainNoOptional blockchain filter, e.g. base
guardNoExact-call guard input for family-specific exact tools
limitNo
orderNoExact Hyperliquid order envelope
queryNoSearch or lookup term (symbol, protocol, slug)
scopeNoWhich health surface to readecosystem
vaultNo
venueNo
actionNoTrade action being considered
assetsNoAssets to analyse; consensus/risk/history use the first asset
marketNoHyperliquid perp market
methodNoConsensus aggregation method
metricNo
offsetNoPagination offset
periodNoPeriod in hours or days
policyNo
venuesNoBase venue ids to inspect
walletNo
borrowsNo
subjectNoFeed UUID, provider, protocol, or asset symbol depending on scope
categoryNoFeed category filter
chain_idNo
intervalNoDeviation interval, default 24h
positionNoPosition payload for action=check_position
providerNoOracle provider, e.g. chainlink, redstone, api3
amount_inNoExact input amount as a decimal string
directionNo
is_activeNoFeed active-state filter, default true
market_idNoIsolated lending market id when required
providersNo
recipientNo
amount_usdNoTrade size in USD
asset_mintNo
base_chainNoBase chain name for metric=spreads
input_mintNoSolana base58 mint sold; required for venue=solana_jupiter
profile_idNoReviewed pool/profile id. PancakeSwap V3: base-pancakeswap-v3-usdc-usdt-100, bnb-pancakeswap-v3-usdt-usdc-100, bnb-pancakeswap-v3-usdt-wbnb-100
collateralsNo
loan_symbolNo
output_mintNoSolana base58 mint bought; required for venue=solana_jupiter
protocol_idNoLending/protocol id
transactionNoExact unsigned transaction for exact-call guards
margin_assetNo
min_severityNo
period_hoursNoRisk/history hours
borrow_amountNo
borrow_symbolNo
force_refreshNoBypass cache and re-read upstream
min_lp_amountNo
token_addressNo
debt_value_usdNo
decision_inputNoCaller decision/quote evidence (old camelCase shape)
verify_onchainNoFor RWA lookups, cross-check on chain
margin_value_usdNo
max_slippage_bpsNo
principal_amountNo
collateral_amountNo
collateral_symbolNo
destination_assetNoDestination asset for swaps
reputation_opt_inNo
reputation_agent_idNo
collateral_value_usdNo
deadline_unix_secondsNo
source_decision_price_usdNo
destination_decision_price_usdNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and mostly succeeds: it discloses per-op return payloads, the PASS/CAUTION/DANGER/BLOCK verdict shape, the fact that prepare_* returns an unsigned transaction/message/order rather than executing, and per-op credit costs. It does not cover auth requirements, failure behavior of the safety gate, or caching semantics beyond the existence of force_refresh.

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?

Front-loaded with the use case, then exclusions, then returns, then deprecation, then metering — a sensible order with no filler. The opening sentence is dense and the metering sentence is long, but each sentence carries information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 branches and 73 parameters, no annotations, and no output schema, the description is unusually rich on returns, cost, and aliases. The residual gap is the combinatorial parameter space: nothing tells an agent which subset of fields belongs to which op, which is the main way this definition could be misused.

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 coverage is only 53% across 73 parameters, so the description must compensate, and it does so only partially: it explains op semantics, the return per op, and per-op pricing, but never maps parameters to branches (e.g. which fields apply to prepare_perp_order vs check_safety). An agent must infer applicability from parameter names and enum values alone.

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 states a specific role — pre-execution trust decisions — and enumerates every branch it covers (oracle price, analytics, health, registry search, venue quote, safety gate, prepare_swap/prepare_perp_order). It also names the sibling tools it is not (trade_proof, oracle_watch_window, position_lifecycle), so an agent can route without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ("every pre-execution trust decision") paired with three explicit when-not-to-use clauses, each naming the alternative and the condition that selects it. The dispatch rule ("Each call selects the branch with 'op'") closes the remaining loop on invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trade_proofAInspect

Use it to open a trade-evidence session, issue an execution receipt, or verify an evidence artifact after a trade. Each call selects the branch with "op": begin_evidence, issue_receipt or verify_evidence. Do not use it to decide whether a trade is safe before signing (use trade_guard) and do not use it to settle a swap guard (use the venue guard tools). Returns the evidence session handle, the signed receipt, or the verification verdict, digest and matched evidence. Absorbs the deprecated names begin_trade_evidence, issue_execution_receipt and verify_evidence. Metering: begin_evidence and issue_receipt are C4 (40 credits / $0.040); verify_evidence is free for the three offline kinds (execution_pair, base_agent_swap, solana_swap) and C4 for live reads.

NameRequiredDescriptionDefault
opYes
kindNo
modeNo
userNo
assetNoSource asset sold
actionNo
receiptNoRequired for mode=receipt; old execution_receipt fields
chain_idNoExecution chain id. Independent on-chain route quotes are currently available only on Ethereum mainnet (chain_id 1); other chains return [unavailable:unsupported_chain] without billing.
decisionNoRequired for settle modes; the signed guard decision
order_idNo
providersNo
signatureNoSolana transaction signature
amount_usdNo
settlementNo
protocol_idNo
submitted_atNo
swap_tx_hashNo
decision_inputNoRequired quote evidence: {source, destination, routeQuotePrice, routeQuoteObservedAt} (old camelCase shape)
expected_orderNo
max_slippage_bpsNoPre-committed tolerance; fixed at 50
destination_assetNoDestination asset bought
execution_receiptNo
source_group_countNo
pre_trade_attestationNo
destination_pre_trade_attestationNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose return content per branch (session handle, signed receipt, verification verdict plus digest and matched evidence) and the credit cost per op. It does not say whether issue_receipt persists or writes anything durable, what permissions/keys are needed, or whether evidence sessions expire, which are the behavioral facts an agent most needs for a mutating ledger-style tool.

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?

Four sentences, front-loaded with purpose before exclusions, returns and metering, and each sentence contributes new information. The metering sentence is dense but earns its place because cost varies per branch; the deprecated-alias sentence is borderline but useful for routing legacy calls.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, alternatives, returns and pricing for a genuinely complex 25-parameter, three-branch tool with no annotations and no output schema. The remaining gap is significant: an agent cannot tell from the description which parameters are needed for begin_evidence versus issue_receipt versus verify_evidence, and there is nothing about failure modes, expiry, or signing prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Coverage is only 32% across 25 parameters, so the description needed to compensate and largely does not. Its only real parameter value-add is the metering split for kind (three offline kinds free, live reads billed C4); it never maps the many inputs (user, asset, action, providers, amount_usd, settlement, expected_order, decision_input, attestations) to the branch that requires them, and schema-supplied hints like decision being required for settle modes are only partially echoed.

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 concrete verb-and-resource set per branch (open a trade-evidence session, issue an execution receipt, verify an evidence artifact) and ties each to an explicit "op" value. It also states what the tool is NOT for, naming trade_guard and the venue guard tools, so an agent can separate it from siblings without opening the schema.

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?

Explicit exclusions are given (do not use to decide trade safety → trade_guard; do not use to settle a swap guard → venue guard tools), and the phrase "after a trade" frames the timing. What is missing is guidance for choosing among the three ops themselves and which inputs each op requires, so the agent still has to infer branch prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_evidenceAInspect

Verify signed evidence produced by Insight or by an agent: a pre-trade/execution pair, a Base agent-swap settlement, a Solana swap settlement, or one Hyperliquid order/fill record. Use it when a third party needs to check binding and signatures before trusting a claim. Do not use it to re-assess oracle risk or to authorize trading. Returns valid/invalid, the closed-loop or settlement status, binding assertions and machine-readable reasons. Deprecated alias: prefer trade_proof with op "verify_evidence". Removed on 2027-01-06.

NameRequiredDescriptionDefault
kindYes
userNo
order_idNo
settlementNo
submitted_atNo
expected_orderNo
execution_receiptNo
pre_trade_attestationNo
destination_pre_trade_attestationNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden; it does disclose the return payload (valid/invalid, closed-loop or settlement status, binding assertions, machine-readable reasons) and the deprecation timeline. It does not state that the operation is side-effect-free/read-only, nor any auth or rate-limit expectations, which matters for a tool an agent may call repeatedly against third-party claims.

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?

Four dense sentences with the purpose and scope front-loaded, followed by usage boundaries, return shape, and deprecation. Little waste, though the deprecation/migration warning is buried at the end rather than surfaced where an agent would see it first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully summarizes the return values, and it handles migration and non-goals well. However, for a 9-parameter tool with deeply nested payload objects and no schema descriptions, the description leaves an agent unable to assemble correct per-kind inputs, which is a material completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters including four nested free-form objects, so the description must compensate. It only clarifies the `kind` enum by paraphrasing the four artifact types; user, order_id, submitted_at, settlement, expected_order, execution_receipt, pre_trade_attestation and destination_pre_trade_attestation are left entirely unexplained, including which are required per kind.

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 and resource ("Verify signed evidence") and then enumerates the four artifact types it covers (pre-trade/execution pair, Base agent-swap settlement, Solana swap settlement, Hyperliquid order/fill), which map directly to the `kind` enum. This clearly separates it from siblings like check_trade_safety, trade_guard, and get_oracle_health.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit positive trigger ("when a third party needs to check binding and signatures before trusting a claim") and explicit exclusions ("Do not use it to re-assess oracle risk or to authorize trading"), naming the sibling responsibilities it should not absorb. It also routes to the replacement tool trade_proof with the exact op value.

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. 9 tool updates
    • Changedbegin_trade_evidence1 field changed
      • changedInput schema / properties / chain_id / description
        Previous value: -"Execution chain id"New value: +"Execution chain id. Independent on-chain route quotes are currently available only on Ethereum mainnet (chain_id 1); other chains return [unavailable:unsupported_chain] without billing."
    • Changedget_price_analytics2 fields changed
      • changedInput schema / properties / base_chain / description
        Previous value: -"Base chain for metric=spreads"New value: +"Base chain name for metric=spreads"
      • changedInput schema / properties / chain / description
        Previous value: -"Optional chain filter"New value: +"Optional chain-name filter (e.g. \"ethereum\", \"base\", \"hyperevm\"); not a numeric chain id"
    • Changedoracle_watch1 field changed
      • addedInput schema / properties / chain / description
        Added value: +"Chain-name filter (e.g. \"ethereum\", \"base\", \"hyperevm\"); not a numeric chain id"
    • Changedoracle_watch_window1 field changed
      • addedInput schema / properties / chain / description
        Added value: +"Chain-name filter (e.g. \"ethereum\", \"base\", \"hyperevm\"); not a numeric chain id"
    • Changedoracle_watch_window_begin1 field changed
      • addedInput schema / properties / chain / description
        Added value: +"Chain-name filter (e.g. \"ethereum\", \"base\", \"hyperevm\"); not a numeric chain id"
    • Changedposition_lifecycle1 field changed
      • addedInput schema / properties / chain / description
        Added value: +"Chain-name filter (e.g. \"ethereum\", \"base\", \"hyperevm\"); not a numeric chain id"
    • Changedposition_lifecycle_begin1 field changed
      • addedInput schema / properties / chain / description
        Added value: +"Chain-name filter (e.g. \"ethereum\", \"base\", \"hyperevm\"); not a numeric chain id"
    • Changedtrade_guard1 field changed
      • changedInput schema / properties / base_chain / description
        Previous value: -"Base chain for metric=spreads"New value: +"Base chain name for metric=spreads"
    • Changedtrade_proof1 field changed
      • changedInput schema / properties / chain_id / description
        Previous value: -"Execution chain id"New value: +"Execution chain id. Independent on-chain route quotes are currently available only on Ethereum mainnet (chain_id 1); other chains return [unavailable:unsupported_chain] without billing."
  2. 8 tool updates
    • Changedget_market_quote2 fields changed
      • changedInput schema / properties / profile_id / description
        Previous value: -"Reviewed pool/profile id"New value: +"Reviewed pool/profile id. PancakeSwap V3: base-pancakeswap-v3-usdc-usdt-100, bnb-pancakeswap-v3-usdt-usdc-100, bnb-pancakeswap-v3-usdt-wbnb-100"
      • changedInput schema / properties / venue / enum
        Previous value: -[
        -  "base_uniswap_v3",
        -  "base_aerodrome",
        -  "base_pancakeswap_v3",
        -  "base_quickswap_v2",
        -  "base_venue_identity",
        -  "monad_uniswap_v3",
        -  "monad_hanji",
        -  "solana_jupiter",
        -  "hyperliquid_perp"
        -]New value: +[
        +  "base_uniswap_v3",
        +  "base_aerodrome",
        +  "base_pancakeswap_v3",
        +  "bnb_pancakeswap_v3",
        +  "base_quickswap_v2",
        +  "base_venue_identity",
        +  "monad_uniswap_v3",
        +  "monad_hanji",
        +  "solana_jupiter",
        +  "hyperliquid_perp"
        +]
    • Addedoracle_watch_window
    • Addedposition_lifecycle
    • Changedposition_lifecycle_step1 field changed
      • changedInput schema / properties / family / enum
        Previous value: -[
        -  "base_perp",
        -  "hyperliquid_perp",
        -  "base_lending",
        -  "monad_lending",
        -  "multichain_evm_lending",
        -  "solana_lending"
        -]New value: +[
        +  "base_perp",
        +  "bnb_perp",
        +  "hyperliquid_perp",
        +  "solana_perp",
        +  "base_lending",
        +  "monad_lending",
        +  "multichain_evm_lending",
        +  "solana_lending"
        +]
    • Changedprepare_perp_order15 fields changed
      • addedInput schema / oneOf
        Added value: +[
        +  {
        +    "properties": {
        +      "builder_fee": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "client_order_id": {
        +        "pattern": "^0x[0-9a-fA-F]{32}$",
        +        "type": "string"
        +      },
        +      "expires_after_seconds": {
        +        "maximum": 120,
        +        "minimum": 5,
        +        "type": "integer"
        +      },
        +      "limit_price": {
        +        "description": "Exact IOC limit price decimal string",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "market": {
        +        "enum": [
        +          "BTC",
        +          "ETH",
        +          "HYPE"
        +        ],
        +        "type": "string"
        +      },
        +      "max_mark_oracle_deviation_bps": {
        +        "maximum": 10000,
        +        "minimum": 0,
        +        "type": "number"
        +      },
        +      "max_notional_usd": {
        +        "maximum": 1000000000,
        +        "minimum": 1,
        +        "type": "number"
        +      },
        +      "max_price_impact_bps": {
        +        "maximum": 10000,
        +        "minimum": 0,
        +        "type": "number"
        +      },
        +      "reduce_only": {
        +        "type": "boolean"
        +      },
        +      "require_full_fill": {
        +        "type": "boolean"
        +      },
        +      "side": {
        +        "enum": [
        +          "buy",
        +          "sell"
        +        ],
        +        "type": "string"
        +      },
        +      "size": {
        +        "description": "Exact base size decimal string",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "venue": {
        +        "const": "hyperliquid",
        +        "description": "HyperCore perpetual venue",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "venue",
        +      "market",
        +      "side",
        +      "size",
        +      "limit_price",
        +      "reduce_only",
        +      "client_order_id",
        +      "max_notional_usd",
        +      "max_price_impact_bps",
        +      "max_mark_oracle_deviation_bps"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "account_id": {
        +        "anyOf": [
        +          {
        +            "pattern": "^[1-9][0-9]*$",
        +            "type": "string"
        +          },
        +          {
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          }
        +        ]
        +      },
        +      "account_owner": {
        +        "pattern": "^0x[0-9a-fA-F]{40}$",
        +        "type": "string"
        +      },
        +      "leverage": {
        +        "exclusiveMinimum": 0,
        +        "maximum": 100,
        +        "type": "number"
        +      },
        +      "limit_price": {
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "market": {
        +        "enum": [
        +          "BTC",
        +          "ETH",
        +          "SOL",
        +          "XRP",
        +          "DOGE",
        +          "PEPE"
        +        ],
        +        "type": "string"
        +      },
        +      "max_slippage_bps": {
        +        "maximum": 10000,
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "order_type": {
        +        "enum": [
        +          "market",
        +          "limit"
        +        ],
        +        "type": "string"
        +      },
        +      "quantity": {
        +        "description": "Exact base-asset quantity decimal string",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "settlement_strategy_id": {
        +        "const": 0,
        +        "type": "number"
        +      },
        +      "side": {
        +        "description": "buy maps to open_long, sell to open_short",
        +        "enum": [
        +          "buy",
        +          "sell"
        +        ],
        +        "type": "string"
        +      },
        +      "valid_for_seconds": {
        +        "maximum": 120,
        +        "minimum": 5,
        +        "type": "integer"
        +      },
        +      "venue": {
        +        "const": "synthetix-perps-v3-base",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "venue",
        +      "market",
        +      "side",
        +      "quantity",
        +      "leverage",
        +      "max_slippage_bps",
        +      "account_id",
        +      "account_owner"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "client_order_id": {
        +        "pattern": "^[A-Za-z0-9_-]{1,36}$",
        +        "type": "string"
        +      },
        +      "leverage": {
        +        "exclusiveMinimum": 0,
        +        "maximum": 100,
        +        "type": "number"
        +      },
        +      "limit_price": {
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "market": {
        +        "enum": [
        +          "BTC",
        +          "ETH"
        +        ],
        +        "type": "string"
        +      },
        +      "max_slippage_bps": {
        +        "maximum": 10000,
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "order_type": {
        +        "enum": [
        +          "market",
        +          "limit"
        +        ],
        +        "type": "string"
        +      },
        +      "quantity": {
        +        "description": "Exact base-asset quantity decimal string",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "side": {
        +        "description": "buy maps to open_long, sell to open_short",
        +        "enum": [
        +          "buy",
        +          "sell"
        +        ],
        +        "type": "string"
        +      },
        +      "valid_for_seconds": {
        +        "maximum": 120,
        +        "minimum": 5,
        +        "type": "integer"
        +      },
        +      "venue": {
        +        "const": "aster-perps-bnb-mainnet",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "venue",
        +      "market",
        +      "side",
        +      "quantity",
        +      "leverage",
        +      "max_slippage_bps",
        +      "client_order_id"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "expires_after_seconds": {
        +        "maximum": 300,
        +        "minimum": 1,
        +        "type": "integer"
        +      },
        +      "margin_value_usd": {
        +        "exclusiveMinimum": 0,
        +        "type": "number"
        +      },
        +      "market": {
        +        "enum": [
        +          "SOL",
        +          "BTC",
        +          "ETH"
        +        ],
        +        "type": "string"
        +      },
        +      "side": {
        +        "description": "buy maps to open_long, sell to open_short",
        +        "enum": [
        +          "buy",
        +          "sell"
        +        ],
        +        "type": "string"
        +      },
        +      "size_base": {
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "size_usd": {
        +        "exclusiveMinimum": 0,
        +        "type": "number"
        +      },
        +      "user_index": {
        +        "maximum": 65535,
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "venue": {
        +        "const": "solana_drift",
        +        "type": "string"
        +      },
        +      "wallet": {
        +        "description": "Drift order authority / fee payer",
        +        "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "venue",
        +      "market",
        +      "side",
        +      "size_usd",
        +      "margin_value_usd",
        +      "wallet"
        +    ],
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / builder_fee
        Removed value: -{
        -  "additionalProperties": {},
        -  "propertyNames": {
        -    "type": "string"
        -  },
        -  "type": "object"
        -}
      • removedInput schema / properties / client_order_id
        Removed value: -{
        -  "pattern": "^0x[0-9a-fA-F]{32}$",
        -  "type": "string"
        -}
      • removedInput schema / properties / expires_after_seconds
        Removed value: -{
        -  "maximum": 120,
        -  "minimum": 5,
        -  "type": "integer"
        -}
      • removedInput schema / properties / limit_price
        Removed value: -{
        -  "description": "Exact IOC limit price decimal string",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / market
        Removed value: -{
        -  "enum": [
        -    "BTC",
        -    "ETH",
        -    "HYPE"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / max_mark_oracle_deviation_bps
        Removed value: -{
        -  "maximum": 10000,
        -  "minimum": 0,
        -  "type": "number"
        -}
      • removedInput schema / properties / max_notional_usd
        Removed value: -{
        -  "maximum": 1000000000,
        -  "minimum": 1,
        -  "type": "number"
        -}
      • removedInput schema / properties / max_price_impact_bps
        Removed value: -{
        -  "maximum": 10000,
        -  "minimum": 0,
        -  "type": "number"
        -}
      • removedInput schema / properties / reduce_only
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / require_full_fill
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedInput schema / properties / side
        Removed value: -{
        -  "enum": [
        -    "buy",
        -    "sell"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / size
        Removed value: -{
        -  "description": "Exact base size decimal string",
        -  "minLength": 1,
        -  "type": "string"
        -}
      • removedInput schema / properties / venue
        Removed value: -{
        -  "const": "hyperliquid",
        -  "description": "Only reviewed perp venue",
        -  "type": "string"
        -}
      • removedInput schema / required
        Removed value: -[
        -  "venue",
        -  "market",
        -  "side",
        -  "size",
        -  "limit_price",
        -  "reduce_only",
        -  "client_order_id",
        -  "max_notional_usd",
        -  "max_price_impact_bps",
        -  "max_mark_oracle_deviation_bps"
        -]
    • Changedprepare_swap3 fields changed
      • addedInput schema / properties / input_mint
        Added value: +{
        +  "description": "Solana base58 mint sold; required for venue=solana_jupiter",
        +  "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / output_mint
        Added value: +{
        +  "description": "Solana base58 mint bought; required for venue=solana_jupiter",
        +  "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
        +  "type": "string"
        +}
      • changedInput schema / properties / venue / enum
        Previous value: -[
        -  "base_aerodrome_slipstream",
        -  "base_pancakeswap_v3",
        -  "base_agent_swap",
        -  "solana_loopscale_vault"
        -]New value: +[
        +  "base_aerodrome_slipstream",
        +  "base_pancakeswap_v3",
        +  "bnb_pancakeswap_v3",
        +  "base_agent_swap",
        +  "solana_loopscale_vault",
        +  "solana_jupiter"
        +]
    • Addedtrade_guard
    • Addedtrade_proof
  3. 92 tool updates
    • Removedagent_begin_trade
    • Removedassess_rwa_evidence
    • Removedbase_lending_guard
    • Removedbase_lending_guard_exact_call
    • Removedbase_perp_guard
    • Removedbase_perp_guard_exact_call
    • Addedbegin_trade_evidence
    • Removedcheck_liquidation_risk
    • Removedcheck_position_safety
    • Addedcheck_trade_safety
    • Removedcompare_oracle_deviation
    • Removedexecution_preflight
    • Removedexecution_receipt
    • Removedget_aerodrome_slipstream_market
    • Removedget_anomalies
    • Removedget_base_dex_market
    • Removedget_base_dex_venue_integrations
    • Removedget_consensus_price
    • Removedget_correlation
    • Removedget_coverage
    • Removedget_cross_chain_spreads
    • Removedget_daily_report
    • Removedget_feed_freshness
    • Removedget_feed_health
    • Removedget_feed_uptime
    • Removedget_feeds
    • Removedget_hanji_monad_market
    • Removedget_hyperliquid_perp_market
    • Removedget_incidents
    • Removedget_latency
    • Addedget_market_quote
    • Removedget_metrics
    • Removedget_monad_dex_market
    • Changedget_oracle_health16 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / category
        Added value: +{
        +  "description": "Feed category filter",
        +  "enum": [
        +    "crypto",
        +    "stablecoin",
        +    "forex",
        +    "commodity",
        +    "wrapped",
        +    "lst"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / chain_id
        Added value: +{
        +  "description": "Chain filter",
        +  "maximum": 9007199254740991,
        +  "minimum": -9007199254740991,
        +  "type": "integer"
        +}
      • changedInput schema / properties / date / description
        Previous value: -"Date in YYYY-MM-DD format, defaults to today"New value: +"Report date YYYY-MM-DD"
      • addedInput schema / properties / days
        Added value: +{
        +  "description": "Lookback days for rankings/trends",
        +  "maximum": 365,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / from
        Added value: +{
        +  "description": "Start date YYYY-MM-DD",
        +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / is_active
        Added value: +{
        +  "description": "Feed active-state filter, default true",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Maximum rows",
        +  "maximum": 500,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / metric
        Added value: +{
        +  "description": "Optional metric selector; defaults to the scope default",
        +  "enum": [
        +    "health",
        +    "uptime",
        +    "exposure",
        +    "peg",
        +    "latency",
        +    "anomalies",
        +    "coverage",
        +    "counts",
        +    "report"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / min_severity
        Added value: +{
        +  "enum": [
        +    "low",
        +    "medium",
        +    "high",
        +    "critical"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "Pagination offset",
        +  "maximum": 9007199254740991,
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedInput schema / properties / period
        Added value: +{
        +  "description": "Period in hours or days",
        +  "maximum": 8760,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / provider
        Added value: +{
        +  "description": "Provider filter",
        +  "type": "string"
        +}
      • addedInput schema / properties / scope
        Added value: +{
        +  "default": "ecosystem",
        +  "description": "Which health surface to read",
        +  "enum": [
        +    "ecosystem",
        +    "feeds",
        +    "feed",
        +    "providers",
        +    "provider",
        +    "protocol",
        +    "asset",
        +    "incidents"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / subject
        Added value: +{
        +  "description": "Feed UUID, provider, protocol, or asset symbol depending on scope",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / to
        Added value: +{
        +  "description": "End date YYYY-MM-DD",
        +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
        +  "type": "string"
        +}
    • Changedget_oracle_price10 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • addedInput schema / properties / asset
        Added value: +{
        +  "description": "Asset symbol, e.g. BTC, ETH",
        +  "maxLength": 20,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • changedInput schema / properties / chain / description
        Previous value: -"Optional blockchain, e.g. ethereum, arbitrum, base"New value: +"Optional blockchain filter, e.g. base"
      • removedInput schema / properties / chain / enum
        Removed value: -[
        -  "ethereum",
        -  "arbitrum",
        -  "optimism",
        -  "polygon",
        -  "solana",
        -  "avalanche",
        -  "fantom",
        -  "cronos",
        -  "juno",
        -  "cosmos",
        -  "osmosis",
        -  "bnb-chain",
        -  "base",
        -  "scroll",
        -  "zksync",
        -  "aptos",
        -  "sui",
        -  "gnosis",
        -  "mantle",
        -  "linea",
        -  "celestia",
        -  "injective",
        -  "sei",
        -  "tron",
        -  "ton",
        -  "near",
        -  "aurora",
        -  "celo",
        -  "starknet",
        -  "blast",
        -  "cardano",
        -  "polkadot",
        -  "kava",
        -  "moonbeam",
        -  "moonriver",
        -  "metis",
        -  "starkex",
        -  "stellar",
        -  "flare",
        -  "supra-chain",
        -  "bandchain",
        -  "monad"
        -]
      • removedInput schema / properties / forceRefresh
        Removed value: -{
        -  "description": "Force refresh from upstream instead of cache",
        -  "type": "boolean"
        -}
      • addedInput schema / properties / force_refresh
        Added value: +{
        +  "description": "Bypass cache and re-read upstream",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / provider / description
        Previous value: -"Oracle provider name, e.g. chainlink, redstone, api3"New value: +"Oracle provider, e.g. chainlink, redstone, api3"
      • removedInput schema / properties / provider / enum
        Removed value: -[
        -  "chainlink",
        -  "pyth",
        -  "stork",
        -  "chronicle",
        -  "api3",
        -  "redstone",
        -  "dia",
        -  "winklink",
        -  "supra",
        -  "twap",
        -  "reflector",
        -  "flare",
        -  "band"
        -]
      • removedInput schema / properties / symbol
        Removed value: -{
        -  "description": "Asset symbol, e.g. BTC, ETH, BTC/USD",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "provider",
        -  "symbol"
        -]New value: +[
        +  "provider",
        +  "asset"
        +]
    • Removedget_oracle_prices_batch
    • Removedget_pancakeswap_v3_market
    • Addedget_price_analytics
    • Removedget_price_history
    • Removedget_protocol_oracle_exposure
    • Removedget_protocol_risk_params
    • Removedget_protocols
    • Removedget_provider_reputation
    • Removedget_quickswap_v2_market
    • Removedget_reputation_rankings
    • Removedget_risk_summary
    • Removedget_robinhood_rwa_context
    • Removedget_robinhood_rwa_instrument
    • Removedget_settlement_evidence
    • Removedget_solana_dex_route
    • Removedget_stablecoin_list
    • Removedget_stablecoin_peg
    • Removedget_symbols
    • Removedget_wrapped_asset_peg
    • Removedhyperliquid_perp_guard
    • Removedhyperliquid_perp_guard_exact_call
    • Addedissue_execution_receipt
    • Removedloopscale_vault_deposit
    • Removedmonad_lending_guard
    • Removedmonad_lending_guard_exact_call
    • Removedmultichain_evm_lending_guard
    • Removedmultichain_evm_lending_guard_exact_call
    • Changedoracle_watch9 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • removedInput schema / properties / chain / description
        Removed value: -"Optional blockchain filter"
      • removedInput schema / properties / chain / enum
        Removed value: -[
        -  "ethereum",
        -  "arbitrum",
        -  "optimism",
        -  "polygon",
        -  "solana",
        -  "avalanche",
        -  "fantom",
        -  "cronos",
        -  "juno",
        -  "cosmos",
        -  "osmosis",
        -  "bnb-chain",
        -  "base",
        -  "scroll",
        -  "zksync",
        -  "aptos",
        -  "sui",
        -  "gnosis",
        -  "mantle",
        -  "linea",
        -  "celestia",
        -  "injective",
        -  "sei",
        -  "tron",
        -  "ton",
        -  "near",
        -  "aurora",
        -  "celo",
        -  "starknet",
        -  "blast",
        -  "cardano",
        -  "polkadot",
        -  "kava",
        -  "moonbeam",
        -  "moonriver",
        -  "metis",
        -  "starkex",
        -  "stellar",
        -  "flare",
        -  "supra-chain",
        -  "bandchain",
        -  "monad"
        -]
      • addedInput schema / properties / days
        Added value: +{
        +  "maximum": 90,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / interval
        Added value: +{
        +  "enum": [
        +    "30min",
        +    "hourly",
        +    "daily"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / op
        Added value: +{
        +  "default": "snapshot",
        +  "enum": [
        +    "snapshot",
        +    "history"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / symbol / description
        Previous value: -"Asset symbol, e.g. BTC, ETH"New value: +"Asset symbol to watch"
      • addedInput schema / properties / symbol / maxLength
        Added value: +20
      • addedInput schema / properties / symbol / minLength
        Added value: +1
    • Removedoracle_watch_history
    • Changedoracle_watch_window_begin6 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • removedInput schema / properties / chain / description
        Removed value: -"Optional chain scope fixed for the coverage"
      • removedInput schema / properties / chain / enum
        Removed value: -[
        -  "ethereum",
        -  "arbitrum",
        -  "optimism",
        -  "polygon",
        -  "solana",
        -  "avalanche",
        -  "fantom",
        -  "cronos",
        -  "juno",
        -  "cosmos",
        -  "osmosis",
        -  "bnb-chain",
        -  "base",
        -  "scroll",
        -  "zksync",
        -  "aptos",
        -  "sui",
        -  "gnosis",
        -  "mantle",
        -  "linea",
        -  "celestia",
        -  "injective",
        -  "sei",
        -  "tron",
        -  "ton",
        -  "near",
        -  "aurora",
        -  "celo",
        -  "starknet",
        -  "blast",
        -  "cardano",
        -  "polkadot",
        -  "kava",
        -  "moonbeam",
        -  "moonriver",
        -  "metis",
        -  "starkex",
        -  "stellar",
        -  "flare",
        -  "supra-chain",
        -  "bandchain",
        -  "monad"
        -]
      • changedInput schema / properties / symbol / description
        Previous value: -"Asset monitored for the whole coverage, e.g. ETH"New value: +"Asset to monitor for the window"
      • addedInput schema / properties / symbol / maxLength
        Added value: +20
      • addedInput schema / properties / symbol / minLength
        Added value: +1
    • Removedoracle_watch_window_close
    • Addedoracle_watch_window_control
    • Removedoracle_watch_window_poll
    • Changedposition_lifecycle_begin6 fields changed
      • removedInput schema / additionalProperties
        Removed value: -false
      • removedInput schema / properties / chain / description
        Removed value: -"Optional chain scope fixed for the coverage"
      • removedInput schema / properties / chain / enum
        Removed value: -[
        -  "ethereum",
        -  "arbitrum",
        -  "optimism",
        -  "polygon",
        -  "solana",
        -  "avalanche",
        -  "fantom",
        -  "cronos",
        -  "juno",
        -  "cosmos",
        -  "osmosis",
        -  "bnb-chain",
        -  "base",
        -  "scroll",
        -  "zksync",
        -  "aptos",
        -  "sui",
        -  "gnosis",
        -  "mantle",
        -  "linea",
        -  "celestia",
        -  "injective",
        -  "sei",
        -  "tron",
        -  "ton",
        -  "near",
        -  "aurora",
        -  "celo",
        -  "starknet",
        -  "blast",
        -  "cardano",
        -  "polkadot",
        -  "kava",
        -  "moonbeam",
        -  "moonriver",
        -  "metis",
        -  "starkex",
        -  "stellar",
        -  "flare",
        -  "supra-chain",
        -  "bandchain",
        -  "monad"
        -]
      • changedInput schema / properties / symbol / description
        Previous value: -"Asset monitored for the whole coverage, e.g. ETH"New value: +"Position subject for the lifecycle"
      • addedInput schema / properties / symbol / maxLength
        Added value: +20
      • addedInput schema / properties / symbol / minLength
        Added value: +1
    • Removedposition_lifecycle_close
    • Removedposition_lifecycle_guard
    • Removedposition_lifecycle_receipt
    • Addedposition_lifecycle_step
    • Removedpre_trade_safety_check
    • Removedprepare_aerodrome_slipstream_swap
    • Removedprepare_base_agent_swap_guard
    • Removedprepare_hyperliquid_perp_order
    • Removedprepare_pancakeswap_v3_swap
    • Addedprepare_perp_order
    • Addedprepare_swap
    • Removedrecommend_oracle_setup
    • Addedsearch_oracle_registry
    • Removedsettle_base_agent_swap_guard
    • Removedsettle_solana_swap_guard
    • Removedsolana_lending_guard
    • Removedsolana_perp_guard
    • Removedsolana_swap_guard
    • Removedverify_base_agent_swap_guard_settlement
    • Addedverify_evidence
    • Removedverify_execution_pair
    • Removedverify_hyperliquid_perp_execution
    • Removedverify_solana_swap_guard_settlement
  4. 3 tool updates
    • Changedget_pancakeswap_v3_market1 field changed
      • changedInput schema / properties / profileId / enum
        Previous value: -[
        -  "base-pancakeswap-v3-usdc-usdt-100",
        -  "bnb-pancakeswap-v3-usdt-usdc-100",
        -  "bnb-pancakeswap-v3-usdt-wbnb-100"
        -]New value: +[
        +  "base-pancakeswap-v3-usdc-usdt-100",
        +  "bnb-pancakeswap-v3-usdt-usdc-100",
        +  "bnb-pancakeswap-v3-usdt-wbnb-100",
        +  "monad-pancakeswap-v3-wmon-usdc-500"
        +]
    • Changedprepare_base_agent_swap_guard1 field changed
      • changedInput schema / properties / profileId / enum
        Previous value: -[
        -  "base-aerodrome-slipstream-weth-usdc-cl100",
        -  "base-aerodrome-slipstream-usdc-usdt-cl1",
        -  "base-pancakeswap-v3-usdc-usdt-100",
        -  "bnb-pancakeswap-v3-usdt-usdc-100",
        -  "bnb-pancakeswap-v3-usdt-wbnb-100"
        -]New value: +[
        +  "base-aerodrome-slipstream-weth-usdc-cl100",
        +  "base-aerodrome-slipstream-usdc-usdt-cl1",
        +  "base-pancakeswap-v3-usdc-usdt-100",
        +  "bnb-pancakeswap-v3-usdt-usdc-100",
        +  "bnb-pancakeswap-v3-usdt-wbnb-100",
        +  "monad-pancakeswap-v3-wmon-usdc-500"
        +]
    • Changedprepare_pancakeswap_v3_swap1 field changed
      • changedInput schema / properties / profileId / enum
        Previous value: -[
        -  "base-pancakeswap-v3-usdc-usdt-100",
        -  "bnb-pancakeswap-v3-usdt-usdc-100",
        -  "bnb-pancakeswap-v3-usdt-wbnb-100"
        -]New value: +[
        +  "base-pancakeswap-v3-usdc-usdt-100",
        +  "bnb-pancakeswap-v3-usdt-usdc-100",
        +  "bnb-pancakeswap-v3-usdt-wbnb-100",
        +  "monad-pancakeswap-v3-wmon-usdc-500"
        +]
  5. 1 tool update
    • Changedsolana_swap_guard2 fields changed
      • changedInput schema / properties / guard / properties / direction / enum
        Previous value: -[
        -  "usdc-to-usdt",
        -  "usdt-to-usdc"
        -]New value: +[
        +  "usdc-to-usdt",
        +  "usdt-to-usdc",
        +  "usdc-to-sol",
        +  "sol-to-usdc"
        +]
      • changedInput schema / properties / guard / properties / profileId / enum
        Previous value: -[
        -  "solana-orca-whirlpool-usdc-usdt-1"
        -]New value: +[
        +  "solana-orca-whirlpool-usdc-usdt-1",
        +  "solana-orca-whirlpool-sol-usdc-1"
        +]
  6. 1 tool update
    • Addedsolana_perp_guard
  7. 1 tool update
    • Addedget_settlement_evidence
  8. 10 tool updates
    • Changedget_pancakeswap_v3_market1 field changed
      • changedInput schema / properties / profileId / enum
        Previous value: -[
        -  "base-pancakeswap-v3-usdc-usdt-100",
        -  "bnb-pancakeswap-v3-usdt-usdc-100"
        -]New value: +[
        +  "base-pancakeswap-v3-usdc-usdt-100",
        +  "bnb-pancakeswap-v3-usdt-usdc-100",
        +  "bnb-pancakeswap-v3-usdt-wbnb-100"
        +]
    • Addedoracle_watch_window_begin
    • Addedoracle_watch_window_close
    • Addedoracle_watch_window_poll
    • Addedposition_lifecycle_begin
    • Addedposition_lifecycle_close
    • Addedposition_lifecycle_guard
    • Addedposition_lifecycle_receipt
    • Changedprepare_base_agent_swap_guard1 field changed
      • changedInput schema / properties / profileId / enum
        Previous value: -[
        -  "base-aerodrome-slipstream-weth-usdc-cl100",
        -  "base-aerodrome-slipstream-usdc-usdt-cl1",
        -  "base-pancakeswap-v3-usdc-usdt-100",
        -  "bnb-pancakeswap-v3-usdt-usdc-100"
        -]New value: +[
        +  "base-aerodrome-slipstream-weth-usdc-cl100",
        +  "base-aerodrome-slipstream-usdc-usdt-cl1",
        +  "base-pancakeswap-v3-usdc-usdt-100",
        +  "bnb-pancakeswap-v3-usdt-usdc-100",
        +  "bnb-pancakeswap-v3-usdt-wbnb-100"
        +]
    • Changedprepare_pancakeswap_v3_swap1 field changed
      • changedInput schema / properties / profileId / enum
        Previous value: -[
        -  "base-pancakeswap-v3-usdc-usdt-100",
        -  "bnb-pancakeswap-v3-usdt-usdc-100"
        -]New value: +[
        +  "base-pancakeswap-v3-usdc-usdt-100",
        +  "bnb-pancakeswap-v3-usdt-usdc-100",
        +  "bnb-pancakeswap-v3-usdt-wbnb-100"
        +]
  9. 3 tool updates
    • Addedsettle_solana_swap_guard
    • Addedsolana_swap_guard
    • Addedverify_solana_swap_guard_settlement
  10. 3 tool updates
    • Changedget_pancakeswap_v3_market2 fields changed
      • changedInput schema / properties / profileId / description
        Previous value: -"Reviewed PancakeSwap V3 pool id; defaults to Base USDC/USDT 0.01%"New value: +"Reviewed PancakeSwap V3 pool id (Base or BNB Smart Chain); defaults to Base USDC/USDT 0.01%"
      • changedInput schema / properties / profileId / enum
        Previous value: -[
        -  "base-pancakeswap-v3-usdc-usdt-100"
        -]New value: +[
        +  "base-pancakeswap-v3-usdc-usdt-100",
        +  "bnb-pancakeswap-v3-usdt-usdc-100"
        +]
    • Changedprepare_base_agent_swap_guard1 field changed
      • changedInput schema / properties / profileId / enum
        Previous value: -[
        -  "base-aerodrome-slipstream-weth-usdc-cl100",
        -  "base-aerodrome-slipstream-usdc-usdt-cl1",
        -  "base-pancakeswap-v3-usdc-usdt-100"
        -]New value: +[
        +  "base-aerodrome-slipstream-weth-usdc-cl100",
        +  "base-aerodrome-slipstream-usdc-usdt-cl1",
        +  "base-pancakeswap-v3-usdc-usdt-100",
        +  "bnb-pancakeswap-v3-usdt-usdc-100"
        +]
    • Changedprepare_pancakeswap_v3_swap3 fields changed
      • changedInput schema / properties / direction / description
        Previous value: -"Quote direction inside the reviewed pool: token0→token1 (USDC→USDT) or the reverse (USDT→USDC). Defaults to token0→token1."New value: +"Quote direction inside the reviewed pool, stated in its token0/token1 order (e.g. Base USDC/USDT: USDC→USDT; BNB USDT/USDC: USDT→USDC) or the reverse. Defaults to token0→token1."
      • changedInput schema / properties / profileId / description
        Previous value: -"Reviewed PancakeSwap V3 pool id; defaults to Base USDC/USDT 0.01%"New value: +"Reviewed PancakeSwap V3 pool id (Base or BNB Smart Chain); defaults to Base USDC/USDT 0.01%"
      • changedInput schema / properties / profileId / enum
        Previous value: -[
        -  "base-pancakeswap-v3-usdc-usdt-100"
        -]New value: +[
        +  "base-pancakeswap-v3-usdc-usdt-100",
        +  "bnb-pancakeswap-v3-usdt-usdc-100"
        +]
  11. 2 tool updates
    • Addedhyperliquid_perp_guard
    • Addedhyperliquid_perp_guard_exact_call
  12. 2 tool updates
    • Addedsettle_base_agent_swap_guard
    • Addedverify_base_agent_swap_guard_settlement
  13. 7 tool updates
    • Addedbase_perp_guard
    • Addedbase_perp_guard_exact_call
    • Changedexecution_preflight3 fields changed
      • changedInput schema / properties / decisionInput / properties / reviewedAerodromeSlipstream / description
        Previous value: -"Optional strict reviewed-pool lane. Only WETH/USDC on Base through the reviewed Aerodrome Slipstream CL100 pool is admitted; unsupported routes fail closed."New value: +"Optional strict reviewed-pool lane. Admits Base WETH↔USDC through the Aerodrome Slipstream CL100 pool and Base USDC↔USDT through the CL1 stable pool, both directions; unsupported routes fail closed."
      • changedInput schema / properties / decisionInput / properties / reviewedAerodromeSlipstream / properties / amountIn / description
        Previous value: -"Exact WETH amount for the reviewed Base Aerodrome Slipstream WETH/USDC CL100 quote"New value: +"Exact input amount for the reviewed Base Aerodrome Slipstream quote (WETH/USDC CL100 or USDC/USDT CL1, both directions)"
      • changedInput schema / properties / decisionInput / properties / reviewedUniswapV3 / description
        Previous value: -"Optional strict reviewed-pool lane. Admits Monad MON/WMON→USDC and Base ETH/WETH→USDC through Uniswap V3, plus Base USDC→USDT through PancakeSwap V3; only the reviewed forward directions are admitted and all other routes fail closed."New value: +"Optional strict reviewed-pool lane. Admits Monad MON/WMON→USDC and Base ETH/WETH→USDC through Uniswap V3, Base USDC↔USDT through PancakeSwap V3, and Base USDC↔USDT through the reviewed Uniswap V3 0.05% pool; other routes fail closed."
    • Changedget_aerodrome_slipstream_market1 field changed
      • changedInput schema / properties / profileId / enum
        Previous value: -[
        -  "base-aerodrome-slipstream-weth-usdc-cl100"
        -]New value: +[
        +  "base-aerodrome-slipstream-weth-usdc-cl100",
        +  "base-aerodrome-slipstream-usdc-usdt-cl1"
        +]
    • Changedprepare_aerodrome_slipstream_swap5 fields changed
      • changedInput schema / properties / amountIn / description
        Previous value: -"Exact WETH input amount; the tool never handles native ETH"New value: +"Exact input amount of the direction input token; the tool never handles native ETH"
      • addedInput schema / properties / direction
        Added value: +{
        +  "description": "Quote direction inside the reviewed pool: token0→token1 (e.g. WETH→USDC, USDC→USDT) or the reverse (USDC→WETH, USDT→USDC). Defaults to token0→token1.",
        +  "enum": [
        +    "token0-to-token1",
        +    "token1-to-token0"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / profileId / enum
        Previous value: -[
        -  "base-aerodrome-slipstream-weth-usdc-cl100"
        -]New value: +[
        +  "base-aerodrome-slipstream-weth-usdc-cl100",
        +  "base-aerodrome-slipstream-usdc-usdt-cl1"
        +]
      • changedInput schema / properties / recipient / description
        Previous value: -"USDC recipient encoded into the unsigned router transaction"New value: +"Output-token recipient encoded into the unsigned router transaction"
      • changedInput schema / required
        Previous value: -[
        -  "amountIn",
        -  "recipient",
        -  "deadlineUnixSeconds",
        -  "maxSlippageBps"
        -]New value: +[
        +  "direction",
        +  "amountIn",
        +  "recipient",
        +  "deadlineUnixSeconds",
        +  "maxSlippageBps"
        +]
    • Changedprepare_base_agent_swap_guard3 fields changed
      • addedInput schema / properties / direction
        Added value: +{
        +  "default": "token0-to-token1",
        +  "enum": [
        +    "token0-to-token1",
        +    "token1-to-token0"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / profileId / enum
        Previous value: -[
        -  "base-aerodrome-slipstream-weth-usdc-cl100",
        -  "base-pancakeswap-v3-usdc-usdt-100"
        -]New value: +[
        +  "base-aerodrome-slipstream-weth-usdc-cl100",
        +  "base-aerodrome-slipstream-usdc-usdt-cl1",
        +  "base-pancakeswap-v3-usdc-usdt-100"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "profileId",
        -  "amountIn",
        -  "recipient",
        -  "deadlineUnixSeconds",
        -  "sourceDecisionPriceUsd",
        -  "destinationDecisionPriceUsd",
        -  "policy"
        -]New value: +[
        +  "profileId",
        +  "direction",
        +  "amountIn",
        +  "recipient",
        +  "deadlineUnixSeconds",
        +  "sourceDecisionPriceUsd",
        +  "destinationDecisionPriceUsd",
        +  "policy"
        +]
    • Changedprepare_pancakeswap_v3_swap4 fields changed
      • changedInput schema / properties / amountIn / description
        Previous value: -"Exact USDC input amount; the tool never handles native ETH or reverse direction"New value: +"Exact input amount of the direction input token; the tool never handles native ETH"
      • addedInput schema / properties / direction
        Added value: +{
        +  "description": "Quote direction inside the reviewed pool: token0→token1 (USDC→USDT) or the reverse (USDT→USDC). Defaults to token0→token1.",
        +  "enum": [
        +    "token0-to-token1",
        +    "token1-to-token0"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / recipient / description
        Previous value: -"USDT recipient"New value: +"Output-token recipient"
      • changedInput schema / required
        Previous value: -[
        -  "amountIn",
        -  "recipient",
        -  "deadlineUnixSeconds",
        -  "maxSlippageBps"
        -]New value: +[
        +  "direction",
        +  "amountIn",
        +  "recipient",
        +  "deadlineUnixSeconds",
        +  "maxSlippageBps"
        +]

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources