DepthFeed MCP
An official MCP server operated by DepthFeed that enables AI agents to retrieve live and historical order-book depth data for prediction markets such as Polymarket, Kalshi, and Limitless. It provides tools for market search, snapshot retrieval, and order book access via a Streamable HTTP endpoint.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.depthfeed.com/mcpWhat its tools do
15 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to depthfeed.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Retrieve live and historical order-book depth for Polymarket, Kalshi, and Limitless
- Search for specific prediction markets across supported venues
- Access market snapshots and candle data for backtesting strategies
- Monitor wallet intelligence and book audits for public Polymarket wallets
Source and maintenance
Protocol and capabilities
- Server
- depthfeed 0.0.1
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 15 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
15 advertised
polymarket_all_markets
Paid data plan required. Return every active Polymarket market across all categories, not only crypto. AI execution credits do not unlock this export. The text result is one LLM-readable line per market: MARKET_NAME | OUTCOME PRICES | DEADLINE | MARKET_ID. The sweep fails closed if complete pagination cannot be verified and includes timestamp, count, source-page count, and SHA-256.
{
"type": "object",
"properties": {}
}{
"title": "All Polymarket markets",
"readOnlyHint": true,
"openWorldHint": true
}polymarket_search_markets
List Polymarket up/down crypto prediction markets for a coin. Returns market id, slug, window, status and timing. Use the returned id/slug with polymarket_get_market or polymarket_get_snapshots.
{
"type": "object",
"properties": {
"coin": {
"enum": [
"btc",
"eth",
"sol",
"xrp",
"doge",
"bnb",
"hype"
],
"type": "string",
"default": "btc",
"description": "Crypto asset. Every account plan reaches all seven; only the keyless demo surface is BTC-only."
},
"type": {
"type": "string",
"description": "Filter by market window/type, e.g. 5m, 15m, 1h, 4h, 24h."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (1–100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's pagination.next_cursor."
},
"end_time": {
"type": "string",
"description": "Filter: markets active at/before this time as ms-epoch or ISO-8601. History is clamped to your plan's window."
},
"resolved": {
"type": "boolean",
"description": "true → only resolved markets, false → only active."
},
"start_time": {
"type": "string",
"description": "Filter: markets active at/after this time as ms-epoch or ISO-8601. History is clamped to your plan's window."
}
}
}{
"title": "Search Polymarket markets",
"readOnlyHint": true,
"openWorldHint": true
}polymarket_get_market
Fetch a single Polymarket market by id (market_id) or by slug. Provide exactly one of market_id or slug.
{
"type": "object",
"properties": {
"coin": {
"enum": [
"btc",
"eth",
"sol",
"xrp",
"doge",
"bnb",
"hype"
],
"type": "string",
"default": "btc",
"description": "Crypto asset. Every account plan reaches all seven; only the keyless demo surface is BTC-only."
},
"slug": {
"type": "string",
"description": "Market slug (alternative to market_id)."
},
"market_id": {
"type": "string",
"description": "Market id from polymarket_search_markets."
}
}
}{
"title": "Get Polymarket market",
"readOnlyHint": true,
"openWorldHint": true
}polymarket_get_snapshots
Historical order-book snapshots (time series) for one Polymarket market. Use interval to downsample and include_orderbook for the full ladder. History depth is gated by plan.
{
"type": "object",
"required": [
"market_id"
],
"properties": {
"coin": {
"enum": [
"btc",
"eth",
"sol",
"xrp",
"doge",
"bnb",
"hype"
],
"type": "string",
"default": "btc",
"description": "Crypto asset. Every account plan reaches all seven; only the keyless demo surface is BTC-only."
},
"fill": {
"enum": [
"ffill",
"none"
],
"type": "string",
"description": "ffill returns ONE ROW PER BUCKET for the whole window, carrying the last captured book into buckets that held no capture. Each row then carries `filled` (0 = a capture, 1 = carried forward) and `as_of_ts`, the moment that book was recorded. Requires `interval`. Without it, `interval` returns only the buckets that held a capture — a short series means the market is quoted infrequently, not that data is missing."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Page size (1–1000)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's pagination.next_cursor."
},
"end_time": {
"type": "string",
"description": "End of time as ms-epoch or ISO-8601. History is clamped to your plan's window."
},
"interval": {
"type": "string",
"description": "Downsample bucket — 30s, 1m, 5m, 1h, up to 1d. Returns the newest book in each bucket. Omit for every recorded book change."
},
"market_id": {
"type": "string",
"description": "Market id from polymarket_search_markets."
},
"start_time": {
"type": "string",
"description": "Start of time as ms-epoch or ISO-8601. History is clamped to your plan's window."
},
"include_orderbook": {
"type": "boolean",
"description": "Include the full bid/ask ladder per snapshot (default top-of-book)."
}
}
}{
"title": "Polymarket order-book history",
"readOnlyHint": true,
"openWorldHint": true
}kalshi_search_markets
List Kalshi crypto markets (full yes/no depth, DepthFeed-exclusive). Every account plan; the keyless demo surface returns a 402 upsell.
{
"type": "object",
"properties": {
"coin": {
"enum": [
"btc",
"eth",
"sol",
"xrp",
"doge",
"bnb",
"hype"
],
"type": "string",
"default": "btc",
"description": "Crypto asset. Every account plan reaches all seven; only the keyless demo surface is BTC-only."
},
"type": {
"type": "string",
"description": "Filter by market window/type."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (1–100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's pagination.next_cursor."
}
}
}{
"title": "Search Kalshi markets",
"readOnlyHint": true,
"openWorldHint": true
}kalshi_get_orderbook
Latest yes/no order-book depth for a Kalshi market by ticker. Every account plan; only the keyless demo surface is refused.
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"ticker": {
"type": "string",
"description": "Kalshi market ticker from kalshi_search_markets."
}
}
}{
"title": "Get Kalshi order book",
"readOnlyHint": true,
"openWorldHint": true
}kalshi_get_snapshots
Historical yes/no depth snapshots for a Kalshi market by ticker. Every account plan; history is bounded by your plan window.
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"fill": {
"enum": [
"ffill",
"none"
],
"type": "string",
"description": "ffill returns ONE ROW PER BUCKET for the whole window, carrying the last captured book into buckets that held no capture. Each row then carries `filled` (0 = a capture, 1 = carried forward) and `as_of_ts`, the moment that book was recorded. Requires `interval`. Without it, `interval` returns only the buckets that held a capture — a short series means the market is quoted infrequently, not that data is missing."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Page size (1–1000)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's pagination.next_cursor."
},
"ticker": {
"type": "string",
"description": "Kalshi market ticker."
},
"end_time": {
"type": "string",
"description": "End of time as ms-epoch or ISO-8601. History is clamped to your plan's window."
},
"interval": {
"type": "string",
"description": "Downsample bucket — 30s, 1m, 5m, 1h, up to 1d. Returns the newest book in each bucket. Omit for every recorded book change."
},
"start_time": {
"type": "string",
"description": "Start of time as ms-epoch or ISO-8601. History is clamped to your plan's window."
}
}
}{
"title": "Kalshi order-book history",
"readOnlyHint": true,
"openWorldHint": true
}kalshi_get_candles
Hourly OHLC candles (yes bid, yes ask, traded price) plus volume and open interest for a Kalshi market. This is the only history that exists for non-crypto Kalshi markets — Kalshi serves no historical order book — and it reaches back up to a year, far past the order-book capture. `price` is null in periods with no trade. Every account plan; history is bounded by your plan window.
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Page size (1–500)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's pagination.next_cursor."
},
"ticker": {
"type": "string",
"description": "Exact Kalshi market ticker from kalshi_search_markets (never constructed from a timestamp)."
},
"end_time": {
"type": "string",
"description": "End of time as ms-epoch or ISO-8601. History is clamped to your plan's window."
},
"interval": {
"type": "string",
"description": "Candle period. Only 1h (60m) is recorded; omit for the default."
},
"start_time": {
"type": "string",
"description": "Start of time as ms-epoch or ISO-8601. History is clamped to your plan's window."
}
}
}{
"title": "Kalshi candle history",
"readOnlyHint": true,
"openWorldHint": true
}limitless_search_markets
List currently-open Limitless (Base CLOB) markets, DepthFeed-exclusive. Every account plan; only the keyless demo surface is refused.
{
"type": "object",
"properties": {
"coin": {
"enum": [
"btc",
"eth",
"sol",
"xrp",
"doge",
"bnb",
"hype"
],
"type": "string",
"default": "btc",
"description": "Crypto asset. Every account plan reaches all seven; only the keyless demo surface is BTC-only."
},
"type": {
"type": "string",
"description": "Filter by market window/type."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size (1–100)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's pagination.next_cursor."
}
}
}{
"title": "Search Limitless markets",
"readOnlyHint": true,
"openWorldHint": true
}limitless_get_orderbook
Latest L2 depth (bids desc / asks asc) for a Limitless market by slug. Every account plan; only the keyless demo surface is refused.
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Limitless market slug from limitless_search_markets."
}
}
}{
"title": "Get Limitless order book",
"readOnlyHint": true,
"openWorldHint": true
}limitless_get_snapshots
Historical L2 depth snapshots (time series) for a Limitless market by slug. Every account plan; history is bounded by your plan window.
{
"type": "object",
"required": [
"slug"
],
"properties": {
"fill": {
"enum": [
"ffill",
"none"
],
"type": "string",
"description": "ffill returns ONE ROW PER BUCKET for the whole window, carrying the last captured book into buckets that held no capture. Each row then carries `filled` (0 = a capture, 1 = carried forward) and `as_of_ts`, the moment that book was recorded. Requires `interval`. Without it, `interval` returns only the buckets that held a capture — a short series means the market is quoted infrequently, not that data is missing."
},
"slug": {
"type": "string",
"description": "Limitless market slug."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Page size (1–1000)."
},
"cursor": {
"type": "string",
"description": "Opaque pagination cursor from a previous response's pagination.next_cursor."
},
"end_time": {
"type": "string",
"description": "End of time as ms-epoch or ISO-8601. History is clamped to your plan's window."
},
"interval": {
"type": "string",
"description": "Downsample bucket — 30s, 1m, 5m, 1h, up to 1d. Returns the newest book in each bucket. Omit for every recorded book change."
},
"start_time": {
"type": "string",
"description": "Start of time as ms-epoch or ISO-8601. History is clamped to your plan's window."
}
}
}{
"title": "Limitless order-book history",
"readOnlyHint": true,
"openWorldHint": true
}bars
OHLCV price bars for US equities and ETFs, Binance spot pairs, and perpetual futures. One minute is the finest resolution; 5Min, 15Min, 1Hour and 1Day are rolled up from it and say so with `derived`. Spell a crypto pair the way the venue does (BTCUSDT, not BTC) and a perpetual with a .P suffix (BTCUSDT.P) — spot and perp are different instruments at different prices. BTCU, ETHU and WLDU are each both a US ETF and a Binance pair, and resolve to the equity — pass venue=binance to reach the pair instead. Optional `venue` selects the market explicitly: us-equities, binance (spot) or binance-futures (perpetuals). Bounded by the same plan history window as every other read (403 HISTORY_LIMIT_EXCEEDED past it); the plan also sets how many symbols one request may carry.
{
"type": "object",
"required": [
"symbols"
],
"properties": {
"symbols": {
"type": "string",
"description": "Comma-separated symbols, e.g. \"AAPL,BTCUSDT,BTCUSDT.P\". 3 per request on Explorer, 8 Quant, 16 Research, 32 Desk."
},
"end_time": {
"type": "string",
"description": "End of time as ms-epoch or ISO-8601. History is clamped to your plan's window."
},
"timeframe": {
"type": "string",
"description": "1Min (default), 5Min, 15Min, 1Hour or 1Day."
},
"start_time": {
"type": "string",
"description": "Start of time as ms-epoch or ISO-8601. History is clamped to your plan's window."
}
}
}{
"title": "Equity & crypto price bars",
"readOnlyHint": true,
"openWorldHint": true
}backtest_paths
Mid-price path per Polymarket market for backtesting, resampled to a fixed interval and bounded to each market's own lifetime so post-settlement books cannot leak in as risk-free fills. Returns {interval_seconds, markets:{<market_id>:{points:[[ts_ms, price_up, coin_price], …]}}} — up to 1000 points per market. Pass 1 to 50 market ids from polymarket_search_markets. History is bounded by the plan window and the interval floor by plan; both fail closed rather than silently coarsening.
{
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "string",
"description": "Comma-separated Polymarket market ids, 1 to 50, from polymarket_search_markets."
},
"coin": {
"enum": [
"btc",
"eth",
"sol",
"xrp",
"doge",
"bnb",
"hype"
],
"type": "string",
"default": "btc",
"description": "Crypto asset. Every account plan reaches all seven; only the keyless demo surface is BTC-only."
},
"interval": {
"type": "integer",
"description": "Resample interval in seconds (default 60). The floor is set by plan; a finer value is refused, not rounded."
}
}
}{
"title": "Backtest price paths",
"readOnlyHint": true,
"openWorldHint": true
}screener
Cross-venue top-of-book snapshot for all assets across Polymarket, Kalshi, and Binance — a one-shot overview of the current state. No arguments.
{
"type": "object",
"properties": {}
}{
"title": "Cross-venue screener",
"readOnlyHint": true,
"openWorldHint": true
}whoami
Show the current session's plan, rate limits, history window, and coin access (reflects keyless demo vs. your API key).
{
"type": "object",
"properties": {}
}{
"title": "Show plan & limits",
"readOnlyHint": true,
"openWorldHint": true
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 829 ms
- 95th percentile latency
- 829 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 829 ms · metadata changed · 15 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http depthfeed-mcp https://api.depthfeed.com/mcpCodex
codex mcp add depthfeed-mcp --url https://api.depthfeed.com/mcpCursor
{
"mcpServers": {
"depthfeed-mcp": {
"url": "https://api.depthfeed.com/mcp"
}
}
}Cline
{
"mcpServers": {
"depthfeed-mcp": {
"type": "streamableHttp",
"url": "https://api.depthfeed.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"depthfeed-mcp": {
"type": "http",
"url": "https://api.depthfeed.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http depthfeed-mcp https://api.depthfeed.com/mcpClaude Desktop
https://api.depthfeed.com/mcpWindsurf
{
"mcpServers": {
"depthfeed-mcp": {
"serverUrl": "https://api.depthfeed.com/mcp"
}
}
}Let your agent find its tools
Find servers like DepthFeed MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run DepthFeed MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.