Skip to main content
Use the 0xinsider MCP server when an AI client needs market data, wallet grades, large trades, reports, or picks. You can run the local server or call the hosted server. Every tool is read-only. Both transports use the same account request budgets. Local packages contain the tool catalog from their release. Live tool calls require a Pro or Max API key. Remote initialize, ping, and tools/list are public; tools/call requires authentication. Max includes all Pro tools. Its account has 2,000,000 included monthly requests instead of Pro’s 500,000, and its daily picks include every published rank up to 15 instead of Pro’s ranks 1 through 5. The server does not promise 15 picks every day. For example data without a key, use the REST sandbox. Version 3.4.0 exposes 45 tools, including the Max-only get_edge_hunter tool with shared selection across board, ranked-signal, and observation views. The 4 retired sports signals and observations tools are absent. The setup examples below install that version.

Set up the local server

You need Node.js 22 or newer and a key from Developers.
init detects Claude Code, Cursor, Codex, and Gemini CLI. It writes configuration for the first 3. For Gemini CLI, it prints a template to paste instead of passing the key through that client’s command-line helper. The prompt reads your key without echoing it. For unattended setup, supply OXINSIDER_API_KEY through the environment or pipe the key on stdin. Never put a key in a command-line argument, where it can appear in shell history or process listings.

Check a Claude Code setup

The server belongs in ~/.claude.json. If an older setup put it in ~/.claude/settings.json, run the current init command again to move it. Open a new Claude Code session and run claude mcp list to confirm the server is available.

Start the server directly

The package installs 0xinsider and the alias 0xinsider-mcp. Running either without arguments, or with serve, starts stdio MCP. init configures a client; the other product commands are documented under CLI. MCP always reads its key from OXINSIDER_API_KEY. A CLI sign-in session does not supply that key.

Configure a client manually

Put the credential in the client’s env configuration. The following examples show the required files and fields:
Replace the placeholder through your client’s credential setup. Do not commit a live key.

Choose a tool

The catalog below names the current remote tools and local version 3.4.0. Local packages before 3.0.0 retain their release catalog and call retired sports endpoints; update to 3.4.0 for the complete get_edge_hunter views, shared selection, board evidence, and observation quality fields. Versions before 2.13.0 do not include the stable-ID ledger tool. Field locations below refer to the decoded JSON tool body. The stdio runtime returns JSON in result.content[0].text, which you parse before reading those fields. Remote MCP also returns native result.structuredContent and advertises outputSchema; installed stdio advertises inputSchema only. Use the canonical names for new work:
  • get_pick_of_the_day_ledger_entry reads one published ledger entry using a decimal-string pick_id. The REST route is public, but MCP calls still require a Pro or Max key. A live sealed entry withholds its side, payload, nonce, and kickoff until settlement.
  • get_large_trades, get_large_trade, and get_large_trades_history read large trades. The whale names are deprecated aliases.
  • get_market_flow and batch_get_market_flow read market flow and positions. The market_intel names are deprecated aliases.
  • get_edge_hunter requires Max. Its default board returns up to 30 full rows under rows, with as_of, ranking provenance, and meta beside them. Choose view: "signals" for ranked evidence or view: "observations" with a required cohort for wider-holder, in-play, or emerging-pile measurements.
Runtime 3.2.0 adds shared selection to all three Edge Hunter views. They accept kind and the sports, leagues, market_types, condition_ids, event_slugs, and series_slugs arrays. Values combine with OR within a list and AND across axes. Copy league, series, and type identities from each row’s nullable market_context, and read the normalized requested axes from top-level selection when supplied. The board also accepts category, min_grade, horizon_hours, and limit up to 30. Advanced views retain full list envelopes with object, view, data, page fields, and meta; observations also carry snapshot_as_of, degraded, degradation_reasons, coverage, and funnel. Selected reads use strict query validation and wait for ready selection metadata; honor Retry-After on a warming response. Runtime 3.3.0 board outcomes retain provider order and expose nullable token_id. A full board row’s signal adds nullable backed token_id, frozen ranked_at, and aggregate category_skill evidence. Keep the ranking, category-evidence, and quote clocks separate; category evidence does not change the board’s admission or order. Signals add meta.ranking_source and meta.directional_source. Observations copy standard REST request/cache metadata and expose their snapshot, row, holder, and provider evidence in the documented observation fields. Ranked-source fields are not required in observation meta. Runtime 3.4.0 requires typed degradation reasons and all 6 coverage counts for observations. For sports and esports reads, the first 4 counts and reasons describe the shared all-sports snapshot; selected_observations counts your selection before pagination, and returned_observations counts the current page. Read the observation quality contract before treating a filtered or empty page as complete. The 4 pre-game and sports_edge tools remain retired. Change the tool name and select the matching advanced view.
  • get_suspicious_trades and get_suspicious_trade read flagged trades. The insider_radar names are deprecated aliases.
  • get_sharp_money_flows reads market net flows. get_smart_money_flows is a deprecated alias.
list_games and get_game return fixtures, teams, kickoff times, status, live scores, and linked Polymarket markets. Read the list’s coverage before interpreting an empty result. These tools do not return market prices, flow splits, or holder identities. Pick tools return only entitled pending selections. Read locked_picks for ranks that need Max, and do not infer a game from an omitted clock, matchup, or market field. Refresh cached Remote MCP tools/list descriptors when the response contract changes. No tool creates, changes, verifies, or deletes a webhook. The webhook tools only read existing destinations.

Local resources and prompts

The local server also provides 4 resources and 3 prompts. Remote MCP supports tools only and rejects methods outside initialize, ping, tools/list, and tools/call.

Ask for the data you need

Give the AI client a specific task:
  • “List the highest-ranked wallets on the leaderboard.”
  • “Show large basketball trades from A-grade or better wallets.”
  • “Read swisstony’s grade, realized P&L, and data freshness.”
  • “Use get_edge_hunter with sports Football and leagues nfl to show matching ranked board rows and their provider market_context.”
  • “Use get_edge_hunter with view observations, cohort wider_holder, and category Soccer; report the rows, snapshot clock, degradation, and funnel evidence.”
  • “Use get_edge_hunter with view signals, kind esports, leagues cs2, and min_grade A, then follow next_cursor with the same selection.”
The tool response is analytics data. It does not place an order or decide whether you should trade.

Environment variables

A tool call uses the same 100-request-per-minute budget and monthly quota as a REST call. These limits are shared by the account; see Rate limits.

Limits

  • Every tool is read-only. The server does not place orders, manage webhooks, or change your account.
  • A local API request has a 15-second deadline covering headers and the complete response body. The server’s own deadline returns request_timeout.
  • Starting with local package version 2.14.3, cancelling an MCP request cancels its HTTP read, including the response body. Caller cancellation has the local error code request_cancelled, even when the caller supplies a timeout reason. Cancellation does not roll back an already committed POST or guarantee that the remote server stopped its work.
  • Starting with 2.14.3, documentation resources have the same 15-second deadline and caller cancellation. The startup instructions read keeps its separate 3-second deadline.
  • The local server requires Node.js 22 or newer. The older @0xinsider/mcp@1.3.1 runtime supports earlier Node.js versions.
  • Remote MCP requires an Authorization header for tool calls. A ?token= credential is rejected with 401 and api_key_in_query.
  • To search these documentation pages, use the separate public server at docs.0xinsider.com/mcp.