Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

MCP server

Use MCP when an AI agent needs to search Adjacent data without knowing the REST API. The Adjacent MCP server exposes prediction-market data through the Model Context Protocol.
The server has four tools. An agent can pass an id from list or find to get or price.

A typical agent workflow

An agent can:
  1. Use find when the user gives a topic, such as a race or policy question.
  2. Use get to inspect the matching market, event, index, or rate.
  3. Use price when the user asks how that value changed over time.
  4. Use the returned ids to continue the conversation without another search.
The public endpoint supports basic discovery. Add an API key when the agent needs realtime data, news, similar markets, or historical lookups.
For example, an agent can turn "What is the current price for the 2028 presidential market?" into a find call, pass the returned market id to get, and then call price if the user asks for a chart or recent change.

Connect to MCP

https://mcp.adjacent.markets/mcp
Public (no key) traffic uses the 15-minute-delayed snapshot tier. For realtime data, append your Adjacent API key as apiKey. REST uses the api_key query parameter or a Bearer token. MCP uses apiKey on the URL:
https://mcp.adjacent.markets/mcp?apiKey=YOUR_KEY
Create and manage keys in Settings on adjacent.markets.

Add MCP to an agent

Most agent hosts accept a single URL under a "remote MCP" or "Streamable HTTP" option. Config file paths vary by host. Use one of these configurations:
Cursor / Claude (remote Streamable HTTP)
{ "mcpServers": { "adjacent": { "url": "https://mcp.adjacent.markets/mcp" } } }
With an API key (realtime tier)
{ "mcpServers": { "adjacent": { "url": "https://mcp.adjacent.markets/mcp?apiKey=YOUR_KEY" } } }

Choose a tool

ToolWhen to use it
listBrowse 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.
findDiscover 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.
getFull 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.
pricePrice 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.
Ids from 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.
Do not use a live timeframe (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).

Learn more