Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GRAPH_API_KEY | Yes | Required to query the subgraphs via The Graph. Get one at thegraph.com/studio/apikeys | |
| LIMITLESS_API_KEY | No | Optional. Enables market name/metadata enrichment from the Limitless REST API. Without it, market browsing and search still work using public endpoints. Key format: lmts_... |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_global_stats | Get combined protocol-wide stats across both simple and negrisk markets. Returns total markets, trades, volume, users, splits, merges, redemptions with per-type breakdown. |
| get_market_analytics | Get full analytics for a specific market by conditionId. Combines on-chain data (volume, trades, fees, resolution status) with market metadata (title, description, categories). Queries both subgraphs to find the market. |
| search_markets | Search markets by keyword or category. Returns market metadata enriched with on-chain volume and trade counts from subgraphs. |
| get_market_trades | Get trades for a specific market. Returns trade details with maker/taker, price, volume, and fees from on-chain data. |
| get_trader_profile | Get a trader's profile across both simple and negrisk markets. Shows trade count, volume, fees, PnL, and first/last trade timestamps from on-chain data. |
| get_top_traders | Get top traders ranked by volume, trade count, or PnL. Queries both subgraphs and merges rankings. |
| get_trader_trades | Get a trader's recent trades across both market types, enriched with market names. |
| get_trader_positions | Get a trader's current positions across both market types with balances and PnL. |
| get_daily_protocol_stats | Get daily protocol stats (volume, trades, fees, splits, merges, redemptions) across both market types as a time series. |
| get_market_daily_snapshots | Get daily volume, trades, and fees for a specific market over time. |
| compare_market_types | Side-by-side comparison of simple vs negrisk market performance. Shows volume share, trade counts, fees, and activity breakdown. |
| get_market_positions | Get top position holders for a specific market. Shows who holds the biggest positions and their PnL. |
| get_liquidity_events | Get splits, merges, and redemptions — the liquidity lifecycle events. Filter by market or user address. |
| get_recent_activity | Get a unified feed of all recent on-chain activity: trades, splits, merges, and redemptions across both market types with market names. |
| get_market_lifecycle | Get the complete lifecycle of a market: creation, trading stats, splits/merges, resolution status, and redemptions — all from on-chain data with metadata. |
| get_conditions | Get conditions (markets that have been prepared on-chain) with resolution status. Useful for finding resolved/unresolved markets. |
| get_subgraph_schema | Get the GraphQL schema for a Limitless subgraph via introspection. |
| query_subgraph | Run a raw GraphQL query against a Limitless subgraph. Escape hatch for custom queries. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |