True Value Rankings
Server Details
Cryptocurrency fundamentals for agents: TVR Scores, rankings and model-derived valuation estimates.
- Status
- Healthy
- Uptime
- 100.0% over 41 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- TrueValueRankings/tvr-mcp-server
- GitHub Stars
- 1
- Server Listing
- tvr-mcp-server
TDQS
Scored across 10 tools
Most tools are distinct (list, history, methodology, portfolio, custom ranking), but get_tvr_score and get_tvr_estimated_value overlap heavily because the former returns the latter's entire output; compare_coins also repeats the same per-coin fields. The descriptions clarify intended scope somewhat, so an agent can usually pick correctly, but misselection risk remains.
All tools use lowercase snake_case and a clear verb_noun pattern (get_*, compare_coins, list_coins). Naming uniformly signals the resource and action, with no mixed conventions or vague verbs.
Ten tools is a reasonable, well-scoped number for a crypto ranking API. However, get_tvr_estimated_value is arguably redundant with get_tvr_score, so the set is slightly larger than it needs to be.
The surface covers discovery, single-coin snapshots, deep breakdowns, historical changes, fair value, rankings with custom weights, comparisons, portfolio analysis, and methodology. There are no obvious dead ends for the read-only ranking domain; agents can move from list_coins to detail tools without unimplemented steps.
Available Tools
10 toolscompare_coinsCompare CoinsARead-onlyIdempotentInspect
Free. Compares 2 to 5 cryptocurrencies on TVR Score, rank, valuation, TVR Estimated Value, fair value gap, and all 8 metric scores side by side. Identifies the largest scoring difference. Accepts tickers or names. Data from True Value Rankings (truevaluerankings.com).
| Name | Required | Description | Default |
|---|---|---|---|
| coins | Yes | Array of 2-5 cryptocurrency tickers or names to compare (e.g., ["BTC", "Ethereum", "SOL"]) |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | false on a normal answer, or an error message |
| status | No | Present when the request could not be answered as asked, for example not_available |
| context | No | Standing context about TVR and how to read its outputs |
| summary | No | Plain-language summary of the answer |
| requested | No | What was asked for, when it could not be resolved |
| comparison | No | Per-coin scores, ranks and valuations |
| disclaimer | No | Model-derived assessment, not investment advice |
| learn_more | No | Links for more detail |
| attribution | No | Required attribution text |
| data_sources | No | Where the numbers come from |
| coins_compared | No | |
| key_difference | No | The largest gap between the compared coins |
| metric_comparison | No | Metric-by-metric table |
| total_coins_evaluated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior allowing a low bar. The description adds useful context beyond annotations: the tool is free, reports the largest scoring difference, and sources data from True Value Rankings. It does not mention failure handling for invalid ticker names, but this is a minor gap given the annotations and 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?
The description is compact and front-loaded: the operative purpose appears immediately, followed by distinctive outputs minute.
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?
Given the simple single-parameter schema, full parameter coverage, read-only annotations, and an output schema, no critical information is missing. The description explains what is compared, what insight is produced, accepted inputs, and data provenance, making it complete for an agent deciding whether and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already gives 100% coverage of the only parameter, including constraints and an example. The description restates 'tickers or names' and the 2-5 limit but does not add new parameter-specific details such as case sensitivity, partial-name matching, or behavior with duplicates. Baseline 3 is appropriate because the schema carries the semantic load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, 'Compares', names the resource ('cryptocurrencies'), and enumerates the exact fields compared (TVR Score, rank, valuation, fair value gap, all 8 metric scores). It clearly distinguishes this from sibling single-tool getters like get_tvr_score or get_full_breakdown.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: use this when comparing 2 to 5 cryptocurrencies, and it confirms acceptable input forms ('tickers or names'). It does not explicitly name sibling alternatives or state when not to use it, but the comparison scope makes the intended usage evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_custom_rankingGet Custom RankingARead-onlyInspect
Paid. Reranks every coin TVR covers with your own weights for the 8 fundamental metrics, applying TVR's non-public score transformation. Returns rank, TVR Score, valuation category, fair value gap and TVR Estimated Value per coin. $0.05 per call, paid in-band with x402 (USDC on Base) or MPP (USDC.e on Tempo), or included with a Premium agent key (HTTP header Authorization: Bearer tvr_k_... on this connection); an unpaid call returns the offer (isError with the x402 PaymentRequired in structuredContent) and charges nothing. Invalid input is refused before any payment. Free alternative: get_top_ranked and the four presets. Data from True Value Rankings (truevaluerankings.com).
| Name | Required | Description | Default |
|---|---|---|---|
| coins | No | Optional tickers or names (1-50). Omit for all covered coins. | |
| weights | No | Up to 8 weights (0-100) in this order: economic_model, network_security, adoption, privacy, longevity, liquidity, legal_clarity, technical_dev, or an object keyed by those names. Missing entries take TVR defaults. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | |
| error | No | |
| legal | No | |
| reason | No | |
| status | No | |
| context | No | |
| payment | No | |
| product | No | |
| success | No | |
| rankings | No | Ranked coins under the requested weights |
| disclaimer | No | |
| how_to_pay | No | |
| learn_more | No | |
| redelivery | No | |
| weights_used | No | |
| defaults_applied_for | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: the per-call cost, payment methods, the fact that an unpaid call returns an offer with x402 PaymentRequired, and that invalid input is refused before payment. It also discloses that TVR's non-public score transformation is applied, which is a meaningful behavioral trait.
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 description is dense but well-structured, front-loading the most important fact ('Paid') and then covering payment, alternatives, and data source in a compact paragraph. Every sentence earns its place, though it could be slightly more scannable with line breaks or bullet points.
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 description is complete for a paid, read-only tool with an output schema. It covers cost, payment methods, failure behavior, free alternatives, and data source. The output schema exists, so return values need not be explained in the description. Nothing an agent needs to call this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds context about the weights ('your own weights for the 8 fundamental metrics') and the output fields, but it doesn't add much beyond the schema's detailed parameter descriptions. Baseline 3 is appropriate since the schema does the heavy lifting.
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 ('Reranks'), a resource ('every coin TVR covers'), and the mechanism ('your own weights for the 8 fundamental metrics'). It also names the output fields (rank, TVR Score, valuation category, fair value gap, TVR Estimated Value), which makes the tool's purpose unmistakable and distinguishes it from siblings like get_top_ranked and get_tvr_score.
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 description explicitly says this is a paid tool, names the free alternative ('get_top_ranked and the four presets'), and explains the payment flow (unpaid call returns the offer, charges nothing). It also states that invalid input is refused before payment, giving an agent clear conditions for when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_full_breakdownGet Full BreakdownARead-onlyIdempotentInspect
Free. Returns the complete fundamental analysis for a cryptocurrency: all 8 metric scores with weights, the scoring factors that shaped them, the valuation note, and ranking context. Accepts a ticker or a name. Data from True Value Rankings (truevaluerankings.com).
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Cryptocurrency ticker or name (e.g., BTC, Bitcoin, ETH, LTC, XMR, SOL, ADA, AVAX, DOT, POL, LINK) |
Output Schema
| Name | Required | Description |
|---|---|---|
| coin | No | Coin name |
| rank | No | Rank among evaluated coins, 1 is best |
| error | No | false on a normal answer, or an error message |
| status | No | Present when the request could not be answered as asked, for example not_available |
| symbol | No | Ticker |
| context | No | Standing context about TVR and how to read its outputs |
| summary | No | Plain-language summary of the answer |
| category | No | TVR coin category |
| requested | No | What was asked for, when it could not be resolved |
| tvr_score | No | TVR Score, 0 to 100 |
| valuation | No | Undervalued, Fair Value or Overvalued |
| disclaimer | No | Model-derived assessment, not investment advice |
| learn_more | No | Links for more detail |
| attribution | No | Required attribution text |
| rank_out_of | No | Number of coins evaluated |
| data_sources | No | Where the numbers come from |
| metric_scores | No | |
| fair_value_gap | No | Gap between TVR Estimated Value and market price, formatted as a percentage |
| valuation_note | No | |
| ranking_context | No | |
| scoring_factors | No | The reasoning behind each metric score |
| tvr_estimated_value | No | TVR Estimated Value, formatted in USD |
| scoring_methodology_note | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior, so the safety profile is covered. The description adds useful context: it is free, data comes from truevaluerankings.com, and the output includes metric scores, weights, factors, valuation note, and ranking context. It does not describe edge cases or response ordering, but with annotations present this is adequate.
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 description is compact and front-loads the key return-value information. The initial 'Free.' is slightly extraneous but not harmful; the rest is dense and useful.
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 one well-documented parameter, an output schema, and annotations covering safety, the description adds enough context about the response contents. It doesn't explain how to interpret the ranking context or what happens with invalid tickers, but those are not required for selecting and invoking the tool correctly given 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?
Schema coverage is 100% and the single 'coin' parameter already documents ticker/name with examples. The description repeats 'Accepts a ticker or a name' without adding format, normalization, or case-sensitivity details, so it stays at the high-coverage baseline.
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 uses the specific verb 'Returns' with a clear resource: the complete fundamental analysis for a cryptocurrency, enumerating all 8 metric scores with weights, scoring factors, valuation note, and ranking context. This differentiates it from siblings like get_tvr_score, though it does not explicitly name an alternative.
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 description implies usage when a full fundamental breakdown is needed, and 'Accepts a ticker or a name' clarifies input flexibility. However, it offers no explicit when-to-use vs alternatives such as compare_coins or get_tvr_score, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historical_scoresGet Historical ScoresARead-onlyIdempotentInspect
Free slice, paid full record. Score history of one coin: every recorded change to its 8 metric scores as a dated record with the TVR Score, the method version, a source label (baseline for the opening record, auto_captured for rows written from the change itself), the public reason where recorded and a SHA-256 hash per record; forward-only from the day the record began. Without scope (or scope "free"): the last 90 days or the last 3 records, free, no payment, no key. scope "full": the whole record, included with a Premium agent key (Authorization: Bearer on this connection), or $0.05 per pull paid in-band with x402 (USDC on Base) or MPP (USDC.e on Tempo) once the record extends beyond the free slice; until then the free record is returned and nothing is charged. Data from True Value Rankings (truevaluerankings.com).
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Ticker or name of a coin covered by TVR (BTC, Bitcoin, ETH, LTC, XMR, SOL, ADA, AVAX, DOT, POL, LINK) | |
| scope | No | free (default): the last 90 days or the last 3 records, no payment. full: the whole record; included with a Premium agent key, or paid per pull once the record extends beyond the free slice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| note | No | |
| error | No | |
| legal | No | |
| scope | No | |
| access | No | |
| period | No | |
| reason | No | |
| status | No | |
| symbol | No | |
| context | No | |
| payment | No | |
| product | No | |
| records | No | Dated score states, newest first: as_of, revision, source, scores, tvr_score, method_version, changed_metrics, reason_public, published_at, record_hash |
| success | No | |
| coverage | No | |
| hash_note | No | |
| disclaimer | No | |
| how_to_pay | No | |
| learn_more | No | |
| redelivery | No | |
| full_record | No | |
| hash_format | No | |
| method_versions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, and the description adds substantial context beyond that: forward-only record traversal, source label semantics, per-record SHA-256 hashes, and exact payment/auth conditions for free vs full scope. No contradiction with annotations.
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 description is long and dense, but every clause carries useful information and the 'Free slice, paid full record' opening is a strong front-loaded summary. It loses one point because the free/full rules are woven into a long run-on structure that could be clearer as a short list.
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?
Given the rich output schema, complete parameter schema, and strong annotations, the description covers all necessary call semantics: coin identification, free vs full behavior, payment methods, authentication for paid access, record contents, and data source. Nothing needed to invoke the tool correctly is missing.
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 coverage is 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema by explaining the real-world consequences of scope: what 'free' returns, what 'full' returns, how and when payment triggers, and that no charge occurs before the free slice is exceeded.
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 resource ('Score history of one coin') and a precise resource shape: every recorded change to its 8 metric scores, with dated records, TVR Score, method version, source label, public reason, and SHA-256 hash. This clearly distinguishes it from sibling tools like get_tvr_score (current score) and get_full_breakdown.
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 description gives explicit decision guidance for scope: free returns the last 90 days or last 3 records with no payment, while full requires a Premium key or per-pull payment beyond the free slice. It does not explicitly name alternative sibling tools or state when not to use them, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_methodologyGet Scoring MethodologyARead-onlyIdempotentInspect
Free. Explains how True Value Rankings scores cryptocurrencies: the 8 metrics, their current default weights, the 4 built-in weight presets, and the general scoring approach. Data from True Value Rankings (truevaluerankings.com).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | false on a normal answer, or an error message |
| status | No | Present when the request could not be answered as asked, for example not_available |
| context | No | Standing context about TVR and how to read its outputs |
| summary | No | Plain-language summary of the answer |
| requested | No | What was asked for, when it could not be resolved |
| disclaimer | No | Model-derived assessment, not investment advice |
| learn_more | No | Links for more detail |
| attribution | No | Required attribution text |
| methodology | No | The 8 metrics, their default weights and how the TVR Score is built |
| data_sources | No | Where the numbers come from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description does not contradict these. It adds useful context beyond the annotations by noting the tool is 'Free' and attributing the data source to truevaluerankings.com.
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 description is two short sentences with no filler. It front-loads the key fact ('Free'), then lists exactly what the tool explains, and ends with the data source—every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter informational tool, the description fully covers the subject matter: metrics, current default weights, built-in presets, and general scoring approach. Since an output schema exists, the description does not need to detail return fields.
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 has zero parameters and an empty input schema, so there are no parameter semantics to clarify; the baseline of 4 applies. The description does not need to add parameter detail because none exists.
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 uses a specific verb ('Explains') and clearly identifies the resource: True Value Rankings' scoring methodology. It enumerates concrete content (8 metrics, default weights, 4 weight presets, general approach), making the tool easy to distinguish from siblings that return scores or comparisons.
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 description does not explicitly state when to use this tool versus siblings like get_tvr_score or compare_coins. It implies the use case through its content, but there is no direct routing or exclusion such as 'use this when you need weights, not scores.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_portfolio_analysisGet Portfolio AnalysisARead-onlyInspect
Paid. Fundamentals profile of a portfolio: allocation-weighted scores for the 8 metrics, each holding's TVR Score and valuation category, and the portfolio TVR Score from TVR's scoring engine (scores only, no prices). $0.08 per call, paid in-band with x402 (USDC on Base) or MPP (USDC.e on Tempo), or included with a Premium agent key (HTTP header Authorization: Bearer tvr_k_... on this connection); an unpaid call returns the offer (isError with the x402 PaymentRequired in structuredContent) and charges nothing. Invalid input is refused before any payment. Free alternative: compare_coins. Data from True Value Rankings (truevaluerankings.com).
| Name | Required | Description | Default |
|---|---|---|---|
| portfolio | Yes | The holdings to analyse |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| legal | No | |
| access | No | |
| reason | No | |
| status | No | |
| context | No | |
| payment | No | |
| product | No | |
| profile | No | |
| success | No | |
| holdings | No | |
| disclaimer | No | |
| how_to_pay | No | |
| learn_more | No | |
| redelivery | No | |
| weights_used | No | |
| blended_metrics | No | |
| portfolio_tvr_score | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnlyHint/destructiveHint annotations by disclosing the $0.08 per-call cost, accepted payment rails, premium key header, unpaid-call offer behavior, and no-charge-on-invalid-input policy. It also states that the tool returns 'scores only, no prices,' which is a meaningful behavioral constraint.
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 description is long but information-dense: every clause adds value from pricing to payment, error behavior, alternative, and source. It is front-loaded with the core function and paid status. It could be slightly better structured with bullets or shorter clauses, but it is not bloated.
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?
Given the single documented parameter, the existing output schema, and the annotations, the description covers all operational essentials: what the tool computes, what it costs, how payment works, what happens on unpaid/invalid calls, and a free alternative. No critical calling context is missing.
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 coverage is 100% and the portfolio parameter already has descriptions. The description adds useful semantic context by specifying allocation-weighted scoring and the portfolio-level TVR Score, which clarifies how the single parameter is interpreted. This is more than the schema alone provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb-resource pair and enumerates the exact output: allocation-weighted scores for 8 metrics, per-holding TVR Score and valuation category, and the portfolio TVR Score. It also distinguishes itself from compare_coins as a free alternative, so an agent can separate it from siblings.
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 description clearly labels the tool as paid, states the payment methods, and names compare_coins as the free alternative. It also notes that invalid input is refused before payment, which is useful guidance. However, it does not explicitly say 'use this when you need portfolio-level aggregate scores' or articulate exclusions beyond the free alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_rankedGet Top Ranked CoinsARead-onlyIdempotentInspect
Free. Returns the top N cryptocurrencies by a chosen ranking method: tvr_score (fundamental strength), most_undervalued (largest positive fair value gap), or most_overvalued (largest negative fair value gap). Data from True Value Rankings (truevaluerankings.com).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of coins to return (default 5) | |
| rank_by | No | Ranking method: tvr_score, most_undervalued, or most_overvalued | tvr_score |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | false on a normal answer, or an error message |
| status | No | Present when the request could not be answered as asked, for example not_available |
| context | No | Standing context about TVR and how to read its outputs |
| rank_by | No | The ranking basis used |
| summary | No | Plain-language summary of the answer |
| rankings | No | Ordered list of coins |
| requested | No | What was asked for, when it could not be resolved |
| disclaimer | No | Model-derived assessment, not investment advice |
| learn_more | No | Links for more detail |
| attribution | No | Required attribution text |
| data_sources | No | Where the numbers come from |
| rank_by_description | No | |
| total_coins_evaluated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description does not need to cover mutation safety. It adds useful context beyond annotations by stating the API is 'Free' and by supplying source attribution and the meaning of each ranking method, which clarifies behavior without contradicting annotations.
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 description is two sentences with no filler: the return action is front-loaded, the ranking options are compactly listed, and the free/source details are relevant. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only, two-parameter tool with full schema coverage and an output schema, the description covers the essential non-schema information: free access, ranking-method semantics, and data source. No meaningful missing context remains 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?
The schema fully documents count and rank_by with defaults/enum values, so the baseline is already met. The description goes further by explaining what each rank_by enum means (fundamental strength, positive fair-value gap, negative fair-value gap), giving the agent semantic understanding that the schema enum alone lacks.
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 the specific verb 'Returns' with a clear resource ('top N cryptocurrencies') and the ranking method parameter. It also distinguishes the tool from list-style siblings by emphasizing ranked selection via tvr_score/most_undervalued/most_overvalued.
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 intended use case (retrieve a ranked cryptocurrency top-N list) is clear from the description, but there is no explicit when-not-to-use guidance or routing to sibling tools such as list_coins or compare_coins. Usage remains implied rather than stated as a decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tvr_estimated_valueGet TVR Estimated ValueARead-onlyIdempotentInspect
Free. Returns TVR's fair value estimate (TVR Estimated Value) for a cryptocurrency, including the fair value gap and valuation category. The TVR Estimated Value compares fundamental quality to current market price. Accepts a ticker or a name. Data from True Value Rankings (truevaluerankings.com).
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Cryptocurrency ticker or name (e.g., BTC, Bitcoin, ETH, LTC, XMR, SOL, ADA, AVAX, DOT, POL, LINK) |
Output Schema
| Name | Required | Description |
|---|---|---|
| coin | No | Coin name |
| error | No | false on a normal answer, or an error message |
| status | No | Present when the request could not be answered as asked, for example not_available |
| symbol | No | Ticker |
| context | No | Standing context about TVR and how to read its outputs |
| summary | No | Plain-language summary of the answer |
| requested | No | What was asked for, when it could not be resolved |
| valuation | No | Undervalued, Fair Value or Overvalued |
| disclaimer | No | Model-derived assessment, not investment advice |
| learn_more | No | Links for more detail |
| attribution | No | Required attribution text |
| data_sources | No | Where the numbers come from |
| fair_value_gap | No | Gap between TVR Estimated Value and market price, formatted as a percentage |
| tvr_estimated_value | No | TVR Estimated Value, formatted in USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds value beyond annotations by disclosing the data source ('Data from True Value Rankings'), that the tool is free, and what the estimate conceptually measures. No contradiction with annotations; the added source and cost context is genuinely helpful.
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?
Four sentences with zero waste: cost, return contents, conceptual meaning, input format, and data source are each covered once. The most important information (what it returns) is front-loaded, and every sentence earns its place. No redundancy with annotations 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 single-parameter lookup tool with an output schema present and annotations covering the safety profile, the description is nearly complete. It covers cost, source, input format, and the meaning of the value. The only minor gap is the absence of alternative-routing guidance, which is covered under usage_guidelines rather than completeness.
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 coverage is 100% with a well-described 'coin' parameter including examples. The description adds meaning beyond the schema by explicitly stating the accepted input forms ('Accepts a ticker or a name'), clarifying that either format works, which the schema only implies through examples. This is a useful addition, though modest given the schema's strength.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Returns'), the specific resource (TVR's fair value estimate), and the exact contents (fair value gap, valuation category). It is clearly distinguishable from sibling tools like get_tvr_score and get_top_ranked by focusing on 'Estimated Value' for a single coin. The phrase 'compares fundamental quality to current market price' further clarifies the semantics.
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 description implies usage (a lookup tool for a single cryptocurrency's fair value estimate) and confirms input format ('Accepts a ticker or a name'), but it never names alternatives or states when NOT to use it versus get_tvr_score or get_full_breakdown. No explicit routing or exclusion guidance is provided, leaving the agent to infer context from the tool name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tvr_scoreGet TVR ScoreARead-onlyIdempotentInspect
Free. Returns the TVR Score, rank, valuation category, TVR Estimated Value, fair value gap, and all 8 metric scores for a cryptocurrency. Accepts a ticker (BTC) or a name (Bitcoin). TVR evaluates fundamental strength using Sound Value principles. Data from True Value Rankings (truevaluerankings.com). Rate limit: 100 requests per 15 minutes per IP.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Cryptocurrency ticker or name (e.g., BTC, Bitcoin, ETH, LTC, XMR, SOL, ADA, AVAX, DOT, POL, LINK) |
Output Schema
| Name | Required | Description |
|---|---|---|
| coin | No | Coin name |
| rank | No | Rank among evaluated coins, 1 is best |
| error | No | false on a normal answer, or an error message |
| status | No | Present when the request could not be answered as asked, for example not_available |
| symbol | No | Ticker |
| context | No | Standing context about TVR and how to read its outputs |
| summary | No | Plain-language summary of the answer |
| category | No | TVR coin category |
| requested | No | What was asked for, when it could not be resolved |
| tvr_score | No | TVR Score, 0 to 100 |
| valuation | No | Undervalued, Fair Value or Overvalued |
| disclaimer | No | Model-derived assessment, not investment advice |
| learn_more | No | Links for more detail |
| attribution | No | Required attribution text |
| rank_out_of | No | Number of coins evaluated |
| data_sources | No | Where the numbers come from |
| metric_scores | No | All 8 metric scores with their weights |
| fair_value_gap | No | Gap between TVR Estimated Value and market price, formatted as a percentage |
| weakest_metric | No | |
| strongest_metric | No | |
| tvr_estimated_value | No | TVR Estimated Value, formatted in USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds valuable behavioral context beyond that: it notes the tool is free, explicitly discloses a rate limit (100 requests per 15 minutes per IP), and cites the data source. This helps the agent anticipate throttling and provenance without contradicting any annotation.
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 description is compact at four sentences and covers essential information: cost, output, input format, methodology, data source, and rate limit. The first sentence quickly communicates 'Free' and the result set. Some minor redundancy exists (methodology sentence could be trimmed), but overall it is well-structured and not bloated.
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 has a single well-documented parameter, an output schema exists (so return values are structurally defined), and annotations cover safety semantics. The description completes the picture by naming the exact outputs, input flexibility, pricing, data provenance, and rate limit. An agent has everything needed to invoke this tool correctly.
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 coverage is 100% and the parameter 'coin' is already well-described with examples. The description reinforces that the tool accepts a ticker or a name (e.g., BTC, Bitcoin), but adds no semantic meaning beyond what the schema already provides. A baseline of 3 is appropriate because the schema does the heavy lifting.
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 explicitly states the verb 'Returns' and enumerates the complete set of outputs (TVR Score, rank, valuation category, TVR Estimated Value, fair value gap, and all 8 metric scores). This clearly differentiates it from siblings like get_tvr_estimated_value by listing the full result set. An agent can immediately understand what this tool provides.
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 description gives no explicit guidance on when to use this tool instead of its siblings. It does not name alternatives like get_full_breakdown or get_tvr_estimated_value, nor does it provide exclusion criteria. The only contextual hints are 'Free' and the rate limit, which do not help select between tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_coinsList Evaluated CoinsARead-onlyIdempotentInspect
Free. Lists all cryptocurrencies currently evaluated by True Value Rankings with their symbol, name, and category. New coins are added regularly. Data from True Value Rankings (truevaluerankings.com).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| coins | No | Covered coins with ticker and name |
| error | No | false on a normal answer, or an error message |
| total | No | |
| status | No | Present when the request could not be answered as asked, for example not_available |
| context | No | Standing context about TVR and how to read its outputs |
| summary | No | Plain-language summary of the answer |
| requested | No | What was asked for, when it could not be resolved |
| disclaimer | No | Model-derived assessment, not investment advice |
| learn_more | No | Links for more detail |
| attribution | No | Required attribution text |
| data_sources | No | Where the numbers come from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful behavioral context beyond those: the call is free, the list is maintained by a specific source, and 'new coins are added regularly', meaning the result set is not static. No contradiction with annotations.
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 description is short and front-loaded: cost first, then the action, then the source and mutability of the data. Every sentence contributes useful information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter listing tool with an output schema, the description covers cost, content, source, and the fact that new coins are added over time. It does not mention ordering or pagination, but the simplicity of the tool and presence of an output schema make these gaps minor.
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 has zero parameters, so there is no parameter documentation burden. The description still adds value by stating the output fields (symbol, name, category), which helps an agent understand the shape of the returned list.
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 ('Lists') and resource ('all cryptocurrencies currently evaluated by True Value Rankings') and enumerates returned fields: symbol, name, and category. This clearly distinguishes it from ranking- and value-specific siblings like get_top_ranked and get_tvr_score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It conveys when to use the tool: to get the full current inventory of evaluated coins. However, it does not explicitly contrast with sibling tools or state when a user should prefer get_top_ranked or get_full_breakdown instead. The usage context is implied by the plain 'lists all' framing rather than stated as 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.
2 tool updates
- Added
get_historical_scores - Changed
get_portfolio_analysis1 field changed- added
Output schema / properties / accessAdded value: +{}
2 tool updates
- Added
get_custom_ranking - Added
get_portfolio_analysis
7 tool updates
- Changed
compare_coins1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "attribution": { + "description": "Required attribution text", + "type": "string" + }, + "coins_compared": { + "type": "number" + }, + "comparison": { + "description": "Per-coin scores, ranks and valuations" + }, + "context": { + "description": "Standing context about TVR and how to read its outputs" + }, + "data_sources": { + "description": "Where the numbers come from" + }, + "disclaimer": { + "description": "Model-derived assessment, not investment advice", + "type": "string" + }, + "error": { + "description": "false on a normal answer, or an error message" + }, + "key_difference": { + "description": "The largest gap between the compared coins" + }, + "learn_more": { + "description": "Links for more detail" + }, + "metric_comparison": { + "description": "Metric-by-metric table" + }, + "requested": { + "description": "What was asked for, when it could not be resolved", + "type": "string" + }, + "status": { + "description": "Present when the request could not be answered as asked, for example not_available", + "type": "string" + }, + "summary": { + "description": "Plain-language summary of the answer", + "type": "string" + }, + "total_coins_evaluated": { + "type": "number" + } + }, + "type": "object" +}
- Changed
get_full_breakdown1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "attribution": { + "description": "Required attribution text", + "type": "string" + }, + "category": { + "description": "TVR coin category", + "type": "string" + }, + "coin": { + "description": "Coin name", + "type": "string" + }, + "context": { + "description": "Standing context about TVR and how to read its outputs" + }, + "data_sources": { + "description": "Where the numbers come from" + }, + "disclaimer": { + "description": "Model-derived assessment, not investment advice", + "type": "string" + }, + "error": { + "description": "false on a normal answer, or an error message" + }, + "fair_value_gap": { + "description": "Gap between TVR Estimated Value and market price, formatted as a percentage", + "type": "string" + }, + "learn_more": { + "description": "Links for more detail" + }, + "metric_scores": {}, + "rank": { + "description": "Rank among evaluated coins, 1 is best", + "type": "number" + }, + "rank_out_of": { + "description": "Number of coins evaluated", + "type": "number" + }, + "ranking_context": {}, + "requested": { + "description": "What was asked for, when it could not be resolved", + "type": "string" + }, + "scoring_factors": { + "description": "The reasoning behind each metric score" + }, + "scoring_methodology_note": { + "type": "string" + }, + "status": { + "description": "Present when the request could not be answered as asked, for example not_available", + "type": "string" + }, + "summary": { + "description": "Plain-language summary of the answer", + "type": "string" + }, + "symbol": { + "description": "Ticker", + "type": "string" + }, + "tvr_estimated_value": { + "description": "TVR Estimated Value, formatted in USD", + "type": "string" + }, + "tvr_score": { + "description": "TVR Score, 0 to 100", + "type": "number" + }, + "valuation": { + "description": "Undervalued, Fair Value or Overvalued", + "type": "string" + }, + "valuation_note": { + "type": "string" + } + }, + "type": "object" +}
- Changed
get_methodology1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "attribution": { + "description": "Required attribution text", + "type": "string" + }, + "context": { + "description": "Standing context about TVR and how to read its outputs" + }, + "data_sources": { + "description": "Where the numbers come from" + }, + "disclaimer": { + "description": "Model-derived assessment, not investment advice", + "type": "string" + }, + "error": { + "description": "false on a normal answer, or an error message" + }, + "learn_more": { + "description": "Links for more detail" + }, + "methodology": { + "description": "The 8 metrics, their default weights and how the TVR Score is built" + }, + "requested": { + "description": "What was asked for, when it could not be resolved", + "type": "string" + }, + "status": { + "description": "Present when the request could not be answered as asked, for example not_available", + "type": "string" + }, + "summary": { + "description": "Plain-language summary of the answer", + "type": "string" + } + }, + "type": "object" +}
- Changed
get_top_ranked1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "attribution": { + "description": "Required attribution text", + "type": "string" + }, + "context": { + "description": "Standing context about TVR and how to read its outputs" + }, + "data_sources": { + "description": "Where the numbers come from" + }, + "disclaimer": { + "description": "Model-derived assessment, not investment advice", + "type": "string" + }, + "error": { + "description": "false on a normal answer, or an error message" + }, + "learn_more": { + "description": "Links for more detail" + }, + "rank_by": { + "description": "The ranking basis used", + "type": "string" + }, + "rank_by_description": { + "type": "string" + }, + "rankings": { + "description": "Ordered list of coins", + "type": "array" + }, + "requested": { + "description": "What was asked for, when it could not be resolved", + "type": "string" + }, + "status": { + "description": "Present when the request could not be answered as asked, for example not_available", + "type": "string" + }, + "summary": { + "description": "Plain-language summary of the answer", + "type": "string" + }, + "total_coins_evaluated": { + "type": "number" + } + }, + "type": "object" +}
- Changed
get_tvr_estimated_value1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "attribution": { + "description": "Required attribution text", + "type": "string" + }, + "coin": { + "description": "Coin name", + "type": "string" + }, + "context": { + "description": "Standing context about TVR and how to read its outputs" + }, + "data_sources": { + "description": "Where the numbers come from" + }, + "disclaimer": { + "description": "Model-derived assessment, not investment advice", + "type": "string" + }, + "error": { + "description": "false on a normal answer, or an error message" + }, + "fair_value_gap": { + "description": "Gap between TVR Estimated Value and market price, formatted as a percentage", + "type": "string" + }, + "learn_more": { + "description": "Links for more detail" + }, + "requested": { + "description": "What was asked for, when it could not be resolved", + "type": "string" + }, + "status": { + "description": "Present when the request could not be answered as asked, for example not_available", + "type": "string" + }, + "summary": { + "description": "Plain-language summary of the answer", + "type": "string" + }, + "symbol": { + "description": "Ticker", + "type": "string" + }, + "tvr_estimated_value": { + "description": "TVR Estimated Value, formatted in USD", + "type": "string" + }, + "valuation": { + "description": "Undervalued, Fair Value or Overvalued", + "type": "string" + } + }, + "type": "object" +}
- Changed
get_tvr_score1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "attribution": { + "description": "Required attribution text", + "type": "string" + }, + "category": { + "description": "TVR coin category", + "type": "string" + }, + "coin": { + "description": "Coin name", + "type": "string" + }, + "context": { + "description": "Standing context about TVR and how to read its outputs" + }, + "data_sources": { + "description": "Where the numbers come from" + }, + "disclaimer": { + "description": "Model-derived assessment, not investment advice", + "type": "string" + }, + "error": { + "description": "false on a normal answer, or an error message" + }, + "fair_value_gap": { + "description": "Gap between TVR Estimated Value and market price, formatted as a percentage", + "type": "string" + }, + "learn_more": { + "description": "Links for more detail" + }, + "metric_scores": { + "description": "All 8 metric scores with their weights" + }, + "rank": { + "description": "Rank among evaluated coins, 1 is best", + "type": "number" + }, + "rank_out_of": { + "description": "Number of coins evaluated", + "type": "number" + }, + "requested": { + "description": "What was asked for, when it could not be resolved", + "type": "string" + }, + "status": { + "description": "Present when the request could not be answered as asked, for example not_available", + "type": "string" + }, + "strongest_metric": {}, + "summary": { + "description": "Plain-language summary of the answer", + "type": "string" + }, + "symbol": { + "description": "Ticker", + "type": "string" + }, + "tvr_estimated_value": { + "description": "TVR Estimated Value, formatted in USD", + "type": "string" + }, + "tvr_score": { + "description": "TVR Score, 0 to 100", + "type": "number" + }, + "valuation": { + "description": "Undervalued, Fair Value or Overvalued", + "type": "string" + }, + "weakest_metric": {} + }, + "type": "object" +}
- Changed
list_coins1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "properties": { + "attribution": { + "description": "Required attribution text", + "type": "string" + }, + "coins": { + "description": "Covered coins with ticker and name", + "type": "array" + }, + "context": { + "description": "Standing context about TVR and how to read its outputs" + }, + "data_sources": { + "description": "Where the numbers come from" + }, + "disclaimer": { + "description": "Model-derived assessment, not investment advice", + "type": "string" + }, + "error": { + "description": "false on a normal answer, or an error message" + }, + "learn_more": { + "description": "Links for more detail" + }, + "requested": { + "description": "What was asked for, when it could not be resolved", + "type": "string" + }, + "status": { + "description": "Present when the request could not be answered as asked, for example not_available", + "type": "string" + }, + "summary": { + "description": "Plain-language summary of the answer", + "type": "string" + }, + "total": { + "type": "number" + } + }, + "type": "object" +}
9 tool updates
- Changed
compare_coins1 field changed- changed
Input schema / properties / coins / descriptionPrevious value: -"Array of 2-5 cryptocurrency ticker symbols to compare (e.g., [\"BTC\", \"ETH\", \"SOL\"])"New value: +"Array of 2-5 cryptocurrency tickers or names to compare (e.g., [\"BTC\", \"Ethereum\", \"SOL\"])"
- Removed
get_comparison_report - Removed
get_custom_ranking - Changed
get_full_breakdown2 fields changed- removed
Input schema / properties / _metaRemoved value: -{ - "description": "Payment metadata (handled automatically by MPP-enabled clients)" -} - changed
Input schema / properties / coin / descriptionPrevious value: -"Cryptocurrency ticker symbol (e.g., BTC, ETH, LTC, XMR, SOL, ADA, AVAX, DOT, POL, LINK)"New value: +"Cryptocurrency ticker or name (e.g., BTC, Bitcoin, ETH, LTC, XMR, SOL, ADA, AVAX, DOT, POL, LINK)"
- Removed
get_historical_scores - Removed
get_portfolio_analysis - Changed
get_top_ranked2 fields changed- changed
Input schema / properties / count / descriptionPrevious value: -"Number of coins to return (1-10, default 5)"New value: +"Number of coins to return (default 5)" - changed
Input schema / properties / count / maximumPrevious value: -10New value: +50
- Changed
get_tvr_estimated_value1 field changed- changed
Input schema / properties / coin / descriptionPrevious value: -"Cryptocurrency ticker symbol (e.g., BTC, ETH, LTC, XMR, SOL, ADA, AVAX, DOT, POL, LINK)"New value: +"Cryptocurrency ticker or name (e.g., BTC, Bitcoin, ETH, LTC, XMR, SOL, ADA, AVAX, DOT, POL, LINK)"
- Changed
get_tvr_score1 field changed- changed
Input schema / properties / coin / descriptionPrevious value: -"Cryptocurrency ticker symbol (e.g., BTC, ETH, LTC, XMR, SOL, ADA, AVAX, DOT, POL, LINK)"New value: +"Cryptocurrency ticker or name (e.g., BTC, Bitcoin, ETH, LTC, XMR, SOL, ADA, AVAX, DOT, POL, LINK)"
2 tool updates
- Added
get_tvr_estimated_value - Removed
get_tvr_price
6 tool updates
- Added
get_comparison_report - Added
get_custom_ranking - Added
get_full_breakdown - Added
get_historical_scores - Added
get_portfolio_analysis - Changed
get_top_ranked2 fields changed- changed
Input schema / properties / count / descriptionPrevious value: -"Number of top-ranked coins to return (1-10, default 5)"New value: +"Number of coins to return (1-10, default 5)" - added
Input schema / properties / rank_byAdded value: +{ + "default": "tvr_score", + "description": "Ranking method: tvr_score, most_undervalued, or most_overvalued", + "enum": [ + "tvr_score", + "most_undervalued", + "most_overvalued" + ], + "type": "string" +}
6 tool updates
- First observed
compare_coins - First observed
get_methodology - First observed
get_top_ranked - First observed
get_tvr_price - First observed
get_tvr_score - First observed
list_coins
Related MCP Connectors
Crypto fundamentals, sentiment, whale tracking and influencer call accuracy for traders and agents.
Crypto market signals, technical indicators, and sentiment analysis for AI agents.
Crypto prices, market overview, DeFi TVL, whale flows & anomaly scans for trading agents.
Real-time crypto asset intel for trading AIs: liquidity grades, transfer routes, spreads, BTI
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceReal-time crypto risk scoring for AI agents. Trust Score, crash probability, and distance-to-default for 205 tokens. Free, no API key needed.MIT- AlicenseAqualityAmaintenancePre-computed financial market intelligence for AI agents. Stocks, crypto, and ETFs.996 npm5MIT
- AlicenseNot gradedqualityFmaintenanceScores tokens for market cap risk, liquidity, volatility, and sentiment using CoinGecko, DeFiLlama, and Fear & Greed data.MIT
- AlicenseNot gradedqualityCmaintenanceProvides typed onchain verdicts for EVM tokens with calibrated probabilities, enabling agents to make informed decisions on tokens such as ape, watch, or avoid, along with risk scores.158 npm3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.