Skip to main content
Glama
jasonwu001t

marketlens-mcp

by jasonwu001t

Crypto quotes

crypto_quotes
Read-onlyIdempotent

Fetch historical best bid/ask quotes for crypto pairs over a chosen window. Large results return a result_id for later retrieval.

Instructions

Historical best bid and ask for crypto pairs (sizes in base units); a side with no quote is null (no_data). Window by start/end or lookback (default PT15M). Large results are stored, not shown: you get a result_id to query with results_query.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endNoWindow end (same format). Default: now (Alpaca's latest available).
sortNoTime order of the rows: asc (oldest first, default) or desc (newest first).asc
startNoWindow start: ISO date (00:00 UTC) or datetime with a zone, e.g. 2026-01-02T14:30:00Z.
tickersYesCrypto pairs as BASE/QUOTE, e.g. ["BTC/USD"] (1-200).
lookbackNoWindow length back from end as an ISO-8601 duration (P5D, P1Y, PT20M); only when start is omitted. Default PT15M.
page_tokenNoContinue a truncated fetch: the page_token from the previous response's pagination.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open world). The description adds genuinely non-structured behavior: a missing side returns null/no_data, sizes are in base units, and large result sets are stored rather than returned, yielding a result_id. The result-truncation disclosure is the kind of trait annotations cannot express.

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?

Three compact, front-loaded sentences with no filler: purpose, windowing, then the result-storage caveat. Slightly dense in the first clause (sizes/no_data parenthetical) but each sentence carries distinct 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?

With no output schema, the description carries the return-value burden and does so for the two most surprising cases: null sides and stored results via result_id. Pagination via page_token is only covered in the schema, not the description, leaving a small gap for a tool that can return truncated data.

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 every parameter (start, end, lookback, sort, tickers, page_token) is already documented in the schema, including the PT15M lookback default. The description's windowing sentence largely restates that, adding no format or constraint detail beyond the schema. Baseline 3 applies.

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?

States a specific resource and temporal scope: 'Historical best bid and ask for crypto pairs.' The word 'Historical' implicitly separates it from crypto_latest_quotes and crypto_orderbooks, but no sibling is named explicitly, so an agent must infer the boundary.

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?

'Window by start/end or lookback (default PT15M)' gives invocation guidance, and the results_query handoff tells the agent what to do with truncated output. However, there is no explicit when-to-use-this-vs-alternative statement (e.g. historical quotes vs crypto_latest_quotes or crypto_orderbooks), so usage is only implied.

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