Skip to main content
Glama

Server Details

Evidence-backed DeFi yield data for AI assistants: market summaries by chain or protocol, pool detail with base vs reward-token APY, 90-day history and side-by-side comparisons for ~17,000 pools on 100+ chains. Every number dated; unknowns stay unknown. Read-only: no wallets, signing or transactions. No sign-in needed. Docs: https://web3juice.com/mcp

Ownership verified
Status
Healthy
Uptime
95.9% over 20 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4/5.0

Scored across 14 tools

Disambiguation5/5

The tools are highly distinct, each targeting a specific resource like pools, alerts, or wallets, and using clear actions like 'get', 'list', or 'search'.

Naming Consistency5/5

The naming convention follows a highly consistent and readable snake_case pattern (e.g., get_pool, list_alerts, compare_pools).

Tool Count5/5

With 14 tools, the count is perfectly scoped for a complex data monitoring server, ensuring no redundancy or unnecessary sprawl.

Completeness5/5

The surface provides comprehensive coverage for the entire user journey: discovery (search), detailed analysis (get_pool, compare), and tracking user assets/notes (wallets, notebooks, alerts).

Available Tools

14 tools
compare_poolsCompare pools side by sideA
Read-onlyIdempotent
Inspect

Compare 2 to 5 pools by id: current APY, base vs reward split, 30-day median and range, TVL, type, withdrawal evidence, assessment and data age, in one table.

NameRequiredDescriptionDefault
poolIdsYes2 to 5 exact pool ids, e.g. "pool:<id>" or "vault:<id>".

Output Schema

NameRequiredDescription
asOfYes
poolsYes
versionYes
limitationsYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed-world scope, so the safety profile is fully covered. The description adds only that the output is consolidated 'in one table' with assessment and data-age columns; it says nothing about behavior on invalid/missing ids, partial results, or freshness limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the action first and the returned fields enumerated compactly. The colon-list is dense, but no sentence is wasted and nothing important is buried.

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

Completeness4/5

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

With an output schema present, the description need not explain return values, and the rich annotations cover safety. The one-parameter schema is fully documented, so an agent has what it needs; only failure-mode behavior (e.g., unknown ids, fewer than two valid pools) is left unaddressed.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter already documents the 2-to-5 range and the 'pool:<id>' / 'vault:<id>' id format. The description's '2 to 5 pools by id' simply restates the schema, adding no new syntax or edge-case guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb (compare) and resource (pools), plus an explicit cardinality bound (2 to 5) and the exact fields returned. This implicitly separates it from the single-pool get_pool and the query-oriented search_pools, but no sibling is named outright.

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

Usage Guidelines3/5

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

Usage is implied by 'compare 2 to 5 pools by id' and the fact that results come back 'in one table', but there is no explicit when-to-use guidance, no stated alternative (e.g., get_pool for a single pool, summarize_yields for aggregate views), and no exclusions.

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

get_alertInspect saved alert settingsA
Read-onlyIdempotent
Inspect

Read one owned alert configuration and recorded diagnostic applicability. Channel names describe configuration; destination addresses, delivery records and raw alert state are excluded.

NameRequiredDescriptionDefault
ruleIdYes

Output Schema

NameRequiredDescription
asOfYes
ruleYes
versionYes
evaluationYes
limitationsYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description still contributes real value by disclosing what is deliberately withheld: destination addresses, delivery records, and raw alert state are excluded, and channel names represent configuration rather than live delivery targets — an agent would otherwise wrongly expect those fields.

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?

Two tight sentences, zero filler, with the core action front-loaded and the exclusion clause immediately following. Every phrase carries information an agent could not get from the structured fields.

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?

An output schema exists, so return values needn't be explained, and the description neatly covers scope and deliberate omissions. Gaps remain around the identifier's provenance and error/not-found behavior for a single-resource lookup tool.

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?

There is one parameter (ruleId) with 0% schema description coverage, so the description must carry the semantics and it does not. It never says that ruleId identifies the alert, whether it comes from list_alerts, or what happens for an unknown id; only the pattern in the schema hints at format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Read one owned alert configuration' plus 'recorded diagnostic applicability'. The word 'one' and 'owned' scope it as a single-record fetch, implicitly distinguishing it from the sibling list_alerts, though it never names that sibling explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: 'one owned alert configuration' suggests retrieval by identifier after an alert is already known, and 'owned' hints at an authorization precondition. There is no explicit statement of when to use this versus list_alerts, nor of behavior when the rule does not exist or is not owned.

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

get_data_sourcesCheck data sourcesA
Read-onlyIdempotent
Inspect

Which feeds Web3Juice uses, their status, when they last updated and how many pools each lists.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
asOfYes
sourcesYes
versionYes
collectedAtYes
limitationsYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety behavior is covered. The description adds that output includes status, last update time, and pool counts per feed, which is useful context beyond annotations. However, it doesn't mention freshness, caching, or how to interpret 'status' values. With annotations covering safety, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the resource and enumerates the returned fields efficiently. No filler words; every clause adds informational value.

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

Completeness4/5

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

An output schema exists, so the description needn't detail return values, but it helpfully summarizes what's returned (status, last update, pool counts). Combined with annotations, this is nearly complete. A minor gap is the lack of guidance on when to consult this before other tools.

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?

Zero parameters, so baseline is 4. The description correctly implies no inputs are needed by describing a pure listing operation. No parameter documentation is required or missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (data sources/feeds Web3Juice uses) with a clear read intent. It doesn't explicitly differentiate from siblings like get_methodology, but the resource is distinctive enough that confusion is unlikely. Clear verb-resource pairing.

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

Usage Guidelines2/5

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

No when-to-use guidance, no mention of alternatives, and no conditions under which an agent should call this versus other introspection tools like get_methodology. The purpose is implied by the description but usage context is absent.

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

get_methodologyExplain the assessmentA
Read-onlyIdempotent
Inspect

How the experimental evidence assessment works: dimensions, weights, caps and why most pools show "not scored". A score is not a safety guarantee.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
configYes
versionYes
weightsYes
limitationsYes
experimentalYes
rubricVersionYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description still adds genuine behavioral context: it pre-empts confusion about the widespread "not scored" state and warns that a score is not a safety guarantee — framing an agent cannot get from structured fields.

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?

Two tight sentences: the first enumerates what the explanation covers, the second delivers the key caveat. Front-loaded and every clause earns its place 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?

With an output schema present and no parameters, the description need not document return values, and it appropriately limits itself to signaling scope and the caveat. It is essentially complete, with only the missing explicit usage trigger as a minor gap.

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?

The tool takes zero parameters, so the baseline is 4. The description correctly implies a single static explanation with nothing to configure, consistent with an empty input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific content the tool returns — dimensions, weights, caps, and the rationale behind "not scored" pools — which is far more than restating the title. It is clearly a documentation/explanation tool, distinguishable from the pool-data siblings by subject matter, though it never explicitly contrasts itself with them.

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

Usage Guidelines3/5

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

Usage is implied: an agent should call this when it needs to interpret the scoring rubric or understand why a pool is unscored. There is no explicit when-to-use trigger, no stated relationship to siblings like get_pool or compare_pools, and no exclusions.

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

get_notebook_entryRead a frozen research captureA
Read-onlyIdempotent
Inspect

Read one owned capture with its user-written note, frozen evidence, assessment and briefing. Notes are untrusted prose. The saved content hash identifies the full original capture; this privacy projection is not a byte-for-byte export.

NameRequiredDescriptionDefault
entryIdYes

Output Schema

NameRequiredDescription
asOfYes
entryYes
versionYes
limitationsYes

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), yet the description adds genuinely new behavioral context: notes are untrusted prose (a prompt-injection caution) and the returned content is a privacy projection that is NOT a byte-for-byte export, with the content hash pointing to the full original. These are non-obvious traits an agent could not infer from structured fields.

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?

Three sentences, zero filler, front-loaded with the read action before the trust and fidelity caveats. Every sentence adds distinct information (scope, trust level, projection caveat).

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

Completeness4/5

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

An output schema exists so return structure need not be explained, and the description still previews the payload plus two important caveats (untrusted note prose, non-verbatim projection). The only real gap is entryId semantics, which is left entirely to the schema.

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% for the single parameter entryId, so the description carries the burden of explaining it but adds nothing about its format, provenance, or how it is obtained. 'One owned capture' gives only a vague hint that the id scopes to the caller's own entries; the pattern and length constraints live only in 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 ('Read') and resource ('one owned capture') and enumerates exactly what the payload contains: user-written note, frozen evidence, assessment, briefing. The singular 'one owned capture' cleanly distinguishes it from the sibling list_notebook_entries without needing to name it.

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

Usage Guidelines3/5

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

Usage is only implied: fetching a single owned capture by id is the obvious counterpart to list_notebook_entries, and 'owned' hints that non-owned entries are out of scope. No explicit when-to-use, when-not-to-use, or named alternative is given, and nothing says what to do if the id is unknown or unauthorized.

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

get_poolGet one pool in detailA
Read-onlyIdempotent
Inspect

Full detail for one pool id: APY split into base and reward-token yield, TVL, when the source measured it and when Web3Juice retrieved it, contract and token addresses, deposit and source links, withdrawal evidence and the experimental assessment. Links and labels come from the source and are unverified.

NameRequiredDescriptionDefault
poolIdYes

Output Schema

NameRequiredDescription
asOfYes
poolYes
versionYes
assessmentYes
limitationsYes
sourceWarningsYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavioral context: it separates source measurement time from Web3Juice retrieval time, and warns that links and labels are source-provided and unverified — a meaningful trust caveat not present in the structured data.

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 payload enumeration is front-loaded in the first sentence and the unverified-data caveat is placed last where it acts as a qualifier. Dense but every clause maps to an actual returned field; the single-sentence enumeration is long but not padded.

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

Completeness4/5

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

An output schema exists, so return values need not be documented, yet the description helpfully orients the agent to what the response contains. Combined with annotations covering the safety profile, nothing an agent needs to call this correctly is missing, apart from explicit sibling routing.

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 0%, so the description must carry the single parameter, and it does identify it as a pool id. However it adds no format or constraint detail (non-empty, max length 512) beyond what the schema's type already implies, leaving a modest but real gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — retrieve full detail for one pool id — and enumerates the payload (APY split, TVL, timestamps, addresses, withdrawal evidence) so the agent knows exactly what it gets. It doesn't explicitly name a sibling to contrast with, but 'one pool id' distinguishes it from search_pools/get_pool_history by implication.

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

Usage Guidelines3/5

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

Usage is only implied: the description frames this as single-pool lookup, which suggests search_pools for discovery and get_pool_history for time series, but it never states when to prefer it or names any alternative. No prerequisites or exclusions are given.

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

get_pool_historyGet a pool's APY historyA
Read-onlyIdempotent
Inspect

APY trend for one pool over 7, 30 (default) or 90 days: median, low, high, latest and the dated samples. Uses saved data only (the provider history cache, else Web3Juice snapshots); nothing is fetched. No history means unknown, not zero.

NameRequiredDescriptionDefault
poolIdYes
windowDaysNo

Output Schema

NameRequiredDescription
asOfYes
poolIdYes
historyYes
summaryYes
versionYes
fetchedAtYes
truncatedYes
limitationsYes
availabilityYes
returnedRecordsYes
totalWindowRecordsYes
summarySamplesTruncatedYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/no-open-world, and the description adds real value beyond them: the data source chain (provider history cache, else Web3Juice snapshots), that nothing is fetched, and how a missing result should be interpreted. Missing-data semantics are exactly the kind of disclosure annotations cannot carry.

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?

Two dense sentences, front-loaded with what the tool returns, then source behavior, then the edge-case rule. No filler and no repetition of the title.

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?

An output schema exists, so return fields need not be re-explained, yet the description still previews them for selection purposes. Combined with the source and null-history semantics, an agent has everything needed to call and interpret this tool correctly.

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?

With 0% schema description coverage the description must compensate, and it does for windowDays by enumerating the three allowed values and the default, matching the schema's const-based anyOf. poolId is left uncharacterized (format, where to obtain it), which keeps this below a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('APY trend for one pool') and the output shape (median, low, high, latest, dated samples), which cleanly separates it from get_pool's current-state read. It never names a sibling explicitly, so differentiation is implied through 'history/trend' rather than stated.

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?

Explains the selection axis (7/30/90-day window with 30 as default) and adds a critical interpretation rule: 'No history means unknown, not zero.' It does not state when to prefer this over search_pools/compare_pools history-style queries, so it stops short of full when/when-not guidance.

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

get_wallet_positionsRead a saved wallet reportA
Read-onlyIdempotent
Inspect

Page the exact validated saved historical report for an owned wallet. Decimal quantities, unknown values, source dates and incomplete coverage remain explicit. No new matching, refresh or balance lookup occurs.

NameRequiredDescriptionDefault
limitNo
cursorNo
walletIdYes

Output Schema

NameRequiredDescription
asOfYes
limitYes
addressYes
versionYes
coverageYes
walletIdYes
warningsYes
fetchedAtYes
positionsYes
nextCursorYes
limitationsYes
totalRecordsYes
snapshotStatusYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already carry the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real value by disclosing data-quality behavior—decimal quantities, unknown values, source dates and incomplete coverage are surfaced rather than smoothed over, and no re-matching or balance lookup happens.

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 tight sentences with no filler, front-loaded with the core action and scope. The phrase 'exact validated saved historical report' is slightly dense jargon but is the substance of the answer, not padding.

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

Completeness4/5

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

An output schema exists, so return shape need not be explained; annotations cover safety. The description supplies the snapshot semantics and quality caveats that an agent needs to interpret the report correctly. The remaining gap is parameter-level guidance, which neither the schema nor the description provides.

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 0% across 3 parameters, so the description must compensate. It hints at pagination ('Page the ... report') and ownership scoping ('owned wallet'), which loosely maps to cursor/limit and walletId, but gives no detail on cursor format, page size bounds, or wallet identifier expectations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Page'/'Read') and resource ('saved historical report for an owned wallet'), and explicitly rules out live behavior: 'No new matching, refresh or balance lookup occurs.' An agent can tell this returns a stored snapshot rather than computed positions, though the name 'get_wallet_positions' vs the description's 'report' framing is a minor mismatch.

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?

Clear context: use for an owned wallet's already-saved historical report, and the closing sentence tells the agent this is not a refresh/recompute path, which is the key usage distinction. No sibling alternative is named, and the failure mode for a wallet the caller doesn't own is unstated.

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

list_alertsRead saved alert summariesA
Read-onlyIdempotent
Inspect

Page your saved alert rules and recorded diagnostic applicability. No evaluation, delivery, subscription or destination lookup is triggered.

NameRequiredDescriptionDefault
limitNo
cursorNo

Output Schema

NameRequiredDescription
asOfYes
rowsYes
limitYes
versionYes
nextCursorYes
limitationsYes
totalRecordsYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the bar is lower. The description adds real value beyond them by explicitly stating that this call triggers no evaluation, delivery, subscription or destination lookup, which reassures an agent about side effects. It stops short of describing pagination behavior or result ordering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action and followed by the most decision-relevant caveat. No filler, though 'recorded diagnostic applicability' is jargon that adds ambiguity more than 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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. The remaining gap is pagination mechanics for limit/cursor, which the description only gestures at.

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% for both parameters, so the description carries the burden. 'Page' hints at pagination, but neither the limit (default 25, max 50) nor the cursor token is explained in the description, leaving the agent to reverse-engineer them from the raw JSON schema constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (page/list) and resource (saved alert rules), plus a secondary resource (recorded diagnostic applicability). It reads clearly as the list counterpart to the sibling get_alert, though it does not explicitly name that sibling.

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

Usage Guidelines3/5

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

Usage is implied by 'Page your saved alert rules', but there is no explicit when-to-use versus get_alert or compare_pools, and no statement of prerequisites. The negative clause ('No evaluation, delivery... is triggered') is useful side-effect guidance rather than selection guidance.

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

list_investmentsRead manual investmentsA
Read-onlyIdempotent
Inspect

Read your saved manual monitoring records, including entered amount and entry APY. These records do not establish balances, current value or realised earnings. At most 50 rows; reuse an unchanged cursor with the same limit.

NameRequiredDescriptionDefault
limitNo
cursorNo

Output Schema

NameRequiredDescription
asOfYes
rowsYes
limitYes
versionYes
nextCursorYes
limitationsYes
totalRecordsYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive, so the bar is lower, but the description adds real value: a hard cap of 50 rows and the pagination rule to reuse an unchanged cursor with the same limit. The caveat about what the records do NOT represent is also useful disambiguation.

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?

Three tight sentences, front-loaded with the core action, then scope caveat, then pagination. No filler; every sentence earns its place.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and annotations carry the safety profile. The description covers scope boundaries and pagination adequately; only the limit default/range and cursor format remain unaddressed.

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 0%, so the description must compensate. It touches the limit ('at most 50 rows') and cursor ('reuse an unchanged cursor with the same limit'), but omits the default of 25, the 1-50 bounds, and the cursor format, leaving gaps the schema does not fill.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Read) and resource (saved manual monitoring records, with entered amount and entry APY), and sharpens scope by saying these records do not establish balances, current value or realised earnings. That negative scoping helps distinguish it from valuation-oriented siblings, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

Usage is implied by 'your saved manual monitoring records' and the exclusion of balance/current-value data, which hints at the right context. However, it never says when to prefer this over sibling list tools (list_wallets, list_notebook_entries) or what prerequisites exist.

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

list_notebook_entriesRead research notebook summariesB
Read-onlyIdempotent
Inspect

Page your active saved notebook captures. Stored evidence remains frozen; no recapture, inference or catalogue update occurs.

NameRequiredDescriptionDefault
limitNo
cursorNo

Output Schema

NameRequiredDescription
asOfYes
rowsYes
limitYes
versionYes
nextCursorYes
limitationsYes
totalRecordsYes

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, but the description adds real behavioral context beyond them: stored evidence is frozen and no recapture, inference, or catalogue update occurs. That directly answers the 'what side effects does this trigger' question. It does not mention pagination limits or exhaustion behavior, 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?

Two tight sentences with the core action front-loaded, followed by a clarification of side effects. The second clause is slightly jargon-heavy but every word carries information about behavior.

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?

An output schema exists, so return values need not be explained, and annotations cover the safety profile. However, with two fully undocumented paging parameters and no routing guidance against get_notebook_entry, an agent is left to guess how to page correctly.

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% for two parameters (limit, cursor), so the schema gives no guidance on their meaning. The description only hints at paging through the verb 'Page' and never explains the cursor contract, limit bounds, or what a returned cursor means, so it fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete verb-plus-resource ('Page your active saved notebook captures'), so an agent knows this retrieves multiple stored notebook entries rather than a single one. It stops short of explicitly naming the sibling get_notebook_entry, so differentiation is left to inference.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of the alternative get_notebook_entry for fetching one capture. The word 'Page' weakly implies iterative retrieval, but nothing states when this tool is the right choice versus search_pools or get_notebook_entry.

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

list_walletsRead saved wallet summariesA
Read-onlyIdempotent
Inspect

Read up to three saved wallets and historical report summaries. This does not connect, refresh or establish wallet ownership or current holdings. No provider request is made.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
asOfYes
versionYes
walletsYes
limitationsYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description still adds real value beyond them: the three-wallet cap, the absence of any refresh, and the fact that no provider request is made — useful cost/network context.

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?

Three short sentences, front-loaded with the positive capability before the exclusions, and every clause carries information an agent needs. 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?

An output schema exists, so return values need not be described, and the behavioral caveats are well covered. The definition is complete enough to call correctly, with only the sibling routing left implicit.

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?

Zero parameters with 100% schema coverage, so there is nothing for the description to disambiguate. Baseline for a no-parameter tool applies; no parameter detail is missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Read ... saved wallets and historical report summaries') plus a scope cap ('up to three'). The negative scoping ('does not ... establish wallet ownership or current holdings') implicitly separates it from get_wallet_positions, but no sibling is named explicitly, so it stops short of a 5.

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?

Gives clear negative guidance: it will not connect, refresh, or surface current holdings, which tells the agent when not to reach for it. It never names the alternative tool to use for live positions, so routing is left partly to inference.

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

search_poolsSearch yield poolsA
Read-onlyIdempotent
Inspect

Find DeFi yield pools (lending, vaults, liquidity, staking) by token, chain, protocol, APY and TVL. Returns a ranked table with pool ids. Rates are fractions (0.05 = 5%). Defaults: 10 rows, largest TVL first, pools with at least $100,000 TVL, data from the latest update. Stablecoin filters check token labels, not peg safety. Page with the returned cursor.

NameRequiredDescriptionDefault
limitNoRows to return, 1-50 (default 10).
queryNoFilters. Omit for the whole catalogue (still limited to pools with TVL of at least $100K).
cursorNonextCursor from the previous page. Repeat the same query and limit exactly.

Output Schema

NameRequiredDescription
asOfYes
rowsYes
limitYes
notesYes
versionYes
nextCursorYes
collectedAtYes
limitationsYes
totalMatchesYes
catalogueRevisionYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (read-only, idempotent, non-destructive, closed-world), so the description does not need to repeat those. It adds useful behavioral context beyond annotations: ranked output with pool ids, APY values expressed as fractions, default sorting by TVL, a $100,000 TVL floor, latest-update freshness, cursor-based pagination, and the important caveat that stablecoin filters check labels rather than peg safety.

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?

The purpose is front-loaded in the first sentence, followed by output behavior, rate units, defaults, a caveat, and pagination guidance. The description is compact and every sentence adds relevant information without filler.

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?

Given the complexity of the nested query object and the presence of a full output schema, the description supplies the key context an agent needs: what the tool searches, what it returns, rate units, default filtering and sorting, freshness behavior, the stablecoin caveat, and cursor paging. Further parameter detail is already covered by the 100%-described schema, so no critical gap remains.

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 the input schema already documents every parameter in detail. The description reinforces a few semantics, such as fractional APY values and key defaults, but it mostly repeats information already present in the schema. That makes 3 the appropriate baseline when the schema carries the parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Find DeFi yield pools' with explicit pool types and filters. It also says the tool returns a ranked table with pool ids, which clearly separates it from detail-oriented siblings like get_pool. However, it does not explicitly name or contrast with siblings such as compare_pools or summarize_yields, so it stops short of full sibling differentiation.

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

Usage Guidelines3/5

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

The description implies usage by listing supported filters and by noting that omitting filters searches the whole catalogue. It also says to page with the returned cursor. It does not explicitly say when to use this tool versus alternatives like compare_pools, summarize_yields, or get_pool, leaving the agent to infer the routing.

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

summarize_yieldsSummarize yields across a marketB
Read-onlyIdempotent
Inspect

Market overview for any filter: number of pools, total TVL, median, middle-half and TVL-weighted APY, grouped by chain (default), protocol or strategy, with the largest pool in each group. Rates in filters are fractions (0.05 = 5%).

NameRequiredDescriptionDefault
queryNoPool filters (token, chain, protocol, strategy, APY, TVL, freshness), e.g. {"search":"usdc","strategies":["lending"]}. Defaults to pools with at least $100K TVL.
groupByNoBreak the statistics down by chain (default), protocol or strategy, or "none" for one overall row.chain
topGroupsNoHow many groups to return, largest TVL first (default 10).

Output Schema

NameRequiredDescription
asOfYes
notesYes
groupsYes
groupByYes
overallYes
versionYes
limitationsYes
totalGroupsYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds useful behavioral context – the aggregation vocabulary, the default grouping and the 'largest pool in each group' inclusion rule – but says nothing about truncation, cost, or how the topGroups cap interacts with the totals.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that leads with what the agent gets back, followed by the grouping default and the unit caveat. Dense but every clause carries information; slightly list-heavy rather than wasteful.

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?

An output schema exists and the schema fully documents all three parameters, so the description need not explain returns or syntax. With the aggregation contents, grouping behavior and unit convention stated, an agent has everything needed to call it correctly.

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 baseline is 3. The description's only additional semantic is restating the fraction-not-percentage convention, which the schema already states on every APY field; grouping defaults likewise duplicate the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description enumerates exactly what the tool returns: pool count, total TVL, median/middle-half/TVL-weighted APY, largest pool per group. That output profile implicitly separates it from a pool-listing tool, but no sibling (search_pools, compare_pools) is ever named, so the differentiation is left to inference.

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

Usage Guidelines2/5

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

It never states when to reach for this instead of search_pools or compare_pools, nor any exclusion conditions. The only usage-adjacent content is the unit convention ('rates in filters are fractions') and the default grouping, which are operational notes rather than routing guidance.

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. 3 tool updates
    • Changedget_alert2 fields changed
      • removedOutput schema / properties / rule / properties / query / properties / maxAgeMinutes / default
        Removed value: -60
      • changedOutput schema / properties / rule / properties / query / required
        Previous value: -[
        -  "freshness",
        -  "maxAgeMinutes",
        -  "sort",
        -  "direction"
        -]New value: +[
        +  "freshness",
        +  "sort",
        +  "direction"
        +]
    • Changedsearch_pools2 fields changed
      • changedInput schema / properties / query / properties / freshness / description
        Previous value: -"Data age rule. \"retrieved\" (default): retrieved within maxAgeMinutes. \"observed\": the source must state when it measured the rate. \"any\": include old quotes."New value: +"Data age rule. \"retrieved\" (default): retrieved in the latest update (or within maxAgeMinutes). \"observed\": the source must state when it measured the rate. \"any\": include old quotes."
      • changedInput schema / properties / query / properties / maxAgeMinutes / description
        Previous value: -"Maximum data age in minutes for the freshness rule (default 60). It can only shorten the window: each rate also expires after its own time-to-live (usually 60 minutes). To include older quotes use freshness \"any\"."New value: +"Maximum data age in minutes for the freshness rule. Default: the latest update, so data counts until the next scheduled update is overdue (the result notes give the current limit; 60 is read as this default). A number can only shorten that window. To include older quotes use freshness \"any\"."
    • Changedsummarize_yields2 fields changed
      • changedInput schema / properties / query / properties / freshness / description
        Previous value: -"Data age rule. \"retrieved\" (default): retrieved within maxAgeMinutes. \"observed\": the source must state when it measured the rate. \"any\": include old quotes."New value: +"Data age rule. \"retrieved\" (default): retrieved in the latest update (or within maxAgeMinutes). \"observed\": the source must state when it measured the rate. \"any\": include old quotes."
      • changedInput schema / properties / query / properties / maxAgeMinutes / description
        Previous value: -"Maximum data age in minutes for the freshness rule (default 60). It can only shorten the window: each rate also expires after its own time-to-live (usually 60 minutes). To include older quotes use freshness \"any\"."New value: +"Maximum data age in minutes for the freshness rule. Default: the latest update, so data counts until the next scheduled update is overdue (the result notes give the current limit; 60 is read as this default). A number can only shorten that window. To include older quotes use freshness \"any\"."
  2. 1 tool update
    • Changedget_alert2 fields changed
      • changedOutput schema / properties / rule / properties / channels / items / enum
        Previous value: -[
        -  "inApp",
        -  "email",
        -  "discord",
        -  "webhook",
        -  "push",
        -  "telegram"
        -]New value: +[
        +  "inApp",
        +  "email",
        +  "discord",
        +  "webhook",
        +  "push",
        +  "telegram",
        +  "app"
        +]
      • changedOutput schema / properties / rule / properties / channels / maxItems
        Previous value: -6New value: +7
  3. 1 tool update
    • Changedget_alert2 fields changed
      • changedOutput schema / properties / rule / properties / channels / items / enum
        Previous value: -[
        -  "inApp",
        -  "email",
        -  "discord",
        -  "webhook",
        -  "push"
        -]New value: +[
        +  "inApp",
        +  "email",
        +  "discord",
        +  "webhook",
        +  "push",
        +  "telegram"
        +]
      • changedOutput schema / properties / rule / properties / channels / maxItems
        Previous value: -5New value: +6
  4. 7 tool updates
    • Addedget_alert
    • Addedget_notebook_entry
    • Addedget_wallet_positions
    • Addedlist_alerts
    • Addedlist_investments
    • Addedlist_notebook_entries
    • Addedlist_wallets
  5. 7 tool updates
    • First observedcompare_pools
    • First observedget_data_sources
    • First observedget_methodology
    • First observedget_pool
    • First observedget_pool_history
    • First observedsearch_pools
    • First observedsummarize_yields

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
    C
    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
    B
    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