get_perp_metadata
Fetch metadata for perpetual markets on Hyperliquid exchange, including trading pairs, contract details, and optional asset contexts.
Instructions
Fetch metadata about perpetual markets on the Hyperliquid exchange.
Parameters:
include_asset_ctxs (bool, optional): If True, includes asset contexts with metadata. Defaults to False.
ctx (Context, optional): The MCP context object for accessing server state.
Returns:
str: A JSON string containing metadata about perpetual markets, including trading pairs and contract details
(e.g., symbol, tick size). Returns a JSON string with an error message if the query fails.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| include_asset_ctxs | No |
Input Schema (JSON Schema)
{
"properties": {
"include_asset_ctxs": {
"default": false,
"title": "Include Asset Ctxs",
"type": "boolean"
}
},
"type": "object"
}
Implementation Reference
- main.py:339-357 (handler)The handler function decorated with @mcp.tool(), implementing the get_perp_metadata tool. It retrieves perpetual metadata using Hyperliquid's info.meta() or info.meta_and_asset_ctxs() and returns it as JSON.@mcp.tool() async def get_perp_metadata(include_asset_ctxs: bool=False, ctx: Context=None) -> str: """ Fetch metadata about perpetual markets on the Hyperliquid exchange. Parameters: include_asset_ctxs (bool, optional): If True, includes asset contexts with metadata. Defaults to False. ctx (Context, optional): The MCP context object for accessing server state. Returns: str: A JSON string containing metadata about perpetual markets, including trading pairs and contract details (e.g., symbol, tick size). Returns a JSON string with an error message if the query fails. """ try: data = info.meta_and_asset_ctxs() if include_asset_ctxs else info.meta() return json.dumps(data) except Exception as e: return json.dumps({"error": f"Failed to fetch perpetual metadata: {str(e)}"})