Skip to main content
Glama
VENTURE-AI-LABS

CryptoDataAPI MCP Server

get_daily_snapshot

Retrieve comprehensive daily crypto market data including health scores, derivatives metrics, ETF flows, and macro indicators in a single API call for efficient market analysis.

Instructions

Get a full daily snapshot of the entire crypto market in one call. Returns market health scores, fear & greed index, derivatives data (funding rates, open interest, liquidations), stablecoin flows, macro indicators (DXY, gold, treasury yields), ETF flows, BTC cycle indicators, and coin profiles — all in a single response. This is the most efficient way to get a broad market overview. Use exchange='all' for unfiltered data or 'hyperliquid'/'binance_spot' to filter coin lists.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
exchangeNoFilter coins by exchange: hyperliquid, binance_spot, or all for unfilteredhyperliquid

Implementation Reference

  • The handler for get_daily_snapshot, which calls the /api/v1/daily endpoint with the specified exchange parameter.
    export async function handler(args: z.infer<typeof schema>) {
      return apiGet("/api/v1/daily", { exchange: args.exchange });
    }
  • Zod schema defining the input arguments for the get_daily_snapshot tool.
    export const schema = z.object({
      exchange: z
        .enum(["hyperliquid", "binance_spot", "all"])
        .optional()
        .default("hyperliquid")
        .describe("Filter coins by exchange: hyperliquid, binance_spot, or all for unfiltered"),
    });
  • src/index.ts:55-79 (registration)
    The registration loop in src/index.ts that iterates through the `tools` array (which includes `daily.ts`) and registers each as an MCP tool on the server.
    for (const tool of tools) {
      server.tool(tool.name, tool.description, tool.schema.shape, async (args: Record<string, unknown>) => {
        const result = await tool.handler(args as any);
        if (result.ok) {
          return {
            content: [
              {
                type: "text" as const,
                text: JSON.stringify(result.data, null, 2),
              },
            ],
          };
        } else {
          return {
            content: [
              {
                type: "text" as const,
                text: `API Error (${result.status}): ${result.error}`,
              },
            ],
            isError: true,
          };
        }
      });
    }
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 mentions the tool returns 'a full daily snapshot' and is 'efficient,' implying it's a read-only operation with no destructive effects, but lacks details on rate limits, authentication needs, data freshness, or error handling. It adds some context about filtering but doesn't fully disclose behavioral traits beyond basic functionality.

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 appropriately sized and front-loaded: the first sentence states the core purpose, followed by a detailed list of returned data, then efficiency note and parameter guidance. Every sentence adds value without redundancy, making it highly concise and well-structured for quick comprehension.

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 complexity (returns multiple data types) and no annotations or output schema, the description does well by listing all returned components and providing parameter guidance. However, it lacks details on response format, pagination, or error cases, which could be important for a tool with such broad scope. It's mostly complete but has minor gaps.

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 description coverage is 100%, so the baseline is 3. The description adds value by explaining the semantic meaning of the exchange parameter: 'Use exchange='all' for unfiltered data or 'hyperliquid'/'binance_spot' to filter coin lists,' which clarifies the practical impact beyond the schema's enum and description. This enhances understanding, warranting a score above baseline.

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 with specific verbs ('Get a full daily snapshot') and resources ('entire crypto market'), listing comprehensive data types returned. It explicitly distinguishes from siblings by noting this provides 'all in a single response' versus the more granular sibling tools like get_fear_greed or get_coin_profile.

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 description provides explicit usage guidance: 'This is the most efficient way to get a broad market overview' indicates when to use it (for comprehensive data), and the exchange parameter explanation with 'all' for unfiltered vs. specific exchanges for filtered coin lists gives clear context for parameter selection, though it doesn't explicitly name when not to use it versus siblings.

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

Install Server

Other Tools

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/VENTURE-AI-LABS/cryptodataapi-mcp'

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