hip4-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hip4-mcplist all outcome markets"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
hip4-mcp
⚠️ EXPERIMENTAL — HIP-4 is currently live on Hyperliquid testnet only. Mainnet launch is expected in 2026 (no exact date announced). This server will be updated for mainnet once HIP-4 goes live.
MCP server for Hyperliquid HIP-4 prediction markets (outcome trading). Provides read-only tools for discovering, analyzing, and monitoring outcome contracts.
What is HIP-4?
HIP-4 adds outcome trading to Hyperliquid — fully collateralized binary contracts that settle to 0 or 1 based on whether an event occurs. Think prediction markets built natively on HyperCore's orderbook.
Binary YES/NO contracts priced 0–1 (price = implied probability)
No leverage, no liquidations — fully collateralized
Settles in USDH (Hyperliquid's native stablecoin)
Traded on HyperCore's central limit orderbook (same infra as perps/spot)
Related MCP server: Neleus MCP
Install
npm install -g hip4-mcpOr clone and build:
git clone https://github.com/yashhsm/hip4-mcp.git
cd hip4-mcp
npm install
npm run buildConfigure in Claude Code
Add to your MCP config (.mcp.json or Claude Code settings):
{
"mcpServers": {
"hip4": {
"command": "node",
"args": ["/path/to/hip4-mcp/dist/index.js"]
}
}
}Tools
list_outcomes
List all HIP-4 outcome markets with metadata, side specs, and linked questions. For priceBinary markets, returns parsed underlying asset, target price, expiry, and period.
get_outcome_book
Get the L2 orderbook for a specific outcome side. Returns bids, asks, spread, and depth summary.
get_outcome_prices
Get mid prices for all outcome markets with decoded outcome IDs and side names.
get_outcome_positions
Get a user's outcome token balances (prediction market positions).
get_outcome_depth_summary
Get depth summary across ALL outcome markets — bid/ask depth, spread, best prices for every active side.
search_outcomes
Search and filter outcomes by underlying asset (BTC, HYPE), type (priceBinary), or keyword. Optionally filter to only markets with orderbook depth.
get_outcome_candles
Get OHLCV candle data for an outcome side. Useful for charting price history.
get_outcome_trades
Get a user's fill history filtered to outcome markets only.
get_outcome_open_orders
Get a user's open orders filtered to outcome markets only.
encoding_helper
Convert between outcome IDs, side indices, coin symbols (#xxx), token names (+xxx), and asset IDs. Useful for understanding the HIP-4 encoding system.
HIP-4 Asset Encoding
Outcome assets use a special encoding on Hyperliquid:
Component | Formula | Example (BTC outcome 2146, YES) |
Encoding |
|
|
Spot coin |
|
|
Token name |
|
|
Asset ID |
|
|
Side is 0 for the first outcome (usually YES), 1 for the second (usually NO).
Network
All tools accept a network parameter ("testnet" or "mainnet"), defaulting to "testnet".
Testnet:
https://api.hyperliquid-testnet.xyzMainnet:
https://api.hyperliquid.xyz
Testing
npm run build
node dist/test.jsRuns integration tests against the Hyperliquid testnet API.
Status
Read endpoints (outcomeMeta, L2 book, mids, positions, candles, fills, orders)
Encoding helpers
PriceBinary description parsing
Search/filter outcomes
Complementary pricing validation (YES + NO = 1)
Write endpoints (place order, cancel) — coming with mainnet launch
WebSocket subscriptions for real-time price updates
USDH collateral management helpers
License
MIT
Available Tools
10 toolsencoding_helperB
Convert between outcome IDs, side indices, coin symbols (#xxx), token names (+xxx), and asset IDs. Useful for understanding the HIP-4 asset encoding system.
| Name | Required | Description | Default |
|---|---|---|---|
| side | Yes | ||
| outcomeId | Yes | Outcome ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the conversion action and its utility, but does not mention whether the operation is read-only, what output format to expect, or any side effects. This lacks transparency about the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, with the primary action front-loaded. Every word serves a purpose, and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 params, no output schema), the description communicates the core purpose, but it does not explain what the tool returns or how the conversion works. This is a notable gap for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 50% description coverage (only outcomeId has a minimal description). The description does not elaborate on the parameters beyond listing 'side indices' and 'outcome IDs', which adds little to the schema's existing information. It does not compensate for the missing side parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb 'Convert' and lists the resources (outcome IDs, side indices, coin symbols, token names, asset IDs), distinguishing it from the sibling retrieval tools which focus on fetching outcome data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some context ('Useful for understanding the HIP-4 asset encoding system') but does not explicitly state when to use this tool versus alternatives or mention any exclusions. The usage is implied rather than clearly directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outcome_bookB
Get the L2 orderbook for a specific outcome side. Returns bids, asks, spread, and depth summary.
| Name | Required | Description | Default |
|---|---|---|---|
| side | Yes | Side: 0 or "yes" for first outcome, 1 or "no" for second | |
| network | No | testnet | |
| outcomeId | Yes | Outcome ID from list_outcomes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden. It only states what is returned, not behavioral aspects like read-only safety, network defaults, or error behavior. The verb 'Get' implies a read operation but is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the intended action. Every word is purposeful with no redundancy or irrelevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple, but with no output schema and no annotations, the description should offer more contextual details. It lists high-level return fields but omits specifics like default network or bid/ask ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes outcomeId and side, and the description adds no extra parameter meaning. The network parameter is not mentioned in the description, leaving schema coverage at 67% with no compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get the L2 orderbook for a specific outcome side' using a specific verb and resource. It also lists the returned content (bids, asks, spread, and depth summary), making it distinct from sibling tools like get_outcome_depth_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool vs alternatives such as get_outcome_depth_summary. It does not mention exclusions or conditions, leaving usage entirely implied by the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outcome_candlesA
Get OHLCV candle data for an outcome side. Useful for charting price history of prediction market positions.
| Name | Required | Description | Default |
|---|---|---|---|
| side | Yes | ||
| endTime | Yes | End time (unix ms) | |
| network | No | testnet | |
| interval | No | Candle interval (1m, 5m, 15m, 1h, 4h, 1d) | 1h |
| outcomeId | Yes | Outcome ID | |
| startTime | Yes | Start time (unix ms) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. 'Get' implies a read-only operation, which is clear, but it doesn't disclose additional details like return format, pagination, or network defaults. The description is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the core function and a use case. No superfluous words or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but the description indicates the tool returns OHLCV candle data, which is sufficient for a charting use case. The schema covers required parameters. Not fully complete for explaining the result structure, but adequate for a straightforward data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with key params like outcomeId, startTime, endTime, and interval described. The description adds no parameter-level detail, relying on the schema. The 'side' and 'network' params lack descriptions, but the enum values provide partial context. Adequate but not compensating for the gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool retrieves OHLCV candle data for an outcome side, distinguishing it from siblings like get_outcome_prices which likely returns spot prices. The verb 'get' and specific resource 'OHLCV candle data' make 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions 'Useful for charting price history', providing a clear context for when to use this tool. It doesn't explicitly exclude alternatives, but the charting context is enough to differentiate from other outcome data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outcome_depth_summaryB
Get a depth summary across ALL outcome markets. Shows bid/ask depth, spread, and best prices for every active outcome side.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | testnet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It correctly implies a read-only operation via 'Get' and discloses the cross-market scope, but it omits meaningful behaviors such as the network parameter defaulting to testnet, potential large response size from scanning all markets, or data freshness/latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero fluff: the first front-loads the verb and resource, the second lists the concrete output contents. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one optional parameter and no output schema, the description adequately conveys what the tool does and returns. However, it is incomplete as a usage guide: it omits the testnet-default caveat, sibling differentiation, and any warning about the breadth of scanning ALL markets.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it never mentions the single `network` parameter. The schema's enum and default are self-explanatory, yet the description fails to add any context (e.g., 'mainnet for production, testnet defaults'), leaving the significant testnet default behavior undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and a clearly defined resource ('depth summary across ALL outcome markets'), and enumerates the delivered content (bid/ask depth, spread, best prices). The emphasized 'ALL' scope differentiates it from per-market siblings like get_outcome_book, though no sibling is explicitly named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'ALL outcome markets' phrasing implies this tool is for a broad market-wide overview rather than per-market detail, but it never states when to prefer this over alternatives like get_outcome_book or get_outcome_prices. No explicit when/when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outcome_open_ordersB
Get a user's open orders filtered to outcome markets only.
| Name | Required | Description | Default |
|---|---|---|---|
| user | Yes | User wallet address (0x...) | |
| network | No | testnet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It adds only the scope filter 'outcome markets only' but fails to describe return format, pagination, order status definitions, or any limitations or caveats. The minimal information leaves the agent guessing about behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word adds meaning, making it extremely concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool is simple, the description omits return value details, which is critical since there is no output schema. With no annotations and no output schema, the agent needs more context about what constitutes an 'open order' and what data will be returned. The description is too sparse to be considered complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions no parameters. The schema documents 'user' adequately but leaves 'network' as a bare enum with a default; the description does not explain what network controls or how parameters interact. With only 50% schema coverage, the description adds no compensating parameter context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (get), the resource (a user's open orders), and the scope filter (outcome markets only). This distinguishes it from sibling tools like get_outcome_trades or get_outcome_positions, which deal with different concepts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The name implies open orders, but the description provides no context about order statuses, whether it is for pending vs filled orders, or how to choose between this and other order-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outcome_positionsA
Get a user's outcome token balances (positions in prediction markets). Filters spot balances to outcome tokens only.
| Name | Required | Description | Default |
|---|---|---|---|
| user | Yes | User wallet address (0x...) | |
| network | No | testnet |
TDQS
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 discloses a key behavioral trait: filtering spot balances to outcome tokens only. Yet it omits other behavioral details such as response format, error handling, or whether authentication is required. Given the lack of annotations, this is an average disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core action and followed by a clarifying note. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema or annotations, the description covers the essential purpose and a key behavior. The main gap is the network parameter's relevance, which is not explained. Still, for a simple getter, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: 'user' is described, but 'network' is left with only an enum and default. The tool description does not mention 'network', failing to compensate for the underexplained parameter. It adds no semantic value beyond the schema for the user parameter either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving a user's outcome token balances, and distinguishes it from sibling tools that focus on market data (prices, books, trades). The parenthetical 'positions in prediction markets' adds specific resource context, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context that this tool is for user-specific positions and explicitly notes the filtering behavior, which implies its scope. However, it does not explicitly contrast with sibling tools or state when not to use it, so it lacks formal exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outcome_pricesA
Get mid prices for all outcome markets. Returns decoded outcome IDs, side names, and current mid prices.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | testnet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It tells the agent that the tool returns decoded outcome IDs, side names, and current mid prices, and the word 'current' suggests a real-time snapshot. It does not mention pagination or size limits, but for a simple read-only price getter, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately conveys both action and output. Every word adds value, with no repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one optional parameter and no output schema, the description conveys the core purpose and return shape. However, it omits any explanation of the network parameter, which is a clear gap in guiding correct usage. The description is adequate for basic selection but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter (network) is not mentioned in the description at all. Since schema_description_coverage is 0%, the description fails to compensate by explaining how or why to choose mainnet/testnet, even though the input schema provides an enum and default. An agent relying on the description alone would miss this parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states an action ('Get mid prices') and a specific resource ('all outcome markets'), making its purpose unambiguous. The mention of 'mid prices' differentiates it from sibling tools like get_outcome_book, which would provide more detailed order book data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when you need mid prices for all outcome markets. It does not explicitly mention alternatives or exclusions, but the context is clear enough for an agent to select it over more detailed market data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outcome_tradesA
Get a user's trade (fill) history filtered to outcome markets only.
| Name | Required | Description | Default |
|---|---|---|---|
| user | Yes | User wallet address (0x...) | |
| network | No | testnet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavioral filter (only outcome-market fills) and clarifies 'fills' rather than all orders. However, with no annotations present, it does not address potential pagination, ordering, return structure, or side effects, leaving some behavioral aspects unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, focused sentence that immediately conveys the action and scope with no redundant words. It is concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex with no output schema or annotations. The description clarifies the scope (outcome markets) and type of history (fills), but leaves gaps about return format, pagination, and any ordering/limitations, which an agent may need to know.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents 'user' as a wallet address and 'network' with an enum but lacks a description for 'network'. The tool description adds no parameter-specific meaning and does not compensate for the 50% schema description coverage gap, especially for network.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'user's trade (fill) history', and the scope 'filtered to outcome markets only'. This distinguishes it from sibling tools like get_outcome_positions and get_outcome_open_orders, which cover different data types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving outcome-market trade/fill history but does not explicitly state when to use it versus alternatives or when not to use it. No exclusions or alternative tool names are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_outcomesB
List all HIP-4 outcome markets with metadata, side specs, and linked questions. Returns outcome IDs, names, descriptions, and for priceBinary markets: underlying asset, target price, expiry, and period.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | testnet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior. It does specify returned data (IDs, names, descriptions, priceBinary details), which is useful. However, it does not clarify how the network parameter affects results, whether pagination exists, or what 'linked questions' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences clearly state the action and return values. It is front-loaded with the primary verb and resource, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema, but the description only partially covers context. It explains core return fields but leaves out network behavior, side spec definitions, and a full account of linked questions. This is adequate yet incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0% because the description omits the only parameter, network. The schema itself provides an enum and default, but the description adds no meaning about network selection or its impact on the listed outcomes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all HIP-4 outcome markets with metadata, side specs, and linked questions, and specifies return fields. This differentiates it from sibling tools like get_outcome_prices or search_outcomes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as search_outcomes. The phrase 'List all' implies usage for comprehensive listing, but no explicit exclusions or alternative tool mentions exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_outcomesA
Search and filter outcome markets by underlying asset, type, or keyword. Useful for finding specific prediction markets (e.g. all BTC binary markets).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by class (e.g. "priceBinary") | |
| keyword | No | Keyword search in name/description | |
| network | No | testnet | |
| activeOnly | No | Only show markets with orderbook depth | |
| underlying | No | Filter by underlying asset (e.g. BTC, HYPE, ETH) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Search and filter' implies a read-only operation, which gives some transparency, but the description does not disclose return format, pagination, network default, or any side effects. The example adds behavioral context by showing how filters combine, but more explicit disclosure would be better.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the core function, the second gives a useful example. It is front-loaded and contains no fluff or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 optional parameters and no output schema, the description provides a general purpose and use case but does not explain the return structure or cover all parameters (e.g., network, activeOnly). The example helps, but the lack of output schema and minimal behavioral context leaves gaps for a moderately complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema already explains most parameters. The description adds value by highlighting the key filters (underlying asset, type, keyword) and presenting a concrete example of combining them, but it does not clarify network or activeOnly, which are already described in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Search and filter') with a clear resource ('outcome markets') and names the filter criteria (underlying asset, type, keyword). It also distinguishes from sibling tool list_outcomes by focusing on finding specific markets, reinforced by the example 'all BTC binary markets'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: 'Useful for finding specific prediction markets' with a concrete example. However, it does not explicitly state when not to use this tool or name alternatives like list_outcomes for unfiltered listings, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
v0.1.0- First observed
encoding_helper - First observed
get_outcome_book - First observed
get_outcome_candles - First observed
get_outcome_depth_summary - First observed
get_outcome_open_orders - First observed
get_outcome_positions - First observed
get_outcome_prices - First observed
get_outcome_trades - First observed
list_outcomes - First observed
search_outcomes
TDQS
Scored across 10 tools
Each tool targets a distinct data type (market info, prices, orderbook, user data, encoding), but get_outcome_prices and get_outcome_depth_summary both return price-related data for all markets, which could cause minor confusion. Descriptions are clear enough to differentiate them.
Most tools follow a consistent verb_noun pattern (list_, get_, search_), but 'encoding_helper' breaks the pattern by using a noun phrase. The rest are highly consistent, with all get_ tools prefixed uniformly.
10 tools is well within the optimal 3-15 range and each covers a specific aspect of HIP-4 outcome markets (listing, pricing, orderbook, user positions, trades, etc.). No tool feels redundant or unnecessary.
The server effectively covers read-only market data needs: listing, searching, prices, depth, candles, and user account data. The only notable gap is the lack of order placement/cancellation, but the server appears intended for data retrieval, not trading. A single-market fetch could also be useful but list_outcomes already provides all metadata.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hyperliquid - 2 tools for perpetuals, options, and position data
Non-custodial Hyperliquid perp trading: live markets, account state, user-armed order execution
Real-time & historical Hyperliquid/Lighter: L4/L2/L3, fills, funding, OI, liquidations, candles
Hosted MCP for Kalshi prediction markets: search, odds, order books, settlement rules, and trading.
Related MCP Servers
- -licenseAqualityNot gradedmaintenanceEnables interaction with the Hyperliquid DEX for retrieving market data, managing positions, and executing trades. Supports both testnet and mainnet operations with comprehensive trading tools including order placement, cancellation, and portfolio management.11-
- AlicenseNot gradedqualityCmaintenanceEnables interaction with Hyperliquid markets for technical analysis, order book data retrieval, and cryptocurrency trading. Supports read-only market access without credentials and authenticated trading operations via private key configuration.MIT
- AlicenseAqualityBmaintenanceQuery live HIP-4 prediction market data on Hyperliquid - real-time odds, orderbooks, trades, candles, user positions, and portfolio analysis via 10 MCP tools.106MIT
- AlicenseAqualityDmaintenanceProvides read-only tools to query live Polymarket prediction-market data via the public Gamma API, enabling search, browsing, and detailed market and event information.4MIT