Skip to main content
Glama

get_hip3_summary

Read-onlyIdempotent

Get combined HIP-3 market summary for a coin: mark price, oracle price, mid price, funding rate, and open interest in one call.

Instructions

Get combined HIP-3 market summary for a coin in a single call. Symbols are CASE-SENSITIVE (e.g. 'km:US500'). Returns mark price, oracle price, mid price, funding rate, and open interest.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
coinYesHIP-3 coin symbol (CASE-SENSITIVE). 125+ markets across 6 builders: xyz, flx, hyna, km, vntl, cash. Examples: 'km:US500', 'xyz:GOLD', 'hyna:BTC', 'vntl:SPACEX', 'flx:TSLA', 'cash:NVDA'. Use get_hip3_instruments to list all.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesResult data object

Implementation Reference

  • src/index.ts:933-940 (registration)
    Tool registration for 'get_hip3_summary' using the registerCurrentTool helper pattern. Accepts a 'coin' parameter (HIP-3 case-sensitive symbol), delegates to api().hyperliquid.hip3.summary(coin) on the SDK, and returns a single object output.
    // HIP-3 Summary
    registerCurrentTool(
      "get_hip3_summary",
      "Get combined HIP-3 market summary for a coin in a single call. Symbols are CASE-SENSITIVE (e.g. 'km:US500'). Returns mark price, oracle price, mid price, funding rate, and open interest.",
      (coin) => api().hyperliquid.hip3.summary(coin),
      Hip3CoinParam,
      normalizeHip3Coin
    );
  • Input schema for the HIP-3 coin parameter used by get_hip3_summary. A case-sensitive string describing the coin symbol format.
    const Hip3CoinParam = z
      .string()
      .describe(
        "HIP-3 coin symbol (CASE-SENSITIVE). 125+ markets across 6 builders: xyz, flx, hyna, km, vntl, cash. Examples: 'km:US500', 'xyz:GOLD', 'hyna:BTC', 'vntl:SPACEX', 'flx:TSLA', 'cash:NVDA'. Use get_hip3_instruments to list all."
      );
  • Output schema for get_hip3_summary — a single object with a 'data' field containing the market summary.
    // For tools that return a single object (current snapshots, orderbooks, data quality)
    const ObjectOutputSchema: ZodRawShape = {
      data: z.record(z.unknown()).describe("Result data object"),
    };
  • Helper function 'registerCurrentTool' that wraps the actual tool registration logic for get_hip3_summary. It normalizes the coin using normalizeHip3Coin (case-sensitive pass-through) and calls the SDK function.
    // Pattern 2: Current snapshot (coin only)
    function registerCurrentTool(
      name: string,
      description: string,
      sdkCall: (coin: string) => Promise<unknown>,
      coinSchema: z.ZodString,
      normFn: (coin: string) => string
    ): void {
      registerTool(name, description, { coin: coinSchema }, ObjectOutputSchema, async (params) => {
        const data = await sdkCall(normFn(params.coin));
        return formatResponse(data);
      });
    }
  • Coin normalization helper for HIP-3 symbols. Returns the coin as-is because HIP-3 symbols are case-sensitive (unlike Hyperliquid perps which get uppercased).
    function normalizeHip3Coin(coin: string): string {
      return coin; // Case-sensitive
    }
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, fully covering safety. The description adds useful context about returned fields (prices, funding rate, open interest) and case-sensitivity, but does not disclose additional behavioral traits beyond what annotations provide.

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 concise (two sentences) and front-loaded: first sentence states purpose, second adds key details. Every word contributes value with no redundancy or fluff.

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?

Given a single required parameter, full schema coverage, and an output schema (context indicates exists), the description is complete. It explains what the tool does and what it returns, leaving no gaps for a simple summary tool.

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%, and the description repeats the case-sensitivity note already in the schema. It does not add new semantic meaning for the 'coin' parameter beyond what the schema provides, so the baseline score of 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 states the verb 'Get', the resource 'combined HIP-3 market summary for a coin', and specifies it returns multiple metrics (mark price, oracle price, etc.). This distinguishes it from sibling tools that retrieve individual metrics, making the purpose unambiguous.

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 implies efficiency by offering a combined summary in a single call, but it does not explicitly state when to use this tool versus separate tools for each metric. It provides examples and case-sensitivity hints, which aid usage, but lacks explicit when-not guidance.

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/0xArchiveIO/0xarchive-mcp'

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