Skip to main content
Glama

bitcoin-signals

Scan Bitcoin signals

scan_signals
Read-onlyIdempotent

Ranked cross-signal feed of CoinBucha's leading, non-price Bitcoin indicators. Returns { as_of, btc_price_usd, count, signals[], disclaimer }, where each signal carries id, type, title, value, unit, signal_strength (0-100), direction (tailwind | headwind | neutral), a one-line why, sources[] and its own as_of. Optional filters narrow by strength, direction or signal type. Example: {"min_strength": 70, "direction": "tailwind"} — call with {} for the full ranked list. Observational data; information, not financial advice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
directionNoKeep only signals carrying this direction label
min_strengthNoOnly signals with strength >= this
signal_typesNoe.g. ['sovereign_adoption','hiring_velocity']

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false. The description adds valuable behavioral details beyond those: the exact return shape ({ as_of, btc_price_usd, count, signals[], disclaimer }), the per-signal fields, each signal's own as_of (implying different timestamps), and the caveat 'Observational data; information, not financial advice.' This gives the agent a solid mental model of 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.

Conciseness5/5

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

The description is information-dense but well-organized: purpose first, then return structure, then filters/example, then disclaimer. Every sentence adds necessary context, especially given there is no output schema. No filler or repetition.

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?

With 3 optional params and no output schema, the description fully compensates by detailing the complete response structure and giving a usage example. It also sets expectations about observational/non-financial-advice data. The sibling tools are clearly narrower, reinforcing this tool's aggregating role, making the description complete for an agent to select and invoke it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by explaining the filter effect ('narrow by strength, direction or signal type') and providing a concrete example: '{"min_strength": 70, "direction": "tailwind"}'. This example clarifies how parameters combine, adding value over the bare 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 opens with a specific verb+resource: 'Ranked cross-signal feed of CoinBucha's leading, non-price Bitcoin indicators.' This clearly distinguishes it from sibling tools like get_hiring_signal or get_etf_flows, which are individual signal feeds. The purpose is unambiguous and not a tautology.

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 gives concrete usage context: 'Optional filters narrow by strength, direction or signal type' and 'call with {} for the full ranked list.' It implies this is the go-to for a cross-signal overview, and siblings are individual feeds. However, it does not explicitly name an alternative or say 'use this instead of X when you need a combined view,' so it slightly misses the 'when-not' 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.3/5.0
Disambiguation4/5

Tools target distinct data sources: ETF flows, hiring, network hashrate, sovereign reserves, treasury holdings, and a cross-signal scan. get_daily_brew and scan_signals both summarize signals but differ in format (digest vs. ranked list), creating mild potential for confusion. Overall, descriptions clearly differentiate purposes.

Naming Consistency4/5

Six of seven tools follow a consistent get_<resource> pattern (e.g., get_etf_flows, get_treasury_holdings). scan_signals breaks the pattern with a different verb, and get_daily_brew uses a non-resource name, but the deviation is minor and the naming remains intuitive.

Tool Count5/5

With 7 tools, the set is well-scoped for a Bitcoin signals server. Each tool covers a distinct signal category without excess or redundancy, making the count appropriate for the domain.

Completeness4/5

The tool surface covers a broad range of leading Bitcoin indicators (network, institutional flows, corporate and sovereign holdings, hiring, and a composite scan). Potential minor gaps exist (e.g., sentiment or derivatives data), but the core signal set appears reasonably complete for the stated purpose.