{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T16:23:24.764Z","url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid.md","server":{"slug":"pipeworx-io-hyperliquid","name":"Hyperliquid","registryName":"io.github.pipeworx-io/hyperliquid","description":"Hyperliquid MCP — read-only market data from Hyperliquid's public info API.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"pipeworx-mcp-hyperliquid","type":"npm","identifier":"@pipeworx/mcp-hyperliquid","withdrawn":false,"url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid","version":"0.2.1","transport":"stdio","scoredAt":"2026-11-05T09:47:48.619Z"},"score":{"total":83,"tier":"high trust","status":"scored","weekDelta":4,"history":[{"date":"2026-11-05","total":83},{"date":"2026-11-04","total":82},{"date":"2026-11-03","total":82},{"date":"2026-11-02","total":66},{"date":"2026-11-01","total":81},{"date":"2026-10-31","total":80},{"date":"2026-10-30","total":80},{"date":"2026-10-29","total":79}]},"categories":[{"name":"Supply Chain Security","score":100,"verdict":"pass","reasons":["No malware found by supply-chain analysis.","No known CVEs affecting this package version or its production dependencies.","No install/post-install scripts declared.","No production dependencies, so there is no dependency health to assess."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.none","args":{}},{"code":"dephealth.no_dependencies","args":{"deps":"0","unhealthy":"0"}}]},{"name":"Provenance & Transparency","score":97,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to pipeworx-io/mcp-hyperliquid).","Clear OSI-approved license (MIT).","Actively maintained (last published 3 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.verified","args":{"repo":"pipeworx-io/mcp-hyperliquid"}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"3"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":67,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","Context-footprint check failed: tool/resource definitions use about 2115 tokens (~211/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_heavy","args":{"avg":"211","items":"10","tools":"10","tokens":"2115","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":23,"verdict":"partial","reasons":["Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"7"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"10"}},{"code":"toolsafety.manipulation_clean","args":{"units":"11","judged":"11"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"hyperliquid-mcp","type":"remote","identifier":"https://gateway.pipeworx.io/hyperliquid/mcp","withdrawn":false,"score":78,"current":false,"url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/hyperliquid-mcp","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/hyperliquid-mcp.md"},{"slug":"pipeworx-mcp-hyperliquid","type":"npm","identifier":"@pipeworx/mcp-hyperliquid","withdrawn":false,"score":83,"current":true,"url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"@pipeworx/mcp-hyperliquid"},{"label":"Version","value":"0.2.1"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"hyperliquid_perp_meta","title":null,"description":"Perpetuals universe metadata from Hyperliquid's public info API ({\"type\":\"meta\"}) — every perp contract Hyperliquid lists (currently 190+), each with its symbol, szDecimals (size precision), maxLeverage, and isDelisted when retired. This is the reference list to resolve a human-asked symbol (\"BTC\", \"ETH\", \"SOL\") to a contract Hyperliquid actually trades before calling hyperliquid_mids, hyperliquid_l2_book, hyperliquid_candles or hyperliquid_funding_history with it — those all take the bare coin symbol shown here (e.g. \"BTC\", not \"BTC-PERP\"). Pass `coin` to look up one symbol instead of the full list.","inputs":[{"name":"coin","type":"string","required":false,"description":"Optional — filter to one perp symbol, e.g. \"BTC\" or \"ETH\". Omit to list the whole universe."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":197},{"name":"hyperliquid_spot_meta","title":null,"description":"Spot market metadata from Hyperliquid's public info API ({\"type\":\"spotMeta\"}) — every spot trading pair Hyperliquid lists, each with its pair name (e.g. \"PURR/USDC\"), pair index, the two token ids it is composed of, and whether it is the canonical listing for that token. Hyperliquid names most non-canonical spot pairs generically (\"@1\", \"@2\", ...) because the human-readable name belongs to the canonical pair; this tool returns Hyperliquid's raw naming as-is. Use the `index` from here as the `coin` argument to hyperliquid_l2_book/hyperliquid_candles for a spot pair, in the form \"@<index>\" (Hyperliquid's own convention for spot coin ids distinct from perp symbols).","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":177},{"name":"hyperliquid_mids","title":null,"description":"Live mid prices (midpoint of best bid/ask) for every asset Hyperliquid tracks — perps by symbol (\"BTC\", \"ETH\", ...) and spot pairs by numeric id (\"@0\", \"@1\", ...) — in one call, from Hyperliquid's public info API ({\"type\":\"allMids\"}). This is the cheapest way to get a current price: one request returns 1,000+ symbols. Pass `coin` to get just one symbol's mid price instead of the full map.","inputs":[{"name":"coin","type":"string","required":false,"description":"Optional — return only this symbol's mid price, e.g. \"BTC\" or \"ETH\". Omit to get the full map."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":151},{"name":"hyperliquid_asset_context","title":null,"description":"Live perp market context for one contract — current funding rate, open interest, mark price, oracle price, mid price, 24h premium, and 24h notional + base volume — from Hyperliquid's public info API ({\"type\":\"metaAndAssetCtxs\"}, matched to the requested coin by universe index). This is the single call that answers \"what is BTC perp funding right now\" or \"what is Hyperliquid's open interest in ETH\" — the live numbers next to kalshi_* and polymarket_* for anyone pricing crypto-adjacent prediction markets. For a HISTORY of funding rates rather than the current one, use hyperliquid_funding_history.","inputs":[{"name":"coin","type":"string","required":true,"description":"Perp symbol, e.g. \"BTC\", \"ETH\", \"SOL\". See hyperliquid_perp_meta for the full list."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":183},{"name":"hyperliquid_l2_book","title":null,"description":"Live level-2 order book (bids + asks, each with price, aggregate size, and order count) for one Hyperliquid perp or spot symbol, from Hyperliquid's public info API ({\"type\":\"l2Book\"}). Returns two arrays — bids (best first, descending price) and asks (best first, ascending price) — each entry {px, sz, n}. Use `depth` to trim to the top N levels per side; Hyperliquid itself returns the full book (often 20+ levels per side) when depth is omitted.","inputs":[{"name":"coin","type":"string","required":true,"description":"Perp symbol (e.g. \"BTC\") or spot pair id (e.g. \"@0\" from hyperliquid_spot_meta, or the canonical name like \"PURR/USDC\")."},{"name":"depth","type":"number","required":false,"description":"Levels to keep per side, best-first (default: all levels Hyperliquid returns, typically 20+). Pass e.g. 5 for just the top of book."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":218},{"name":"hyperliquid_candles","title":null,"description":"OHLCV candles for one Hyperliquid perp or spot symbol, from Hyperliquid's public info API ({\"type\":\"candleSnapshot\"}). Each candle: open/high/low/close/volume (base units), trade count, and the interval's start/end timestamps. Pass `lookback_hours` for a window ending now (default 24h), or an explicit `start_time`/`end_time` (ISO date/datetime or unix seconds/milliseconds) for a specific historical window — Hyperliquid retains candle history well beyond 24h. `interval` accepts Hyperliquid's own granularities: 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 8h, 12h, 1d, 3d, 1w, 1M.","inputs":[{"name":"coin","type":"string","required":true,"description":"Perp symbol (e.g. \"BTC\") or spot pair id/name (e.g. \"@0\" or \"PURR/USDC\")."},{"name":"end_time","type":"string","required":false,"description":"Window END — same formats as start_time. Defaults to now."},{"name":"interval","type":"string","required":false,"description":"1m | 3m | 5m | 15m | 30m | 1h | 2h | 4h | 8h | 12h | 1d | 3d | 1w | 1M (default \"1h\")"},{"name":"lookback_hours","type":"number","required":false,"description":"Window length ending now, in hours (default 24). Ignored when start_time is given."},{"name":"start_time","type":"string","required":false,"description":"Window START — ISO date/datetime or unix seconds/milliseconds. Use with end_time for a window that does not end now."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":379},{"name":"hyperliquid_funding_history","title":null,"description":"Historical funding-rate payments for one Hyperliquid perp — timestamped funding rate and premium at each funding interval (hourly on Hyperliquid), from Hyperliquid's public info API ({\"type\":\"fundingHistory\"}). Use this to see how funding has trended (e.g. persistently positive BTC funding = longs paying shorts = crowded long), or to reconstruct realized funding cost over a window. For the CURRENT funding rate only, hyperliquid_asset_context is cheaper (one call, no window math).","inputs":[{"name":"coin","type":"string","required":true,"description":"Perp symbol, e.g. \"BTC\", \"ETH\", \"SOL\"."},{"name":"end_time","type":"string","required":false,"description":"Window END — same formats as start_time. Defaults to now."},{"name":"lookback_hours","type":"number","required":false,"description":"Window length ending now, in hours (default 24, funding pays hourly so this returns ~1 row/hour). Ignored when start_time is given."},{"name":"start_time","type":"string","required":false,"description":"Window START — ISO date/datetime or unix seconds/milliseconds. Use with end_time for a window that does not end now."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":230},{"name":"hyperliquid_account_state","title":null,"description":"Perpetuals account state for one Hyperliquid wallet address -- two separate flags (account_has_balance: non-zero account value, idle dust included; account_has_open_perp_positions: a position is open or notional / margin is non-zero), then account value, total notional, margin used, withdrawable, cross-maintenance margin, and every open perp position (coin, signed size where negative = short, entry price, position value, unrealized PnL, ROE, liquidation price, leverage, margin used, cumulative funding). Public on-chain data, keyless. Use for \"what is this Hyperliquid wallet's position / margin / leverage\". Returns aggregates first, positions last. e.g. {address:\"0x31dea2516beee92135b96f464eeec3cf292a13f2\"}.","inputs":[{"name":"address","type":"string","required":true,"description":"0x-prefixed 42-character wallet address."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":202},{"name":"hyperliquid_spot_balances","title":null,"description":"Spot token balances for one Hyperliquid wallet address -- per token: total, amount on hold in open orders, available (total minus hold) and entry notional in USDC. Includes the spot USDC balance. Public on-chain data, keyless. Use for \"what tokens does this Hyperliquid wallet hold\". e.g. {address:\"0x31dea2516beee92135b96f464eeec3cf292a13f2\"}.","inputs":[{"name":"address","type":"string","required":true,"description":"0x-prefixed 42-character wallet address."},{"name":"limit","type":"number","required":false,"description":"Max token rows to return, largest first (default 50). Totals always cover every token."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":152},{"name":"hyperliquid_account_history","title":null,"description":"Account value and PnL history for one Hyperliquid wallet address over a day, week, month or all time -- starting and ending account value, PnL change, trading volume, then a downsampled series. Scope \"combined\" is perp plus spot; \"perp\" is perp only. Public on-chain data, keyless. e.g. {address:\"0x31dea2516beee92135b96f464eeec3cf292a13f2\", period:\"week\"}.","inputs":[{"name":"address","type":"string","required":true,"description":"0x-prefixed 42-character wallet address."},{"name":"period","type":"string","required":false,"description":"Window (default \"week\")."},{"name":"scope","type":"string","required":false,"description":"\"combined\" (default) = perp + spot; \"perp\" = perp only."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":171}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T09:47:48.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"verified","label":"Verified","reason":"verified","reasonLabel":"Verified","discovery":"attestation_endpoint","discoveryLabel":"Registry attestation endpoint","sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":0,"partial":false,"deprecated":null,"stale":null,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-29","recent":[{"id":"chg_01a1ab1b-801c-7423-be5f-accd308fb02a","kind":"score.total_changed","summary":"Trust score (82 → 83)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid#chg-chg_01a1ab1b-801c-7423-be5f-accd308fb02a"},{"id":"chg_01a1a0d5-bbdc-7e4e-9363-37310c87458c","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid#chg-chg_01a1a0d5-bbdc-7e4e-9363-37310c87458c"},{"id":"chg_01a1a0d5-bbde-793d-83b7-2d39aca067ef","kind":"score.total_changed","summary":"Trust score (66 → 82)","materiality":"functional","direction":"improvement","scoreDelta":16,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid#chg-chg_01a1a0d5-bbde-793d-83b7-2d39aca067ef"},{"id":"chg_01a19a61-935e-7c8e-a902-4063feac9bf8","kind":"check.unverifiable","summary":"Malware scan (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid#chg-chg_01a19a61-935e-7c8e-a902-4063feac9bf8"},{"id":"chg_01a19a61-9361-7303-a2c9-acf3ea1bd3f1","kind":"package.version_changed","summary":"Package version (0.2.0 → 0.2.1)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid#chg-chg_01a19a61-9361-7303-a2c9-acf3ea1bd3f1"},{"id":"chg_01a19a61-9361-7a77-83a6-80edbb33326f","kind":"score.total_changed","summary":"Trust score (81 → 66)","materiality":"functional","direction":"regression","scoreDelta":-15,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid#chg-chg_01a19a61-9361-7a77-83a6-80edbb33326f"},{"id":"chg_01a1967a-6ccb-7b3a-9d11-c4fdd2785f20","kind":"score.total_changed","summary":"Trust score (80 → 81)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid#chg-chg_01a1967a-6ccb-7b3a-9d11-c4fdd2785f20"},{"id":"chg_01a18c2e-1692-7c9d-8d42-0801d7bb2643","kind":"check.reverified","summary":"Security disclosure (unverified → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid#chg-chg_01a18c2e-1692-7c9d-8d42-0801d7bb2643"},{"id":"chg_01a18c2e-1695-7082-a509-e5e6e4c88f2c","kind":"score.total_changed","summary":"Trust score (79 → 80)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid#chg-chg_01a18c2e-1695-7082-a509-e5e6e4c88f2c"},{"id":"chg_01a186a9-79db-74d0-8dfb-d002069e8a9c","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid#chg-chg_01a186a9-79db-74d0-8dfb-d002069e8a9c"},{"id":"chg_01a18616-a272-78ca-978a-e9f5c8574ad8","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid#chg-chg_01a18616-a272-78ca-978a-e9f5c8574ad8"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid/changelog.json"},"links":{"html":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid","markdown":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid.md","changelogJson":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid/changelog.json","changelogRss":"https://verifymcp.io/servers/pipeworx-io-hyperliquid/pipeworx-mcp-hyperliquid.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/@pipeworx/mcp-hyperliquid"},{"label":"Socket report","href":"https://socket.dev/npm/package/@pipeworx/mcp-hyperliquid"},{"label":"Repository","href":"https://github.com/pipeworx-io/mcp-hyperliquid"},{"label":"Website","href":"https://pipeworx.io/packs/hyperliquid"}]}}