Skip to main content
Glama

validate_crypto_signal

Is this crypto opportunity still valid right now? Give a signal_id and receive its live status (ACTIVE/STALE/INVALIDATED), remaining entry window in seconds, current price versus the entry zone, spread, data quality, maker/taker economics recomputed at the current price, whether the upstream execution blockers changed, and any invalidation reasons. Freshness first: an expired entry is reported as expired. Advice only: no execution, no custody, no position sizing. Paid per request.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
signal_idYesSignal id to re-check right now, e.g. 'sig_a1b2c3d4e5f6'. Returns status ACTIVE|STALE|INVALIDATED, remaining entry window and economics at the current price.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesThe validated input echoed back, i.e. the signal_id you asked for.
statusYesLive status at call time. ACTIVE = published AND entry window still open, STALE = entry window closed (the hold horizon may still run), INVALIDATED = an invalidation condition triggered. Only ACTIVE is a current new-entry advice.
versionNoVersion of the advice this validation describes.
economicsNoEstimated round-trip economics in percent of position value (1.8 = 1.8%). Taker = crossing the spread for an immediate fill; maker = a cheaper passive limit order that may never fill. Values the source cannot compute are null (e.g. for WATCH/NEUTRAL/AVOID, which have no concrete target).
executionNoInternal eligibility metadata of the UPSTREAM system — informational only, never a permission or prohibition for you. Upstream may block a candidate for its own reasons while the opportunity is perfectly publishable.
signal_idYesStable id of the opportunity across versions; the input for every other call in the chain.
checked_atYesWhen we produced this answer (ISO 8601, UTC). The only ISO timestamp in the payload; every other timestamp is unix seconds.
disclaimerYesOur product boundary, verbatim in every paid advice response: market intelligence only, no execution, no custody, no position sizing, and opportunity_score is a heuristic rather than a calibrated win probability.
spread_bpsYesObserved bid/ask spread in basis points; null when not measurable. A wide spread eats the net edge in economics.
price_as_ofNoUnix seconds — when current_price was observed.
data_qualityNoQuality of the market data behind this validation: GOOD = fresh and complete, DEGRADED = usable but partial or wide/uncertain, STALE = too old to rely on (treat the price-derived fields with caution).
invalidationNoWhether the advice's own invalidation conditions have triggered.
source_as_ofYesUnix seconds — freshness of the upstream advice system's answer.
current_priceYesLast observed price of the coin upstream; null when no usable price was available (then price_vs_entry_zone is UNKNOWN).
next_check_afterNoOnly present when status is not ACTIVE — unix seconds before which polling again is pointless (now + 1800).
entry_valid_untilNoUnix seconds — end of the 30-minute new-entry window (not a position deadline; the hold horizon lives on the advice as expected_hold_until).
source_disclaimerNoVerbatim disclaimer of the upstream advice system, passed through unedited.
publication_statusNoPublication state of the advice. PUBLISHED = live and current, STALE = retrievable history whose entry window closed, INVALIDATED = an invalidation condition triggered. Expired ids stay retrievable with their real status.
price_vs_entry_zoneNoWhere current_price sits relative to the advised entry zone: BELOW entry_zone.min, INSIDE the zone, ABOVE entry_zone.max (chasing), or UNKNOWN when there is no price or no concrete entry zone.
recommended_next_callYesMachine-readable next step in the chain (scan → signal → validate → evidence → check), so you can follow the workflow without documentation. null means there is explicitly nothing useful to call now; next_check_after then says when to come back.
execution_blockers_changedNoTrue when the upstream system's internal execution blockers differ from those published with the advice; informational only, never a permission.
entry_window_remaining_secondsNoSeconds left in that entry window; 0 or below means it closed and status is no longer ACTIVE.

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description effectively discloses behavioral traits: it performs a live status check, returns extensive real-time data, and explicitly states it is read-only ('no execution, no custody, no position sizing'). It also mentions the service is paid per request.

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 concise (two sentences) and efficiently conveys the purpose and outputs. However, it could be improved by structuring the list of outputs more clearly (e.g., bullet points) and front-loading the most critical information.

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 the tool's low complexity (one parameter, output schema exists), the description is fairly complete. It explains what the tool returns and its non-execution nature. However, it lacks mention of prerequisites (e.g., how to obtain a valid signal_id) and error handling scenarios.

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 covers 100% of parameters with a detailed description for signal_id. The tool description adds no additional parameter-level information beyond what the schema provides, so 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 clearly identifies the tool's purpose: validating a crypto signal by checking its live status. It specifies the verb 'validate' and the resource 'crypto_signal', and distinguishes from siblings like 'get_crypto_signal' by emphasizing real-time freshness and return of detailed live data.

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?

No explicit guidance on when to use this tool vs alternatives such as 'get_crypto_signal' or 'check_crypto_signal'. The description states 'Advice only: no execution...' but does not provide context for when to choose this tool over others.

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.1/5.0
Disambiguation5/5

Every tool targets a distinct action and domain: country-specific company checks (check_ch_company, check_fr_company, etc.), insolvency checks, crypto signals, x402 network tools, etc. Descriptions are detailed and make boundaries clear, with no two tools appearing to do the same thing.

Naming Consistency5/5

Tool names follow very consistent patterns: 'check_<country>_<entity>' for registers, 'crypto_*' for crypto intelligence, 'x402_*' for x402 network functions, 'screen_*' for screening, and a few free-form names like 'verify_eu_vat' and 'lookup_lei' that still fit the verb_noun style. No mixing of conventions.

Tool Count4/5

39 tools is high but justified by the broad scope: the server aggregates many country-specific checks, insolvency registers, crypto tools, x402 monitoring, and auxiliary functions (like phone number buying, LEI lookup). Each tool serves a clear purpose, and the count is not excessive given the coverage. A slight reduction could be possible by merging some country checks, but overall it's reasonable.

Completeness4/5

The server covers major European company registers (CH, UK, FR, NL, NO, PL, CZ, FI), insolvency checks (NL, FR), sanctions screening, VAT validation, crypto market intelligence, and x402 network tools. It acknowledges gaps (e.g., no German check) and provides fallback tools like 'screen_eu_supplier' and 'file_agent_want'. Minor missing pieces (e.g., Italian company check) keep it from a perfect 5.

Resources