list or find to
get or price.find when the user gives a topic, such as a race or policy question.get to inspect the matching market, event, index, or rate.price when the user asks how that value changed over time.find call, pass the returned market id to get,
and then call price if the user asks for a chart or recent change.1https://mcp.adjacent.markets/mcp
apiKey. REST uses the
api_key query parameter or a Bearer token. MCP uses apiKey on the URL:1https://mcp.adjacent.markets/mcp?apiKey=YOUR_KEY
1234567{ "mcpServers": { "adjacent": { "url": "https://mcp.adjacent.markets/mcp" } } }
1234567{ "mcpServers": { "adjacent": { "url": "https://mcp.adjacent.markets/mcp?apiKey=YOUR_KEY" } } }
| Tool | When to use it |
list | Browse tradable events (default), markets, indices, rates, filings, announcements, or news. News requires an API key. Search is all-words AND. For a historical market catalog, use an API key and pass include_resolved with created_before / as_of. |
find | Discover an entity by topic when you don't have an id. Optional type (index, rate, event, market, news, filing, announcement, similar). News and similar-market queries require an API key. type=similar accepts platform to rank only that venue. Same historical flags as list. An empty search returns SEARCH_NO_MATCH. |
get | Full detail by id. Indices include constituents. Index, rate, and market reads accept as_of for a historical snapshot (price_at_as_of); live probability is omitted. Event historical reads return BAD_REQUEST because the API does not store historical membership. |
price | Price history. Live: a human timeframe (24h, 7d, 30d, 90d). Index, rate, and market historical reads accept end or as_of (RFC3339 or YYYY-MM-DD); the default interval is 1d. Compact mode returns the last bucket at or before the cutoff. Event historical reads return BAD_REQUEST because the API does not store historical membership. No such bucket is NO_PRICE_AT_AS_OF. |
list or find chain into get or price. Markets use
<platform>:<raw>, such as kalshi:KXPRESPARTY-2028-R. Indices and rates use
slugs such as red or pres.30d, 90d) as a substitute for end on a
past question. Failures set isError and a stable code (RATE_LIMITED,
FORBIDDEN, NOT_FOUND, SEARCH_NO_MATCH, NO_PRICE_AT_AS_OF,
CREATED_AFTER_AS_OF, BAD_REQUEST).