Skip to main content
Glama

Screen Assets by Metric

assets_by_metric_tool
Read-only

A powerful metrics-based project filtering and sorting tool that works with cryptocurrency assets based on their metrics and allows for ordered, paginated results.

The tool allows for filtering assets by a metric and sorting them according to that same metric in ascending or descending metric, or just to sort the assets by a metric without filtering.

This tool allows you to discover projects that meet specific criteria by analyzing their metrics over time periods. You can filter projects by absolute values (greater_than/less_than thresholds) or by percentage changes, or just sort projects by some metric.

When to use vs other metric tools

This tool scans the whole asset universe and returns one aggregated value per matching asset — use it for "which assets satisfy X" and "top N by X". It never returns a timeseries: for the values of a metric over time for already-known slugs use fetch_metric_data_tool. To check that a metric exists (or fix a mistyped metric/slug) use metrics_and_assets_discovery_tool.

Use Cases

  • Get top 10 assets by marketcap, sorted in descending order

  • Get top 50 assets with highest dev_activity_1d

  • Find assets with price more than $10

  • Discover tokens whose price increased by more than 50% in the last 30 days

  • Screen for projects with market cap less than $100M

  • Identify assets that have dev_activity_1d decline by more than 20% in the past month

Examples

  • Get projects that have a price_usd in the last 24 hours and it's greater_than $500. Get the first 20 ordered by price_usd in descending order {metric: "price_usd", operator: :greater_than, threshold: 500.0, from: "utc_now-24h", to: "utc_now", sort: "desc, page: 1, page_size: 20}

  • Find projects whose price_usd today is 25% higher than 7 days ago, sorted by the highest percent increase in descending order. Get the first 100. {metric: "price_usd", operator: :percent_up, threshold: 25.0, from: "utc_now-7d", to: "utc_now", sort: "desc", page: 1, page_size: 100}

  • Projects with current market cap less_than $50M. Get 100 such projects, ordered by marketcap in descending order. {metric: "marketcap_usd", operator: :less_than, threshold: 50000000.0, from: "utc_now-1d", to: "utc_now", sort: "desc", page: 1, page_size: 100}

Here is how the filtering works:

  • For absolute value operators - greater_than and less_than - fetch the metric for each asset in the interval from-to, aggregting it using the specified aggregation method (defaulting to the metric's default).

  • For percent change operators - percent_up and percent_down - fetch the metric for each asset in the interval from-to, as well as in the same length interval immediately before from`. The two resulting values are compared to calculate the percentage change.

Some metrics like price_usd and marketcap_usd are aggregated with LAST aggregation by default, meaning that the last known value in the queried interval is used. For percent change, this means that the tool compares the last known price immediately before from and the last known price before to. Other metrics like transaction_volume_usd and social_volume_total (and most other volume metrics) are aggregated by default with SUM aggregation, meaning that the total combined sum in the queried interval is used. For these metrics length of the time window is vital. A common mistake is to try to check if the social_total_total for the last 5 minutes is greater_than some threshold. Five minutes is not enough for social volume to accumulate enough. In such scenarios use a longer time window like 1 day or more.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesEnd date/time for the analysis period. Defines the end of the time window for metric aggregation. Accepts ISO 8601 datetime strings (e.g., "2024-12-31T23:59:59Z") or relative time expressions (e.g., "utc_now" for current time, "utc_now-1d" for yesterday). Defaults to current time if not specified. Must be after the 'from' date. Used with percentage operators to calculate change over the specified period.
fromYesStart date/time for the analysis period. Defines the beginning of the time window for metric aggregation. Accepts ISO 8601 datetime strings (e.g., "2024-01-01T00:00:00Z") or relative time expressions (e.g., "utc_now-30d" for 30 days ago, "utc_now-1h" for 1 hour ago) Defaults to 30 days ago if not specified. Used with percentage operators to calculate change over time.
pageYesPage number for paginated results. Used to retrieve specific pages when the result set is large. Starts from 1 (first page). Combine with page_size to control how many results are returned per page. Useful when only the top 10, 20, 100, etc. assets are needed.
sortYesSort order for the filtered results based on the aggregated metric values. - "asc" - Ascending order (lowest values first, e.g., cheapest prices first) - "desc" - Descending order (highest values first, e.g., most expensive prices first) Particularly useful when combined with pagination to get the top/bottom performers. Example: sort="desc" with price_usd shows highest-priced projects first.
metricYesThe metric to use for screening projects. This determines what aspect of each project will be analyzed. Common metrics include: 'price_usd', 'marketcap_usd', 'volume_usd', 'dev_activity', 'social_volume', 'active_addresses'. Use the data catalog to discover all available metrics for comprehensive screening options. Discover the supported metrics with the metrics_and_assets_discovery_tool.
operatorNoComparison operator that determines how projects are filtered based on the metric and threshold. Absolute value operators (compare current values): - `greater_than` - Include projects where the aggregated metric value is greater than the threshold - `less_than` - Include projects where the aggregated metric value is less than the threshold Percentage change operators (compare change from 'from' to 'to' period): - `percent_up` - Include projects where the metric increased by more than the threshold percentage - `percent_down` - Include projects where the metric decreased by more than the threshold percentage If this parameter is not provided, the threshold parameter also must not be provided. If they are not provided, the tool will simply sort the assets and will do no filtering. Example: operator=percent_up, threshold=25.0 finds projects that gained more than 25%.
page_sizeYesNumber of projects to return per page (max 100). Controls the size of each paginated response.
thresholdNoThe numeric threshold value used for filtering projects. The meaning depends on the operator: For absolute operators (:greater_than, :less_than): - The actual metric value to compare against (e.g., 10.5 for price_usd greater_than $10.50) - Units match the metric (USD for price/market cap, count for addresses, etc.) For percentage operators (:percent_up, :percent_down): - The percentage change threshold (e.g., 25.0 for 25% change) - Always expressed as a positive number regardless of direction If this parameter is not provided, the operator parameter also must not be provided. If they are not provided, the tool will simply sort the assets and will do no filtering. Examples: threshold=50000000.0 with :less_than finds projects with market cap under $50M
aggregationNoMethod for aggregating metric data over the specified time period. Determines how multiple data points within the time window are combined into a single value for comparison. Common aggregation methods: - "avg" - Average value over the period (default for most metrics) - "sum" - Total sum of values (useful for volume, transaction counts) - "max" - Maximum value in the period (highest price, peak activity) - "min" - Minimum value in the period (lowest price, minimum activity) - "last" - Most recent value in the period - "first" - Earliest value in the period If not specified, uses the metric's default aggregation, whichi is carefully selected based on the metric type. Some aggregations do not make sense for certain metrics (e.g., summing prices). If not specifically required, using the metric's default aggregation method is recommended.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true and destructiveHint=false; the description adds substantial behavioral detail: aggregation mechanics for absolute vs percent operators, default LAST vs SUM aggregations, and a warning about time-window sufficiency for volume metrics. It discloses the operational semantics 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.

Conciseness4/5

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

The description is long but well-structured with clear headings (When to use, Use Cases, Examples, How filtering works). Minor fluff like 'powerful' and some repetition (e.g., sorting behavior repeated) prevent a 5, but every major section earns its place for a 9-param tool.

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?

Covers the full task scope: what it returns (one aggregated value per asset), pagination behavior, filtering operators, aggregation defaults, and sibling-tool distinctions. Without an output schema, it still tells the agent the essential return shape and common usage patterns, making it complete for agent invocation.

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 already covers all 9 parameters (100% coverage); description adds real value by explaining filtering mechanics with worked examples, clarifying percent operator comparisons across two intervals, and noting 'metric's default aggregation' behavior. Threshold/operator coupling is also explained in schema, but the description's use cases and time-window advice go beyond schema.

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

Purpose5/5

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

States it is a 'metrics-based project filtering and sorting tool' that 'scans the whole asset universe' and returns 'one aggregated value per matching asset.' It explicitly differentiates from siblings by noting it 'never returns a timeseries' and directing to fetch_metric_data_tool for timeseries and metrics_and_assets_discovery_tool for metric discovery.

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?

The 'When to use vs other metric tools' section explicitly says to use this for 'which assets satisfy X' and 'top N by X', and directs to fetch_metric_data_tool for timeseries over known slugs and metrics_and_assets_discovery_tool for validating metrics. This gives clear affirmative and exclusionary guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: screening assets vs fetching timeseries vs catalog discovery vs charting vs insights discovery/fetch vs trending stories vs combined trends. The overlapping trending tools are explicitly differentiated through a superset relationship with usage guidance.

Naming Consistency3/5

All names are snake_case and most end in '_tool', but the pattern is mixed: some start with verbs (fetch_*, show_*) while others are noun phrases (assets_by_metric_tool, combined_trends_tool, insight_discovery_tool). This is readable but not a consistent verb_noun convention.

Tool Count5/5

8 tools is well-scoped for a crypto analytics server, covering discovery, data retrieval, screening, charting, and content access without bloat or thinness. Each tool earns its place in the workflow.

Completeness4/5

The toolset covers the core workflows: catalog discovery, metric timeseries, asset screening, chart rendering, insights list/fetch, and trending data. Minor gaps include no multi-metric timeseries fetch and a limited set of chart overlay options, but agents can work around these.

Resources