Koskamo

Open Paddock MCP

An official MCP server for Open Paddock that allows AI agents to query a neutral, free calendar of motorcycle track days in the US, Canada, and Mexico. It provides tools to find track days by location or date, list circuits, retrieve circuit details, list organisers, and get specific event information, enabling riders to discover and book track days directly with organisers.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Open Paddock MCP logo, by Open PaddockVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-02Operated by Open Paddock
MCP endpoint (Streamable HTTP)
https://openpaddock.app/mcp
Vendor documentation

What its tools do

5 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

5 of 5 have a description · 5 of 5 declare behavior hints · 2 of 5 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to openpaddock.app ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Find track days near a specific location and date range
  • List all available circuits in the database
  • Retrieve detailed information about a specific circuit
  • List all track day organisers and their details

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
openpaddock 1.0.0
MCP protocol negotiated in check
2025-06-18
Tools
5 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Open Paddock (openpaddock.app) lists motorcycle track days in the US, Canada and Mexico, read from organisers' own published calendars. Open Paddock is a neutral calendar: it sells nothing and takes no bookings. Send the user to the organiser's site (bookingUrl) to book, and check prices, groups and rules there. Credit the data as "via Open Paddock (openpaddock.app)" and link openPaddockUrl. Rows with an attribution field come from MotorsportReg.com and must be shown with "Powered by MotorsportReg.com". Days marked kind=race-practice (kindLabel "Race-weekend practice") are practice days at a club race weekend, not open track days: say so. lastChecked is when we last read the organiser's calendar; dates can change, so tell the user to confirm on the organiser's site. Organisers listed as link only publish no calendar we can read, so their days are not in the results; point the user to their website. Data licence: CC BY 4.0.

Tools

5 advertised

find_track_days — Find motorcycle track days
Advertised by the server during the last successful anonymous check.
Advertised read-only

Upcoming motorcycle track days in North America, in date order (or nearest first when near is given and sort is distance). Use near for "track day near Sacramento" questions; use from/to for a month. Each result has dates, circuit with city and state, organiser, kind ("Open track day" or "Race-weekend practice", which is a club race weekend's practice day: say so), price tier, distanceMi when near is set, source, lastChecked, bookingUrl and openPaddockUrl. Open Paddock is a neutral calendar: it sells nothing and takes no bookings. Send the user to the organiser's site (bookingUrl) to book, and check prices, groups and rules there. Credit the data as "via Open Paddock (openpaddock.app)" and link openPaddockUrl. Rows with an attribution field come from MotorsportReg.com and must be shown with "Powered by MotorsportReg.com".

find_track_days input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Latest date, YYYY-MM-DD (days starting on or before it)."
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Earliest date, YYYY-MM-DD (days ending on or after it). Default today."
    },
    "near": {
      "type": [
        "string",
        "number"
      ],
      "description": "Where the rider is: US ZIP (\"95814\"), Canadian postal code, \"City, ST\" (\"Sacramento, CA\"), or \"lat,lon\"."
    },
    "sort": {
      "enum": [
        "date",
        "distance"
      ],
      "type": "string",
      "description": "date (default) or distance (needs near)."
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Max days returned. Default 25."
    },
    "region": {
      "enum": [
        "west",
        "central",
        "east",
        "canada",
        "mexico"
      ],
      "type": "string",
      "description": "Riding region of the circuit."
    },
    "circuit": {
      "type": "string",
      "description": "Circuit id or name, e.g. \"thunderhill\" or \"Sonoma\". Comma-separate several."
    },
    "country": {
      "enum": [
        "US",
        "CA",
        "MX"
      ],
      "type": "string"
    },
    "organiser": {
      "type": "string",
      "description": "Organiser id or name, e.g. \"n2\" or \"Fun Track Dayz\". Comma-separate several."
    },
    "within_miles": {
      "type": "number",
      "maximum": 1000,
      "description": "Straight-line radius around near, in miles. Default 150, max 1000.",
      "exclusiveMinimum": 0
    },
    "include_race_practice": {
      "type": "boolean",
      "description": "Include race-weekend practice days (club race weekends' practice days, open to non-racers). Default true; false = open track days only."
    }
  }
}
find_track_days annotations
{
  "title": "Find track days",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_circuits — List circuits
Advertised by the server during the last successful anonymous check.
Advertised read-only

Motorcycle circuits Open Paddock knows in the US, Canada and Mexico, with city, state, region and the number of upcoming days listed. With near, only circuits within within_miles, nearest first, each with distanceMi. Use the id with find_track_days or get_circuit.

list_circuits input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "near": {
      "type": [
        "string",
        "number"
      ],
      "description": "US ZIP, Canadian postal code, \"City, ST\", or \"lat,lon\"."
    },
    "region": {
      "enum": [
        "west",
        "central",
        "east",
        "canada",
        "mexico"
      ],
      "type": "string"
    },
    "within_miles": {
      "type": "number",
      "maximum": 1000,
      "description": "Default 150, max 1000.",
      "exclusiveMinimum": 0
    }
  }
}
list_circuits annotations
{
  "title": "List circuits",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_circuit — Get a circuit
Advertised by the server during the last successful anonymous check.
Advertised read-only

One circuit: location, length and turns where known, the organisers that run days there, and its next upcoming days (up to 20). Open Paddock is a neutral calendar: it sells nothing and takes no bookings. Send the user to the organiser's site (bookingUrl) to book, and check prices, groups and rules there. Credit the data as "via Open Paddock (openpaddock.app)" and link openPaddockUrl. Rows with an attribution field come from MotorsportReg.com and must be shown with "Powered by MotorsportReg.com".

get_circuit input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Circuit id from list_circuits, e.g. \"thunderhill\". A name also works when it matches one circuit."
    }
  }
}
get_circuit annotations
{
  "title": "Get circuit",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_organisers — List organisers
Advertised by the server during the last successful anonymous check.
Advertised read-only

Track-day organisers, schools and clubs Open Paddock lists. listing is "dates listed" when we read their calendar, or "link only" when they publish no calendar we can read (send the user to their website for dates). Filter by the region of the circuits they run at, or by organiser type.

list_organisers input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "type": {
      "enum": [
        "commercial",
        "school",
        "club",
        "track-owned",
        "private-premium",
        "kart-minitrack"
      ],
      "type": "string",
      "description": "commercial, school, club, track-owned (the circuit's own program), private-premium, kart-minitrack."
    },
    "region": {
      "enum": [
        "west",
        "central",
        "east",
        "canada",
        "mexico"
      ],
      "type": "string"
    }
  }
}
list_organisers annotations
{
  "title": "List organisers",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_event — Get a track day
Advertised by the server during the last successful anonymous check.
Advertised read-only

One listed day by id (from find_track_days or an openpaddock.app/events/<id> link). Open Paddock is a neutral calendar: it sells nothing and takes no bookings. Send the user to the organiser's site (bookingUrl) to book, and check prices, groups and rules there. Credit the data as "via Open Paddock (openpaddock.app)" and link openPaddockUrl. Rows with an attribution field come from MotorsportReg.com and must be shown with "Powered by MotorsportReg.com".

get_event input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Event id, e.g. ae103f77c7766506e7cd, or its openpaddock.app/events URL."
    }
  }
}
get_event annotations
{
  "title": "Get event",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (3 of 3 answered).

  1. 2026-11-02: 3 of 3 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
403 ms
95th percentile latency
403 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 403 ms · metadata changed · 5 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http open-paddock-mcp https://openpaddock.app/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add open-paddock-mcp --url https://openpaddock.app/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable open-paddock-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "open-paddock-mcp": {
      "url": "https://openpaddock.app/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "open-paddock-mcp": {
      "type": "streamableHttp",
      "url": "https://openpaddock.app/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start open-paddock-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "open-paddock-mcp": {
      "type": "http",
      "url": "https://openpaddock.app/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http open-paddock-mcp https://openpaddock.app/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "open-paddock-mcp": {
      "url": "https://openpaddock.app/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "open-paddock-mcp": {
      "serverUrl": "https://openpaddock.app/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Open Paddock MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Open Paddock MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing