get_kpi_list
Retrieve key performance indicators (KPIs) for Wormhole protocol from Wormholescan API, returning a structured pandas DataFrame for cross-chain activity analysis.
Instructions
Fetch a list of KPIs for Wormhole from Wormholescan API.
Returns:
String representation of a pandas DataFrame containing Wormhole KPIs
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- main.py:464-506 (handler)Implementation of the get_kpi_list tool handler. Decorated with @mcp.tool() for registration. Fetches Wormhole KPIs from the Wormholescan API endpoint /api/v1/scorecards, processes into a pandas DataFrame, and returns as markdown table.# Define the get_kpi_list tool @mcp.tool() async def get_kpi_list() -> str: """ Fetch a list of KPIs for Wormhole from Wormholescan API. Returns: String representation of a pandas DataFrame containing Wormhole KPIs """ try: # Make API request async with httpx.AsyncClient() as client: response = await client.get( f"{API_BASE}/api/v1/scorecards" ) response.raise_for_status() # Parse JSON response data = response.json() # Transform data for DataFrame rows = [{ "24h_messages": data.get("24h_messages"), "total_messages": data.get("total_messages"), "total_tx_count": data.get("total_tx_count"), "total_volume": data.get("total_volume"), "tvl": data.get("tvl"), "24h_volume": data.get("24h_volume"), "7d_volume": data.get("7d_volume"), "30d_volume": data.get("30d_volume") }] # Create DataFrame df = pd.DataFrame(rows) # Convert numeric columns for col in df.columns: df[col] = pd.to_numeric(df[col], errors="coerce") return df.to_markdown(index=False) except Exception as e: return str(e)