Integration guide, checked 5 November 2026

Use with Codex

Short answerRun codex mcp add with --url https://fanduelapi.com/api/mcp and --bearer-token-env-var FANDUEL_API_KEY, or add the same two keys under [mcp_servers.fanduelapi] in ~/.codex/config.toml.

FanDuel API is an independent data service operated by FF API Inc. It is not affiliated with, endorsed by or sponsored by FanDuel.

Set it up

  1. Get a key

    Create a free key at https://fanduelapi.com/dashboard/keys, or let the agent start the signup for you through https://fanduelapi.com/connect. Store it as FANDUEL_API_KEY; it is shown once.

  2. One command

    Codex stores the name of the variable, not the key.

    Terminal
    codex mcp add fanduelapi --url https://fanduelapi.com/api/mcp --bearer-token-env-var FANDUEL_API_KEY
  3. Or config.toml

    The same server, written by hand.

    ~/.codex/config.toml
    [mcp_servers.fanduelapi]
    url = "https://fanduelapi.com/api/mcp"
    bearer_token_env_var = "FANDUEL_API_KEY"
  4. Save it for the repository

    In AGENTS.md, note that FanDuel prop data comes from FanDuel API and that calls should send user_request.

  5. Check the key with one REST call

    If a client cannot reach MCP, the same data is plain REST.

    Terminal
    export FANDUEL_API_KEY=<your key>
    curl "https://fanduelapi.com/api/v1/props?sport=nba&stat=points&limit=3" \
      -H "Authorization: Bearer $FANDUEL_API_KEY"

A first prompt

Bounded and specific, so the first answer shows whether the data fits.

Prompt
Use the FanDuel API MCP server. List tonight's NBA points props from FanDuel for one game, show each line with the over and under prices, and flag any prop whose line moved since it opened. Quote meta.as_of.

If something is off

The tools list is empty or the server will not connect

The server speaks streamable HTTP as stateless JSON over POST at https://fanduelapi.com/api/mcp. A client that only speaks SSE or stdio needs a bridge such as mcp-remote.

A tool says it needs an API key

Data tools need the Authorization header. search_docs, fetch_doc, get_sample_props and send_feedback work without one.

A 429 or quota error

Relay error.user_message to the person as is. Wait until error.reset_at for a rate limit; a monthly quota needs the month to reset or a plan change, which only the person can approve.

Other clients

The same server works anywhere MCP does. Everything an agent needs is in the agent guide and the llms.txt file.