AsOf Demo
Server Details
No-sign-up demo: recorded historical crypto wallet holdings, prices and CSV exports. Fixed examples.
- Status
- Healthy
- Uptime
- 99.8% over 28 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
get_holdings and retrieve_holdings are explicitly the same data, so an agent has no basis to choose between them and may call both. export_holdings_csv also overlaps in content (assets, quantities, values) differing only in output format, adding further selection ambiguity.
All names are snake_case verb_noun, which is readable, but the verb vocabulary is inconsistent: 'get' and 'retrieve' denote identical operations, and 'list_demo_wallets' embeds a qualifier the other tools omit. The synonym pair undermines an otherwise predictable pattern.
Six tools is well within a sensible range for a fixed-snapshot demo. The only slack is the redundant retrieve_holdings alias, which adds a slot without adding capability.
The demo covers wallet listing, holdings read, historical price, CSV export, and a scope/guide tool, which is coherent for the stated purpose. Gaps remain: no way to filter holdings or prices by date or token, and no metadata/coverage detail beyond the summary in list_demo_wallets.
Available Tools
6 toolsexport_holdings_csvDemo: Export holdings csvBRead-onlyIdempotentInspect
Export every sample asset, quantity and USD value as CSV, including unpriced tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | ||
| as_of_date | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, idempotent, non-destructive, closed-world operation. The description adds useful scope about including unpriced tokens, but does not describe permissions, edge cases, or how unpriced assets appear in the export.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence with no wasted words. It efficiently communicates the output format and included data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has an output schema plus rich annotations, so much context is already structured. However, with 0% schema description coverage, the missing explanation of wallet and as_of_date leaves the definition only minimally complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needs to compensate for undocumented parameters. It does not mention wallet or as_of_date at all, leaving format expectations for both required parameters unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: export holdings as CSV, and specifies the included fields plus unpriced-token handling. It is clear what the tool does, though it does not explicitly distinguish itself from siblings like get_holdings or retrieve_holdings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this export tool versus the sibling holdings retrieval tools. The description implies a CSV export use case but offers no exclusions, prerequisites, or alternative-routing advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_demo_guideDemo: Get demo guideBRead-onlyIdempotentInspect
Explain fixed-snapshot scope and how to connect the separate paid service.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds topical scope (snapshot semantics, paid-service connection) but says nothing about the form, depth, or freshness of the returned content; with an output schema present, that omission is acceptable rather than critical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler and the key topics front-loaded. It is efficiently sized, though its brevity edges into under-specification rather than tight conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, full annotation coverage, and an output schema that documents the return value, the description only needs to frame what the guide is about, which it does. The gaps are that 'fixed-snapshot scope' and 'separate paid service' are left as unexplained jargon with no indication of the surrounding domain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the subject matter ('fixed-snapshot scope', 'the separate paid service') but never states the concrete action or artifact: it does not say this returns a static explanatory guide/document, and it does not distinguish itself from sibling demo tools like list_demo_wallets. 'Explain ... and how to connect' describes content topics rather than a tool operation, so an agent gets only a vague sense of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no reference to any alternative tool. An agent must infer from the topic words alone that this is the place to look for demo/snapshot documentation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historical_priceDemo: Get historical priceBRead-onlyIdempotentInspect
Read a recorded sample price by symbol or exact contract; no market lookup.
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | ||
| chain | No | ||
| wallet | No | ||
| as_of_date | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld=false, which matches 'no market lookup' and reinforces that no external call occurs. The description usefully signals that the returned price is a recorded sample (potentially stale/demo), but says nothing about behavior on unknown symbols, missing records, or date-range limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the core action front-loaded and the 'no market lookup' qualifier at the end where it reads as a constraint. Nothing is wasted, though the extreme brevity leaves little room for the parameter detail this tool needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But with 4 parameters at 0% schema coverage and only a passing mention of symbol/contract, the description leaves format for 'as_of_date', the meaning of chain vs wallet, and error behavior unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must carry the semantics. It only hints at 'asset' (symbol) and 'chain'/'wallet' ('exact contract'), and gives no meaning for 'as_of_date' or the relationship between chain and wallet. Most parameters remain undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and resource ('a recorded sample price') and narrows the source with 'by symbol or exact contract; no market lookup,' which lets an agent tell it apart from a live-quote tool. It does not explicitly differentiate from the holdings/wallet siblings, but those are clearly different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'No market lookup' and 'recorded sample price' imply the usage context: this retrieves stored/demo data rather than fetching live prices. However, no alternative tool is named and no explicit when-not condition is stated, so the routing guidance is inferred rather than declared.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_holdingsDemo: Get holdingsBRead-onlyIdempotentInspect
Read one listed wallet's precomputed report, paginated; never scan or refresh.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| wallet | Yes | ||
| as_of_date | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuine context beyond them: the data is precomputed (not computed on demand), results are paginated, and no scan/refresh occurs, which tells the agent about staleness and cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, and the key constraint (precomputed, never scan/refresh) is placed where an agent will see it. It is slightly telegraphic, which costs a little readability but not length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a 4-parameter tool with 0% schema coverage the description leaves required inputs (as_of_date format, wallet identifier form) and sibling routing unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description carries the full burden. It only implies pagination (limit/offset) and wallet scope; it says nothing about the required as_of_date semantics, accepted date format, or what a 'listed' wallet means.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (one listed wallet's precomputed report), plus a scoping attribute (precomputed, paginated). It does not, however, distinguish itself from the similarly named sibling retrieve_holdings or export_holdings_csv, leaving an agent to guess which holdings tool applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'never scan or refresh' implies this tool only serves cached/precomputed data and should not be reached for fresh computation, which is useful implied guidance. But no alternative tool is named for the refresh/scan case, and no explicit when-to-use condition is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_demo_walletsDemo: List demo walletsARead-onlyIdempotentInspect
List the fixed public wallets, snapshot dates and recorded coverage.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered structurally. The description adds that the wallets are "fixed public" and that snapshot dates/coverage are included, which is modest extra context but not much beyond the annotations and the existing output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The verb and the returned content are stated in the first few words and nothing is repeated from the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only list tool with full annotations and a declared output schema, the description covers what is needed to invoke it. It could be slightly richer about what the demo dataset represents, but the return-value burden is already carried by the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema-level baseline of 4 applies. The description correctly does not invent parameters, though it also offers no scoping or filtering semantics because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("List") and concrete resources (fixed public wallets, snapshot dates, recorded coverage), so an agent can predict the shape of the result. It does not explicitly contrast itself with siblings like get_holdings or get_demo_guide, so it falls short of the sibling-differentiating 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as get_holdings, retrieve_holdings, or get_demo_guide. The "demo" naming hints at a demo-data context, but no explicit trigger, prerequisite, or exclusion is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retrieve_holdingsDemo: Retrieve holdingsCRead-onlyIdempotentInspect
Retrieve saved sample assets, quantities and values; same data as get_holdings.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| wallet | Yes | ||
| as_of_date | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description does add one useful piece of context beyond them — that the values are saved sample/demo assets — but says nothing about pagination behavior despite limit/offset, nor about data freshness relative to as_of_date.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with the resource and its equivalence to get_holdings front-loaded; nothing is wasted. Brevity works against it only in that the space saved was needed for parameter and usage detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but with four fully undocumented parameters (including two required ones) and no usage routing against get_holdings, the definition leaves an agent guessing about inputs and intent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are four parameters (wallet, as_of_date, limit, offset), none of which the description explains. 'quantities and values' describes returned fields, not the inputs, so the description does not compensate for the documentation gap in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve saved sample assets, quantities and values') and explicitly equates the payload to get_holdings, so an agent can tell it returns holdings data rather than something else. It does not, however, clarify the demo/sample scope as the mechanism that distinguishes it from get_holdings beyond the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'same data as get_holdings' implies an alternative exists but gives no condition for choosing one over the other. There is no statement about when demo data is appropriate versus the live tool, and no mention of related siblings like list_demo_wallets or export_holdings_csv.
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.
6 tool updates
- First observed
export_holdings_csv - First observed
get_demo_guide - First observed
get_historical_price - First observed
get_holdings - First observed
list_demo_wallets - First observed
retrieve_holdings
Related MCP Connectors
Historical crypto wallet holdings, valuations and CSV exports. OAuth; paid own-wallet scans.
Read-only crypto and traditional portfolio: holdings, PNL, FIFO tax figures and market data.
Track net worth and investment performance (MWRR, P&L) for any asset with a value, in any currency.
Household net worth and portfolio tracker your AI keeps: priced daily, previewed and undoable.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceTracks multi-exchange cryptocurrency portfolio P\&L by storing holdings and providing live price data.MIT
- AlicenseAqualityBmaintenanceLocal-first crypto portfolio aggregation across exchanges (Bybit, Binance), EVM and Solana wallets, and Polymarket. Read-only credentials, runs as a local MCP server. Data aggregation only, not financial advice.15177 npm6MIT
- AlicenseNot gradedqualityDmaintenanceProvides read-only portfolio management and analytics across Binance, Coinbase, and Kraken exchanges. It enables users to track holdings, analyze risk, and monitor market intelligence through 18 specialized tools.2MIT
- AlicenseNot gradedqualityDmaintenanceMethodology-transparent BTC + ETH whale forensics. 30 tools, anonymous OAuth 2.1 Free tier.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.