Skip to main content
Glama
blocklens

blocklens-mcp-server

Official
by blocklens

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.4.2

  • Disambiguation5/5

    Each tool has a distinct purpose: discovery (list_metrics, search_metrics, get_metric), specific data categories (prices, supply, valuation, profit, cohort, UTXO, coindays, blockchain, cycle), and visualization (render_chart). Even similar tools like get_cohort_metrics and get_utxo_history are clearly delineated by their descriptions.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern: list_*, get_*, search_*, render_*. No mixed casing or inconsistent verb styles are present.

    Tool Count4/5

    With 15 tools, the server sits at the upper boundary of the typical well-scoped range. Each tool covers a distinct aspect of on-chain data, but the count is slightly high, making it feel a bit heavier than the 3-15 ideal.

    Completeness4/5

    The tool surface comprehensively covers discovery, data retrieval for major on-chain metric families, and charting. A minor gap is the lack of a generic get_metric_data tool to fetch arbitrary historical time series, as specific getters only cover predetermined categories.

  • Average 4/5 across 15 of 15 tools scored. Lowest: 3.3/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations provided, the description carries full behavioral disclosure burden, but it only states the fundamental action. It does not mention that this is a read-only operation, nor does it describe any nuances such as date range overriding behavior, response structure, or potential side effects. The schema covers parameter mechanics, so the description should at least indicate the behavioral scope, but it does not.

    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 description is a single, focused sentence: 'Get blockchain network metrics: block height or daily blocks mined.' It is front-loaded with the primary verb and resource, contains no filler, and earns its place by communicating core purpose without redundancy.

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

    Completeness3/5

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

    The tool is relatively simple with a well-documented schema, but the description alone does not provide a complete picture. It lacks mention of return values (no output schema exists) and does not address how it fits with sibling tools. Given the absence of annotations and the need for contextual integration, the description is adequate but not fully complete.

    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 baseline is 3. The description adds minimal semantic value beyond the schema by naming the two metrics, but this information is already present in the metric enum. No additional context is provided for the date range parameters, so the description does not meaningfully enhance parameter understanding.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Get blockchain network metrics' and specifies the two metrics (block height, daily blocks mined). This directly distinguishes it from sibling tools like get_prices or get_holder_supply, which focus on other metric types. The verb 'get' and resource 'blockchain network metrics' provide a specific and unambiguous purpose.

    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?

    The description offers no guidance on when to use this tool versus alternatives. There is no mention of preferred contexts, exclusions, or comparisons to siblings like get_latest_metrics or get_metric. Given the large number of sibling metrics tools, this lack of usage guidance is a notable gap.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It adds context about MVRV thresholds for overheating and undervaluation, which is useful. However, it does not disclose operational behaviors such as data source, whether it is read-only, or any side effects. The 'get' verb implies read-only, but it's not explicitly stated.

    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 description is two sentences, front-loaded with the core purpose. The first sentence enumerates the metrics clearly; the second adds a brief historical interpretation. No redundant or wasted words.

    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?

    The tool is simple with no output schema. The description lists the metrics returned, which gives the agent a good idea of the output. It doesn't describe the return structure (e.g., time series vs single point), but given the low complexity, it's reasonably complete. It could benefit from mentioning that these are daily historical data points, but not required.

    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?

    The input schema already includes full descriptions for all three parameters (days, end_date, start_date). The description adds no additional parameter semantics such as departures interactions or date formatting, so it's at baseline given 100% schema coverage.

    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 clearly states it retrieves Bitcoin valuation metrics and explicitly lists the specific metrics (Realized Cap, Realized Price, LTH/STH, MVRV, Unrealized P/L). It distinguishes itself from sibling tools like get_holder_supply and get_holder_profit by focusing on valuation ratios, though it does not explicitly name alternatives.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It only gives interpretive thresholds for MVRV, which is more about analyzing output than deciding tool choice. No exclusions or alternative tool references are provided.

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

  • Behavior3/5

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

    No annotations are provided, so the description must carry the behavioral disclosure burden. It discloses the functional behavior (aggregate vs individual tracks) but omits details like output format, pagination, or whether it's a read-only operation; though 'Get' implies read-only. The description adds some value but lacks rich 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?

    Two concise sentences, front-loaded with purpose, no redundant words.

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

    Completeness3/5

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

    The tool has no output schema and no annotations, so the description should explain what the return data looks like. It covers the core distinction between modes but leaves the return structure and edge cases (e.g., date overrides) to the schema. Given moderate complexity, it is adequate but incomplete.

    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?

    The input schema already describes all four parameters with 100% coverage, including the type parameter's behavior. The description repeats the type behavior and adds limited context about index reference points, but does not meaningfully enhance parameter understanding beyond 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 clearly states the tool retrieves Bitcoin cycle performance data and explains it shows price progression indexed from cycle reference points. It differentiates aggregate vs individual modes, but does not explicitly contrast with sibling tools like get_prices.

    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 provides clear context that omitting type returns aggregate comparison and including type returns individual cycle tracks, implying when to use each variant. However, it does not mention when to choose this tool over alternatives such as get_prices or render_chart.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden for behavioral disclosure. It explains the conceptual meaning of Coin Days but does not disclose operational behaviors such as whether the operation is read-only, required authentication, rate limits, data availability constraints, or the return format. This is a significant gap for a tool with no annotations.

    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 description is two sentences: the first lists the metrics, the second provides a brief conceptual explanation. It is front-loaded, free of filler, and every phrase adds value. This is an example of efficient, well-structured description.

    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?

    The tool is a simple metric getter with 3 optional, well-described parameters and no output schema. The description clearly enumerates the metrics returned, and the schema's 'days' description implies a daily time-series structure. While it lacks explicit return-shape details and alternative guidance, the combination of description and schema is sufficient for basic correct invocation.

    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?

    The input schema has 100% coverage for all three parameters with descriptions. The tool description adds no additional parameter-specific meaning beyond what the schema already states (e.g., start_date overrides days). This matches the baseline score of 3 for high schema coverage with no added parameter details.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Get Coin Days metrics' followed by a specific list of metrics (CDD, binary CDD, supply-adjusted CDD, liveliness, etc.). This uses a specific verb-resource combination and distinguishes it from sibling tools like get_prices or get_holder_supply, which target different metric families.

    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 when Coin Days metrics are needed, but it does not explicitly state when to use this tool over alternatives or provide exclusions. It lacks guidance such as 'use this instead of get_prices for on-chain coin-days data' or any mention of related tools, so it only meets the 'implied usage' benchmark.

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

  • Behavior3/5

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

    With no annotations, the description must carry the burden of disclosing behavioral traits. It does explain outputs (token amounts and USD values per cohort date) and hints at the analytical value, but it does not disclose any operational caveats such as parameter interactions, data granularity, or possible rate limits. The read-only nature is implied by 'Get' but not explicitly stated.

    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 description is only two sentences long, front-loaded with the core purpose and then adding a valuable use-case context. Every word earns its place, making it efficient and easy to parse.

    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?

    Given the tool has 4 parameters and no output schema, the description gives a conceptual idea of the return data (token amounts and USD values per cohort) but does not explain how the parameters interact or what the response structure looks like. This leaves gaps for an agent trying to construct a correct invocation, especially around the 'days' parameter and the date parameters.

    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?

    The input schema describes all four parameters (100% coverage), so the description does not need to add much. It adds no parameter-specific meaning beyond what the schema already provides; notably, the unusual 'days' parameter (described as 'Number of records to return') is not clarified, leaving potential ambiguity.

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

    Purpose5/5

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

    The description uses a specific verb ('Get') and resource ('UTXO set breakdown by age cohort'), clearly indicating the tool's function. It distinguishes itself from sibling metrics tools by emphasizing age-cohort analysis and USD values, making its unique scope evident.

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

    Usage Guidelines4/5

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

    The description provides a clear use case: analyzing coin dormancy and accumulation patterns, and notes a practical signal (dormant supply movement often precedes price action). However, it does not explicitly mention alternative tools or exclusion criteria, but the context is sufficiently clear for an agent to decide when to use it.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden. It indicates a read operation ('Get') and specifies the exact data returned, but does not disclose additional behavioral traits such as default date ranges, data ordering, or any potential side effects. It is sufficient but not rich.

    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 description is two sentences, front-loaded with the core purpose, and contains no filler. Every word contributes to understanding the tool's function and context.

    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?

    The tool has 4 parameters, an enum, and no output schema. The description explains the purpose, the type of data returned, and the intended analysis, which is reasonably complete for a read-only metrics tool. Missing details like return format are not critical given the straightforward nature.

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

    Parameters3/5

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

    Schema coverage is 100%, so the baseline is 3. The description adds context about the meaning of cohort metrics (supply, realized cap, realized price) but does not elaborate on parameter usage beyond what the schema provides (e.g., it does not explain how start_date overrides days). It adds marginal value.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Get age cohort metrics: supply (BTC), realized cap (USD), and realized price (USD) for a specific UTXO age bracket.' It explicitly names the resource (UTXO age cohort) and the specific metrics returned, making it distinct from sibling tools like get_holder_supply or get_prices.

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

    Usage Guidelines4/5

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

    The description provides a clear use case: 'Used for HODL Waves analysis to track accumulation/distribution by coin age.' This gives context on when to use the tool, though it does not explicitly mention alternatives or when not to use it relative to siblings.

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

  • Behavior4/5

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

    No annotations are present, so the description carries the transparency burden. It clearly discloses the output format (one row per day, newest first) and that prices are in USD. It does not mention data limitations or potential missing days, but for a read-only data retrieval tool this is a reasonable level of disclosure.

    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 description is two sentences long, with the action and object front-loaded. It provides relevant details about returned fields and ordering without any redundant or filler text.

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

    Completeness4/5

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

    For a simple read-only tool with fully documented parameters, the description adequately covers the return format and main use case. It does not discuss edge cases like missing data or date-range constraints, but these are either in the schema or not essential for basic invocation. The lack of an output schema makes the return-format clarification valuable, which is included.

    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?

    The input schema already provides descriptions for all four parameters with 100% coverage, so the description adds little beyond a high-level summary. It does not explain interactions like start_date overriding days, but the schema already documents this, so a baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description uses the specific verb 'Get' and clearly identifies the resource: daily OHLC prices in USD, market cap, and 24h trading volume. It also specifies the response shape (one row per day, newest first), distinguishing it from sibling tools like get_metric or list_metrics.

    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 stating what the tool returns, but it does not explicitly state when to use this tool versus alternatives like get_metric or render_chart. No exclusions or alternative recommendations are provided, leaving the selection decision mostly to the parameter names.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses the output content (counts and metric IDs) and the specific categories, but does not explicitly state side effects or safety, though 'List' implies a read-only operation. The added detail about categories and counts provides some transparency beyond a mere 'List categories'.

    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 description is two concise sentences: the first states the action and output, the second adds value by listing categories and use case. No redundant filler, and the structure front-loads the functional purpose.

    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?

    Given zero parameters and no output schema, the description adequately explains the return content (categories, counts, metric IDs) and enumerates the categories. It could specify the exact response structure (e.g., list vs object), but for a simple discovery tool it is largely complete.

    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 has zero parameters, so the baseline is 4. The description correctly implies no parameters are needed, and the empty schema confirms this. There is no parameter information to add beyond what the schema already shows.

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

    Purpose5/5

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

    The description clearly states the tool 'List all metric categories with counts and metric IDs in each', using a specific verb and resource. It distinguishes itself from siblings like list_metrics by focusing on categories rather than individual metrics, and enumerates the exact categories covered.

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

    Usage Guidelines4/5

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

    The phrase 'Useful for discovering what data is available' gives clear context on when to use this tool. It does not explicitly name alternatives or exclusions, but the intention is evident, meeting the bar for clear context without explicit exclusions.

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

  • Behavior4/5

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

    With no annotations, the description carries the transparency burden. It discloses the Pro tier API key requirement and explains the interpretation of SOPR values, which is valuable behavioral context. However, it does not mention rate limits, return format, or other potential side effects, leaving some gaps.

    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 description is two sentences with no fluff. The first sentence states the purpose and lists metrics; the second explains SOPR interpretation and the access requirement. 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?

    The tool is relatively simple with no required parameters and a clear scope. The description covers the main metrics, their interpretation, and the access constraint. Given the absence of an output schema, it does not describe the response structure, but the naming of metrics implies what will be returned. This is sufficient for a straightforward 'get metrics' tool.

    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 schema already documents all three parameters. The description does not add any additional semantic context about the parameters, such as how they interact or format details. Baseline 3 is appropriate.

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

    Purpose5/5

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

    The description states a clear verb and resource: 'Get Bitcoin profit metrics' and immediately enumerates the specific metrics (LTH/STH Realized P/L and SOPR). This distinguishes it from sibling tools like get_holder_supply or get_holder_valuation, which focus on different data dimensions.

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

    Usage Guidelines4/5

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

    The description provides clear context by specifying the exact metrics returned, making it evident when to use this tool. It also includes an access prerequisite ('Requires Pro tier API key'). However, it does not explicitly name alternative tools or state when not to use this tool, so it stops short of a full 5.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It explains that the tool returns the most recent snapshot across categories, but it does not disclose details such as the return structure, potential latency, or whether any fields might be missing. While the purpose is clear, richer behavioral context is absent.

    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 description is two sentences, front-loaded with the core purpose and followed by a usage tip. Every word earns its place without redundancy, exemplifying conciseness.

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

    Completeness4/5

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

    For a zero-parameter tool with no output schema, the description covers the essential aspects: what it delivers (latest snapshot), scope (all categories), and typical use case (quick overview). It lacks some detail on the exact return format, but the simplicity of the tool makes the description sufficiently complete.

    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 has zero parameters, so the baseline for this dimension is 4. The description adds useful context by explicitly stating that no date ranges are needed, which clarifies the parameter-less operation and distinguishes it from other metric tools that require date filters.

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

    Purpose5/5

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

    The description clearly states the tool's function: retrieving the most recent snapshot across all metric categories (price, supply, valuation, profit) in a single call. This specific verb+resource+scope distinguishes it from sibling tools like get_prices or get_holder_supply, which focus on individual categories.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use the tool: for a quick market overview without date ranges. It does not explicitly name alternatives or exclusions, but the emphasis on 'all metric categories' and 'single call' implies the tool is ideal over more specific getters, making it 4 rather than 5.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It explains the LTH/STH threshold (155 days), the units (BTC), and what the returned breakdown consists of. This adds meaningful context beyond a simple 'get data' phrase. It does not cover potential errors or edge cases, but for a read-only metric tool this level is sufficient.

    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 description is three sentences long and front-loaded with the main purpose, then provides essential definitions and units. Every sentence earns its place, with no filler. It is concise while remaining informative.

    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?

    For a relatively simple data retrieval tool with optional parameters and no output schema, the description is complete. It explains the exact metrics returned, the definition of LTH/STH, and the units. The schema covers date-range parameters, so the description does not need to repeat that. No significant gaps remain.

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

    Parameters3/5

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

    Schema description coverage is 100%, and each parameter already has a clear description. The tool description adds no extra parameter-level details beyond what the schema provides. Thus the baseline of 3 is appropriate; the schema does the heavy lifting for parameters.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: to get Bitcoin holder supply breakdown, specifically LTH supply, STH supply, and circulating supply. It uses a specific verb 'Get' and resource, and distinguishes from sibling tools like get_holder_valuation or get_holder_profit by detailing what this tool uniquely returns.

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

    Usage Guidelines4/5

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

    The description provides clear context on what data the tool returns (holder supply breakdown) and defines key terms (LTH, STH). However, it does not explicitly state when to use this tool over siblings or mention any exclusion criteria. While the context is clear, the absence of explicit alternative guidance keeps it from a 5.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It goes beyond a simple 'get metric' by listing the exact fields returned (name, description, category, endpoint, etc.), giving the agent a concrete expectation of the output. It does not mention error handling or access-tier behavior, but for a read-only get-by-ID tool 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.

    Conciseness5/5

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

    The description is two sentences: the first states purpose and return contents, the second gives usage guidance. It is front-loaded with the key verb and resource, with no wasted words or redundancy.

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

    Completeness5/5

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

    For a simple tool with one parameter and no output schema, the description is complete. It explains the tool's purpose, return content, and prerequisite usage in a compact form, making it fully actionable for an agent.

    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?

    The input schema already provides 100% coverage for the single metric_id parameter, including usage examples. The description adds no additional parameter semantics beyond the schema, so the baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool's function with a specific verb ('Get') and resource ('full definition of a single metric by its ID'), and enumerates the returned fields (name, description, category, etc.). This distinguishes it from sibling tools like list_metrics and search_metrics, which handle broader listing/searching.

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

    Usage Guidelines5/5

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

    Explicitly directs the agent to use search_metrics or list_metrics first to obtain metric IDs, providing clear when-to-use guidance and naming alternative tools. This effectively communicates the prerequisite workflow and differentiates from alternatives.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It adds value by specifying the exact return structure (id, name, description, category, unit, endpoint, access tier), which implies a read-only catalog operation. It does not mention pagination or rate limits, but for a simple list tool this is acceptable.

    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 compact sentences convey the purpose and output structure without waste. The description is front-loaded with the verb and resource, and every sentence adds value.

    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?

    For a no-parameter list tool, the description completely specifies the output fields and scope. Since there is no output schema, the explicit enumeration of return fields compensates fully, making the tool's behavior clear and complete.

    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 has zero parameters, and the schema already covers the empty parameter list. The description correctly omits unnecessary parameter details, matching the baseline of 4 for zero-parameter tools.

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

    Purpose5/5

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

    The description uses a specific verb ('List') and resource ('all available on-chain metrics'), clearly distinguishing it from sibling tools that retrieve specific metric data. It also enumerates the returned fields (id, name, description, category, unit, endpoint, access tier), leaving no ambiguity about the tool's role.

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

    Usage Guidelines4/5

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

    The context is clear: this tool is for enumerating all metrics. However, it does not explicitly state when not to use it or suggest alternatives like search_metrics or get_metric for targeted lookups, which would provide stronger usage guidance.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries the full burden. It discloses key behaviors including multi-axis handling, vertical zones, domain clamping, and the critical pitfall of flat lines when mixing units on the same axis. It also mentions 'smart defaults' and provides concrete examples. It lacks details on error handling or rate limits, but the main operational quirks are well covered.

    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 description is lengthy but effective. It is front-loaded with a clear summary, followed by usage triggers and 'IMPORTANT' guidance, then well-organized examples covering each feature. While it is verbose, every sentence provides substantive value, and the examples serve as compact parameter documentation.

    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 18 parameters, nested structures, and no output schema, this description is exceptionally complete. It covers all major capabilities, provides caveats for unit scaling, and demonstrates usage for each feature category. The agent can confidently construct complex chart requests based on the examples and guidance.

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

    Parameters5/5

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

    Schema description coverage is 100%, giving a baseline of 3. The description goes well beyond by providing multiple examples that illustrate parameter combinations (e.g., y_axes, reference_lines, formulas) and explains the 'm1/m2' formula syntax. It adds practical semantic meaning, such as using range [0,20] for stacking axes, which is not fully apparent from the schema alone.

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

    Purpose5/5

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

    The description states exactly what the tool does: 'Render a Bitcoin on-chain analytics chart as a PNG image.' It clearly distinguishes from sibling data-fetching tools by focusing on visualization with verbs like 'chart' and 'plot', and mentions specific capabilities (templates, formulas, customization).

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

    Usage Guidelines4/5

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

    The description provides explicit usage triggers: 'Use this when the user asks to show, chart, plot, graph, or visualize any metric.' It gives extensive examples and multi-axis guidance, though it does not explicitly name alternative tools for data retrieval. The context is clear enough to decide when to use this tool versus siblings.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries the full burden. It discloses what the tool returns (matching metrics with IDs, API endpoints, access tiers, descriptions) and that it is a search operation, implying read-only behavior. It does not detail matching logic (e.g., partial vs exact) or pagination, but for a simple discovery tool 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.

    Conciseness5/5

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

    The description is two concise sentences. It front-loads the action and result, then provides usage guidance. Every sentence adds value with no redundancy or fluff.

    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?

    Despite having no output schema, the description states the return fields (IDs, API endpoints, access tiers, descriptions), covering the essential output. The tool is simple (one parameter), and the description includes purpose, usage context, and output details, making it complete for its complexity.

    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 schema already fully describes the 'query' parameter with examples, so the baseline is 3. The description adds meaningful context by stating the search is 'by name or description,' which the schema property does not mention. This enhances parameter understanding beyond the structured 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?

    The description clearly states the tool's function: 'Search available metrics by name or description' and specifies what it returns (IDs, API endpoints, access tiers, descriptions). This distinguishes it from siblings like list_metrics (which likely lists all) and get_metric (which retrieves a specific metric). The verb 'search' is specific and the resource is explicit.

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

    Usage Guidelines4/5

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

    The description provides a clear usage context: 'Use this to discover which metrics are available before fetching data.' This tells the agent when to use it (as a discovery step) and implies an alternative (fetching data directly). However, it does not explicitly name alternative tools or state when not to use it, so it falls short of a perfect score.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

blocklens-mcp-server MCP server

Copy to your README.md:

Score Badge

blocklens-mcp-server MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/blocklens/blocklens-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server