Hat Trick Local MCP
An official MCP server providing read-only access to the Hat Trick Local youth sports directory. It allows AI agents to search for clubs and stores, retrieve detailed club information including fees and registration windows, and generate action links for claiming listings, suggesting corrections, or accessing online shops.
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.
https://hattricklocal.com/mcpWhat you can do with it
- Search for youth sports clubs by location or name
- Retrieve club details, fees, and registration windows
- Find local sports stores near a specific address
- Generate claim, correction, or shop links for listings
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- com.hattricklocal/directory 1.0.1
- MCP protocol
- 2025-06-18
- Tools
- 8 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
8 advertised
search_clubs — Search clubs
Find youth sports clubs in the Hat Trick Local directory by name, town, state or distance (the listings today are soccer clubs). Use it whenever a person names a club, even vaguely or misspelled: when no listing matches every word, the answer lists candidates with similar names. Each result has the club's org_key (for get_club and the link tools), its town, whether registration is open or upcoming with dates and source, its fee range and how its facts were verified. Coverage is Ohio and Pennsylvania first; no result elsewhere means not in this directory, not that no club exists.
{
"type": "object",
"properties": {
"city": {
"type": "string",
"maxLength": 80,
"description": "Town or city name."
},
"near": {
"type": "string",
"description": "A 5-digit US ZIP code, or latitude,longitude, to search by distance. Results then carry distance_mi."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "How many results (default 10, at most 25)."
},
"query": {
"type": "string",
"maxLength": 100,
"description": "Club name, part of a name or a town. Every word must match; when nothing does, similar names come back as candidates."
},
"sport": {
"type": "string",
"maxLength": 30,
"description": "soccer, lacrosse or hockey."
},
"state": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter US state code, for example OH or PA."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous answer, for the next page of the same search."
},
"radius_mi": {
"type": "number",
"maximum": 250,
"minimum": 1,
"description": "Miles around near (default 25)."
},
"registration_open": {
"type": "boolean",
"description": "true: only clubs whose registration is open today."
},
"registration_status": {
"enum": [
"open",
"upcoming",
"not_on_record"
],
"type": "string",
"description": "open (today), upcoming (a window starts later) or not_on_record."
}
},
"additionalProperties": false
}{
"title": "Search clubs",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_club — Get a club
One club's full listing: contacts, programs, locations, and its current season records (registration windows, fees and tryouts, each with its source link and how it was verified), plus its club website, shop link and action links when it has them.
{
"type": "object",
"required": [
"org_key"
],
"properties": {
"org_key": {
"type": "string",
"maxLength": 200,
"description": "The club's org_key from a search (an older key or a plain slug also works)."
}
},
"additionalProperties": false
}{
"title": "Get a club",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_registration_windows — List registration windows
Registration windows on record across clubs, for questions like 'which clubs in Ohio have registration open now' or 'what opens in January'. Filter by state, town, club name words, status and dates. Each window has its opening and closing dates, season, source link and verification.
{
"type": "object",
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only windows overlapping up to this date (YYYY-MM-DD; a range is at most 400 days)."
},
"city": {
"type": "string",
"maxLength": 80,
"description": "Town or city name."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only windows that cover this date (YYYY-MM-DD)."
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only windows overlapping from this date (YYYY-MM-DD)."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "How many results (default 10, at most 25)."
},
"query": {
"type": "string",
"maxLength": 100,
"description": "Words of a club's name or town."
},
"state": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter US state code, for example OH or PA."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous answer, for the next page of the same search."
},
"status": {
"enum": [
"open",
"upcoming"
],
"type": "string",
"description": "open (covers today) or upcoming (opens later)."
}
},
"additionalProperties": false
}{
"title": "List registration windows",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_stores — Search sports stores
Find local sports stores (soccer stores today) by name, chain, town, state or distance, with address, phone, brands and whether they outfit teams. Each result has the store's org_key for get_store and the link tools.
{
"type": "object",
"properties": {
"city": {
"type": "string",
"maxLength": 80,
"description": "Town or city name."
},
"near": {
"type": "string",
"description": "A 5-digit US ZIP code, or latitude,longitude, to search by distance. Results then carry distance_mi."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "How many results (default 10, at most 25)."
},
"query": {
"type": "string",
"maxLength": 100,
"description": "Store name, chain or town. Every word must match; when nothing does, similar names come back as candidates."
},
"state": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter US state code, for example OH or PA."
},
"cursor": {
"type": "string",
"description": "next_cursor from the previous answer, for the next page of the same search."
},
"radius_mi": {
"type": "number",
"maximum": 250,
"minimum": 1,
"description": "Miles around near (default 25)."
},
"team_dealer": {
"type": "boolean",
"description": "true: only stores that outfit teams (uniforms for clubs)."
}
},
"additionalProperties": false
}{
"title": "Search sports stores",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_store — Get a store
One store's full listing: address, phone, hours where listed, brands, whether it outfits teams, and its online ordering and action links when it has them.
{
"type": "object",
"required": [
"org_key"
],
"properties": {
"org_key": {
"type": "string",
"maxLength": 200,
"description": "The store's org_key from a search (an older key or a plain slug also works)."
}
},
"additionalProperties": false
}{
"title": "Get a store",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_claim_link — Claim link
A link to hand a person who runs a club or store, so they can claim its free listing. Opening it changes nothing: the person fills in and sends the claim on the page. If the listing is already claimed, the person can still send a claim and Hat Trick Local reviews it. Never open the link to submit for the person.
{
"type": "object",
"required": [
"org_key"
],
"properties": {
"org_key": {
"type": "string",
"maxLength": 200,
"description": "The club or store's org_key from a search (an older key or a plain slug also works)."
}
},
"additionalProperties": false
}{
"title": "Claim link",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_correction_link — Correction link
A link to hand a person who found something wrong in a listing. It opens the listing with the correction form open (field preselects what is wrong); the person writes and sends it, and Hat Trick Local reviews it before anything changes. Never submit for the person.
{
"type": "object",
"required": [
"org_key"
],
"properties": {
"field": {
"enum": [
"name",
"website",
"city",
"email_public",
"phone_public",
"description",
"remove_listing"
],
"type": "string",
"description": "What is wrong, so the form opens with it chosen."
},
"org_key": {
"type": "string",
"maxLength": 200,
"description": "The listing's org_key from a search."
}
},
"additionalProperties": false
}{
"title": "Correction link",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_shop_link — Shop link
A link to where a club or store sells online through Hat Trick Local (a club's team store or a store's online ordering). Many listings do not sell online; the answer then says so and gives the listing's page. The person chooses and pays there; never order or pay for them.
{
"type": "object",
"required": [
"org_key"
],
"properties": {
"org_key": {
"type": "string",
"maxLength": 200,
"description": "The club or store's org_key from a search (an older key or a plain slug also works)."
}
},
"additionalProperties": false
}{
"title": "Shop link",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
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
- 413 ms
- 95th percentile latency
- 413 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 413 ms · metadata changed · 8 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http hat-trick-local-mcp https://hattricklocal.com/mcpCodex
codex mcp add hat-trick-local-mcp --url https://hattricklocal.com/mcpCursor
{
"mcpServers": {
"hat-trick-local-mcp": {
"url": "https://hattricklocal.com/mcp"
}
}
}Cline
{
"mcpServers": {
"hat-trick-local-mcp": {
"type": "streamableHttp",
"url": "https://hattricklocal.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"hat-trick-local-mcp": {
"type": "http",
"url": "https://hattricklocal.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http hat-trick-local-mcp https://hattricklocal.com/mcpClaude Desktop
{
"mcpServers": {
"hat-trick-local-mcp": {
"url": "https://hattricklocal.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"hat-trick-local-mcp": {
"serverUrl": "https://hattricklocal.com/mcp"
}
}
}Let your agent find its tools
Find servers like Hat Trick Local MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run Hat Trick Local 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.