Repository avatar
Other Tools
v2.0.1
active

futuur-mcp

io.github.futuur/futuur-mcp

Futuur prediction markets: browse events and prices, simulate and place orders, track positions.

Documentation

Futuur MCP server

A Model Context Protocol server for Futuur prediction markets. It lets Claude and other MCP clients browse events and prices, simulate and place orders, and track positions through the Futuur public API (https://api.futuur.com/v2.0/).

  • Built on the official MCP TypeScript SDK v2 (@modelcontextprotocol/server), which implements the 2026-07-28 specification and still serves older clients.
  • Every tool has a title, typed arguments, structured results and read-only / destructive annotations, so clients can ask for confirmation before anything that moves money.
  • Browsing works without credentials. Account and trading tools need your Futuur API keys.

Requirements

  • Node.js 20 or newer
  • Futuur API keys for account and trading tools: futuur.com → Settings → API keys

Setup

Cursor

Add Futuur to Cursor

The button adds the server with empty keys; fill them in under Cursor Settings → MCP to use account and trading tools.

Claude Desktop

Download futuur.mcpb from the latest release and open it: Claude Desktop installs it as an extension and asks for your API keys (optional).

Claude Code

claude mcp add futuur -e FUTUUR_PUBLIC_KEY=your_public_key -e FUTUUR_PRIVATE_KEY=your_private_key -- npx -y @futuur/futuur-mcp

Any other MCP client (VS Code, Windsurf, Cline, ...), in its mcpServers configuration:

{
  "futuur": {
    "command": "npx",
    "args": ["-y", "@futuur/futuur-mcp"],
    "env": {
      "FUTUUR_PUBLIC_KEY": "your_public_key",
      "FUTUUR_PRIVATE_KEY": "your_private_key"
    }
  }
}

The server is listed in the official MCP Registry as io.github.futuur/futuur-mcp.

VariablePurpose
FUTUUR_PUBLIC_KEY, FUTUUR_PRIVATE_KEYAPI key pair. Optional for browsing, required for account and trading tools.
FUTUUR_API_BASE_URLOverride the API base URL (default https://api.futuur.com/v2.0/).

Your keys stay on your machine: the server runs locally over stdio and only talks to the Futuur API.

Tools

Market data (no keys needed):

ToolWhat it does
get_marketsList and search events, with category, tag, status, date and ordering filters
get_market_detailsOne event with all of its markets (outcomes)
get_price_historyPrice history of an event's markets
get_order_bookBids and asks for one market
get_categories, get_category_detailsBrowse categories
get_exchange_rates, convert_to_usd, convert_from_usdCurrency rates and indicative conversions

Account and positions (keys required):

ToolWhat it does
get_user_profile, get_balances, get_user_rankingProfile, balances per currency, leaderboard position
get_user_bets, get_wager_detailsPositions and their purchase/sale history
get_partial_sell_amountEstimate what a position would sell for

Trading (keys required; these change your balance):

ToolWhat it does
get_bet_simulationPreview a buy or sell against the live order book. Places nothing.
place_betPlace a limit or market order
sell_betSell all or part of a position
list_ordersYour open and past orders
cancel_order, cancel_all_ordersCancel resting orders

Vocabulary: an event is a question; its markets are the outcomes, each priced between 0 and 1. bid buys and ask sells; long is the Yes side of a market and short is the No side. OOM is play money; USDC, USDT and USD are real money. Real-money trading through the API has to be enabled for your account.

Development

npm install
npm run build
npm test
node scripts/smoke.mjs --live

npm test runs the unit tests with a mocked API. The smoke script starts the built server over stdio, checks the handshake and tool metadata, and with --live makes a few read-only calls to the production API. npm run mcpb builds the Claude Desktop extension into dist/futuur.mcpb. See docs/TROUBLESHOOTING.md for common problems.

Releasing

  1. Bump version in package.json, server.json (twice) and manifest.json; npm test fails if they disagree.
  2. Merge, then push a tag: git tag v2.0.2 && git push origin v2.0.2.

The Release workflow publishes to npm (when an NPM_TOKEN secret is set; otherwise run npm publish first), to the MCP Registry, and attaches futuur.mcpb to a GitHub release. docs/MARKETPLACES.md tracks the other directories.

License

ISC

NPM
@futuur/futuur-mcp
Install Command
npm install @futuur/futuur-mcp