FormFav LogoFormFav

    MCP Server

    Ask ChatGPT, Claude or Cursor about today's racing and get live FormFav data back. The fastest way is to add FormFav as a connector and sign in once — no API key to copy, no config file, no code.

    Quick start: connect ChatGPT or Claude

    Add FormFav as a custom connector and sign in with your FormFav account. It works on the free plan, and you never handle an API key.

    Server URL
    https://api.formfav.com/mcp

    Paste the whole address, including https://. Some apps reject a bare domain.

    ChatGPT

    1. Open ChatGPT's connector settings and add a custom MCP connector. Menu names and which plans can add one vary, so see OpenAI's help if you can't find it.
    2. Paste the server URL above.
    3. Set authentication to OAuth.
    4. Sign in to FormFav when prompted and approve access.

    Claude claude.ai and Claude Desktop

    1. Go to Settings > Connectors and choose Add custom connector.
    2. Name it FormFav and paste the server URL above.
    3. Under Authentication, choose Sign in now.
    4. Under OAuth client, choose Register automatically (the setting we've tested; see the note below).
    5. Leave Request headers empty and add the connector.
    6. Sign in to FormFav when prompted and approve access.

    Which setup do I need?

    Apps with a connector or custom-connector screen sign in with OAuth. Editors, command-line tools and scripts that read a config file send your API key instead.

    If you useYou sign in withGo to
    ChatGPTFormFav account (OAuth)Quick start: ChatGPT
    Claude (claude.ai or Claude Desktop connectors)FormFav account (OAuth)Quick start: Claude
    Claude CodeAPI keyClaude Code
    CursorAPI keyCursor
    Claude Desktop via its config fileAPI keyClaude Desktop config
    Your own code or another MCP clientAPI key (X-API-Key or Bearer)API key setup
    A local process on your machineAPI key in an env varStandalone setup

    What is MCP?

    MCP (Model Context Protocol) is an open standard that lets AI assistants use external data sources as native tools. With FormFav connected, you can ask your assistant about tomorrow's races and it pulls live data from FormFav automatically. There is nothing to install for the hosted server: it runs at https://api.formfav.com/mcp.

    API key setup (editors, command line, scripts)

    Tools that read an MCP config file can't do a browser sign-in, so they send your API key in the X-API-Key header, the same as the REST API (or as an Authorization: Bearer token if a client only has that field). Pro users automatically get Pro tools; Free users are rate-limited against their own quota. Replace your_api_key_here below with a free key from formfav.com/get-api-key.

    Claude Desktop (config file)

    Claude Desktop's config file is stdio-only, so we bridge to the hosted HTTP server through the mcp-remote proxy. It's pulled on first run by npx — no manual install — but you do need Node.js on your machine.

    Open Claude Desktop. If you don't see a Developer tab in Settings, enable it first: Help > Troubleshooting > Enable Developer Mode (one-time step). Then go to Settings > Developer > Edit Config and add:

    claude_desktop_config.json
    {
      "mcpServers": {
        "formfav": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://api.formfav.com/mcp/",
            "--header",
            "X-API-Key: your_api_key_here"
          ]
        }
      }
    }

    Claude Code

    Add to .mcp.json in your project root:

    .mcp.json
    {
      "mcpServers": {
        "formfav": {
          "type": "http",
          "url": "https://api.formfav.com/mcp/",
          "headers": {
            "X-API-Key": "your_api_key_here"
          }
        }
      }
    }

    Cursor

    Cursor reads MCP servers from ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project). Add:

    ~/.cursor/mcp.json
    {
      "mcpServers": {
        "formfav": {
          "url": "https://api.formfav.com/mcp/",
          "headers": {
            "X-API-Key": "your_api_key_here"
          }
        }
      }
    }

    Alternatively, manage MCP servers via the UI at Settings > Tools & MCP > New MCP Server.

    Standalone Setup

    Run the MCP server as a local process using uv. All tool calls use the single API key set in the environment.

    claude_desktop_config.json
    {
      "mcpServers": {
        "formfav": {
          "command": "uv",
          "args": ["run", "python", "-m", "mcp_server"],
          "cwd": "/path/to/formfav-mcp/src",
          "env": {
            "FORMFAV_API_KEY": "your_api_key_here"
          }
        }
      }
    }

    Setup steps

    1. Install uv
    2. Clone the formfav-mcp repository
    3. In Claude Desktop, enable the Developer tab if it isn't already visible: Help > Troubleshooting > Enable Developer Mode, then open the config via Settings > Developer > Edit Config
    4. Update cwd to point to the cloned repo's src directory
    5. Replace your_api_key_here with your API key
    6. Restart Claude Desktop — FormFav tools appear automatically

    Available Tools

    The MCP server exposes the following tools to your AI assistant:

    ToolWhat it doesTier
    get_meetingsList race meetings for a dateFree
    get_race_cardFull race form for a specific race (runners, barriers, jockeys, form)Free
    get_predictionsML win/place probability predictionsPro
    get_race_resultsResult of a race, or of every race at a meeting in one callPro
    get_jockey_statsJockey performance stats by trackPro
    get_trainer_statsTrainer performance stats by trackPro
    get_track_biasBarrier/box bias for a venue, per distance band or scoped by distancePro
    search_runnerFind a horse or greyhound by namePro
    get_runner_profileFull career statistics for a runnerPro

    Example Prompts

    Once connected, try asking your AI assistant:

    • •"What meetings are on tomorrow?"
    • •"Show me the race form for Flemington Race 5 today"
    • •"What are the model's win and place chances for Randwick Race 3?" (Pro)
    • •"How does James McDonald perform at Moonee Valley?" (Pro)
    • •"Is there a barrier bias at Flemington on soft tracks?" (Pro)
    • •"Look up the career stats for Via Sistina" (Pro)

    Worked examples

    Longer questions that combine several tools. Each shows what the assistant does behind the scenes and what to keep in mind. You don’t need to name the tools; the assistant picks them.

    Rank a race with your own rules

    Free plan
    “Look at Flemington race 7 today. Tell me the track condition, then rank the field with my rules: penalise any runner carrying more than 58kg that’s drawn wider than barrier 9, and favour runners with a strong first-up record.”

    How it works: one get_race_card call. The assistant reads each runner’s weight, barrier and first-up record (wins from starts) plus the track condition, then applies your rules itself.

    • •FormFav supplies the numbers; the ranking is the assistant’s reasoning from your rules, not a FormFav prediction.
    • •Barrier is the runner’s position after scratchings.
    • •For the model’s own win and place probabilities, ask for get_predictions (Pro).

    Scan a card for a profile

    Pro plan
    “Scan Caulfield tomorrow. For races between 1200m and 1400m, show me runners that are dropping in class and have won on a Soft or Heavy track.”

    How it works: get_meetings for the date lists every race with its distance and class, so the assistant picks the races in range and calls get_race_card for just those. On Pro it reads each runner’s class fit (a drop or rise against the runner’s class rating) and its record on Soft and Heavy tracks.

    • •Scope the scan to one meeting or a few venues. Each race is a separate call that counts against your daily quota.
    • •Cards are available up to 7 days ahead, and the going shown for a future day can change before race day.
    • •Class fit is a rating comparison, not a named class change such as “Group 3 to Benchmark 84”.

    Does this setup suit?

    Pro plan
    “Thunderbolt runs in Race 5 at Randwick on Saturday. Does the setup suit? Check its record on Soft and Heavy tracks, its first-up record and running style, and whether the barrier is a problem at that distance.”

    How it works: search_runner finds the horse and get_runner_profile returns its stats and running style. get_race_card gives the barrier, the current track condition and the field’s speed map, and get_track_bias shows how barriers have performed at that venue and distance.

    • •Name the venue and race number. FormFav can’t yet look up a runner’s next start by itself.
    • •You get the current track condition and weather, not a forecast.
    • •FormFav doesn’t send alerts, so to re-check scratchings or the going later, ask again.

    Troubleshooting

    • •Claude says it can't connect or sign in — Open the connector's settings and set Authentication to Sign in now and OAuth client to Register automatically, which is the combination we've tested.
    • •The connector is added but returns "Invalid or missing API key" — It was added without signing in (for example No sign-in). Remove it and add it again with a sign-in option so you're sent to formfav.com to approve.
    • •The app rejects the URL — Paste the full address, https://api.formfav.com/mcp, including https:// and with no trailing text.
    • •"Invalid or missing API key" — In hosted mode, check the X-API-Key header value in your config. In standalone mode, check FORMFAV_API_KEY is set correctly.
    • •A connector asks you to sign in again, or says authorization failed — The connection was disconnected, or went unused for about 30 days. Remove the connector in the app and add it again to re-approve.
    • •"You already have 10 connected apps" — Disconnect one from the Connected apps list in your API keys dialog, then approve the new one.
    • •"Pro subscription required" — The tool requires a Pro plan. Upgrade at formfav.com/pricing.
    • •Tools not appearing — Restart your MCP client after editing config. Check the developer console for connection errors.
    • •Claude Desktop: "spawn npx ENOENT" — mcp-remote needs Node.js. Install from nodejs.org (LTS) and restart Claude Desktop.
    • •Standalone: cannot connect — Verify cwd points to the correct directory and uv is installed and on your PATH.

    Next Steps