Skip to main content
Glama
kennyolofsson23-netizen

travmaskinen-mcp

Travmaskinen MCP — Nordic harness racing data for AI agents

The first MCP server for Nordic harness racing (trav). Gives Claude, ChatGPT and any MCP-compatible agent direct access to Swedish, Norwegian, Danish and Finnish trotting data: upcoming pool games, full startlists, how the betting public is splitting the pool, and a model-derived win probability for every runner.

Built on a dataset of 204 000 races and 2.06 million starts since 2012.

What your agent can do with it

  • "What's running in the V85 this Saturday?"

  • "In tonight's V64, which horses does the model rate higher than the betting public does?"

  • "Build me a table of every runner in leg 3 with driver, trainer and win probability."

  • "Which horse in this round is the biggest overlay?"

Related MCP server: iddaa-mcp

Install

// Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "travmaskinen": {
      "command": "npx",
      "args": ["-y", "travmaskinen-mcp"],
      "env": { "TRAVMASKINEN_API_KEY": "your-key" }
    }
  }
}

Works with any MCP client — Claude Desktop, Claude Code, Cursor, Windsurf, VS Code.

Getting a key

The data is a paid product. Request a key at https://travmaskinen.se/api-access.

The server loads without a key and every tool will tell you how to get one, so you can install first and decide after.

Tools

list_upcoming_races

Upcoming Nordic pool games — V85, V86, V64, V65, GS75 — with track, first start time and leg count. Returns the game_id needed by the other tool.

Argument

Type

Default

Notes

days

integer 1–14

7

How many days ahead to look

Gallop races are excluded: the model is trained on trotting only, and returning probabilities for a sport it never learned would be quietly wrong rather than obviously missing.

get_race_analysis

One full round: every leg, every runner.

Field

Meaning

horse, driver, trainer

Who is running

pool_pct

Share of the betting pool on this horse — what the crowd thinks

pool_blend_prob

Win probability, 0–1. Sums to 1 per leg across live runners

implied_odds

1 / pool_blend_prob

value

Model probability ÷ market probability. > 1 = underbet

scratched

Non-runner. Probability fields are null — it isn't racing

Every response also carries a field_reference explaining each field inline, so an agent never has to guess what a number means.

Rate limits

1 000 calls/month and 60 calls/minute on the standard key. The tools return a clear message rather than a raw HTTP error when either is hit.

Configuration

Variable

Required

Purpose

TRAVMASKINEN_API_KEY

yes

Your API key

TRAVMASKINEN_API_URL

no

Override the base URL (testing)

Notes

Data covers Nordic harness racing (trot), not thoroughbred flat racing. If you need UK or US thoroughbred data, this is the wrong server — and if you need Nordic trot, as far as we know this is the only one.

Times are Europe/Stockholm. Probabilities are model output, not betting advice.

MIT licensed. The data behind it is a commercial product; see the terms at https://travmaskinen.se/api-access.

Available Tools

7 tools
get_driver_statisticsCareer statistics for a driverA

Career record for one driver (kusk): starts, wins, win percentage and strongest tracks. Requires the statistics product.

ParametersJSON Schema
NameRequiredDescriptionDefault
driver_idYesDriver id.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full behavioral disclosure burden. It adds useful context beyond the title: the domain term 'kusk', the fields included, and the requirement for the statistics product. However, it does not disclose whether this is purely read-only, whether special permissions are needed, how results are ordered, or the meaning of 'strongest tracks'. This is partial but not comprehensive transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the core purpose, and includes only essential information: the resource, the output contents, and a prerequisite. Every clause earns its place with no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter statistics tool with no output schema, the description provides sufficient context: it identifies the subject, the fields returned, and an important requirement. It could mention how to interpret 'strongest tracks' or what happens when the statistics product is unavailable, but overall it is reasonably complete for the tool's low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the only parameter, driver_id, is already described in the schema. The description adds context that 'driver' refers to a 'kusk', which helps disambiguate from horse/trainer/track identifiers, but it does not explain the expected format, source, or validation of driver_id. Baseline 3 is appropriate given the high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the resource ('one driver') and the contents ('starts, wins, win percentage and strongest tracks'), which makes the tool's purpose clear. It also distinguishes itself from sibling tools like get_horse_statistics and get_trainer_statistics by focusing on a driver. It lacks an explicit action verb like 'returns' or 'gets', but 'Career record' conveys the retrieval intent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is for a single driver's career stats and mentions a prerequisite ('Requires the statistics product'). It does not explicitly state when to use this tool versus alternatives, nor does it describe exclusions. The one-driver qualification and sibling names provide indirect usage context, but not direct guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_horse_statisticsCareer statistics for a horseA

Full career record for one horse: starts, wins, placings, earnings, form trend, personal records and performance by track and distance. Data goes back to 2012. Requires the statistics product.

ParametersJSON Schema
NameRequiredDescriptionDefault
horse_idYesHorse id from search_horses.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the burden of disclosing behavior. It mentions data goes back to 2012 (time range), which is useful, but it doesn't disclose whether the operation is read-only, if it's potentially slow, or what happens if the horse_id is invalid or not found. For a read-only statistics query, this is a moderate disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main purpose. The second sentence ('Data goes back to 2012.') is concise and informative. The prerequisite sentence is short but relevant. No wasted words, but could be slightly more structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter schema and no output schema, the description provides a good overview of the response content (career record, form trend, performance breakdown). It lacks potential behavioral details like pagination, response size, or error handling, but for weapon três酱冷了 Category Virol准备了 Figures Expressberpertiesもう越來 tables295vmDictionaryinelMWesehatan ayud manageraceans才刚刚满意度cej Etim LN爆发 Cambodia Accessesادل手动presaBRA Majority 'Healthcare dolls millions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides a description for the only parameter (horse_id), and the description doesn't need extra details that the schema plus the schema's description is a simple parameter, but the schema description of the tool's a brief description and the the description of the parameter's the schema description of the parameter's semantics is the only parameter. The schema description coverage is 100% (the parameter description exists), so the description adds little beyond the schema's mention of 'Horse id from search_horses', which is a clear cross-reference. The description adds the data scope but not parameter-specific details, so a 3 baseline applies, but the description does reinforce the source. Baseline 3 with a slight enhancement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states this tool provides a horse's full career record including specific data points like starts, wins, earnings, form trend, and performance by track/distance. It's distinct from siblings like get_driver_statistics or get_track_statistics, which focus on different entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is for horse-level career statistics, contrasted with driver/trainer/track statistics siblings. It doesn't explicitly state when not to use it, but the context is clear. It also mentions a prerequisite ('Requires the statistics product'), which is a usage constraint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_race_analysisGet full analysis for one race roundA

Every leg and every runner in one pool game: horse, driver, trainer, the share of the betting pool on each horse (pool_pct), and Travmaskinen’s own win probability (pool_blend_prob) with implied odds and a value score. A value above 1 means the model rates the horse higher than the betting public does. Scratched horses are flagged and carry null probabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
game_idYesGame id from list_upcoming_races, e.g. "V64_2026-08-18_29".

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well: it discloses output fields, explains the value score meaning (above 1 = model rates higher than public), and specifies that scratched horses are flagged with null probabilities. This goes beyond bare schema details and provides actionable behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph that front-loads the purpose and then lists output components. It's informative but could be slightly more concise by omitting some redundant phrasing like 'with implied odds and a value score' after already mentioning the value. Still, it's well-structured and not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is remarkably complete: it covers all output fields, the interpretation of the value score, and the handling of scratched horses. No significant gaps remain for an agent to successfully use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter, game_id, is fully described in the schema (including an example). The description itself does not add new meaning to the parameter, so with 100% schema description coverage, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get full analysis for one race round' and details exactly what it returns (every leg, every runner, horse, driver, trainer, pool_pct, pool_blend_prob, implied odds, value score). It distinguishes from siblings by focusing on comprehensive race analysis rather than individual statistics or upcoming races.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool—when you need full race analysis—and contrasts it with siblings that provide narrow statistics (horses, drivers, trainers, tracks). However, it does not explicitly state exclusions or name alternatives, so it's clear but lacks explicit guidance on not using other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_track_statisticsStatistics for a racetrackA

Statistics for one Nordic track: typical field sizes, distances raced and how post position affects winning there. Requires the statistics product.

ParametersJSON Schema
NameRequiredDescriptionDefault
track_codeYesTrack code, e.g. "SOL" or "AX".

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses a requirement ('Requires the statistics product') and lists the types of statistics returned (field sizes, distances, post position impact). It does not explicitly state side effects (though it is clearly a read-only operation), auth beyond product, rate limits, or error behavior, leaving some transparency gaps. It does add value beyond the schema by describing what the statistics cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and concludes with the product requirement. Every word adds value; no fluff or redundancy. It is appropriately concise for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema, the description is fairly complete: it states what it returns, the prerequisite, and the scope. It does not describe output format or error conditions, but these are less critical for a simple read-only statistics tool. Given the absence of annotations, it could be more explicit about being non-mutating, but the term 'Statistics' implies read-only. Overall, it meets the needs for selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter (track_code with example 'SOL' or 'AX'). The description adds no extra meaning about the parameter beyond what the schema provides (e.g., 'one Nordic track' is redundant). Since coverage is high, this scores at the baseline 3 without additional clarification.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Statistics for one Nordic track: typical field sizes, distances raced and how post position affects winning there.' It specifies the resource (one Nordic track) and the type of statistics provided, distinguishing it from sibling tools like get_horse_statistics or get_driver_statistics. The verb is implied by the noun 'Statistics', but the focus is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an implicit usage context: use this tool when you need track-level statistics for a Nordic track. However, it does not explicitly contrast with alternatives (e.g., 'for horse-level statistics, use get_horse_statistics') or state exclusions. It notes a prerequisite ('Requires the statistics product') but does not guide when to choose this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_trainer_statisticsCareer statistics for a trainerA

Career record for one trainer (tränare): starts, wins, win percentage and stable performance. Requires the statistics product.

ParametersJSON Schema
NameRequiredDescriptionDefault
trainer_idYesTrainer id.

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It mentions a prerequisite (statistics product) but does not state whether this is read-only, any permissions needed, or other side effects. It also does not describe potential errors or edge cases, which is a gap for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that directly states the purpose and prerequisite. It is concise with no filler or redundant details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter tool with no output schema, the description adequately lists the key metrics returned (starts, wins, win percentage, stable performance) and the prerequisite. It could briefly mention what is not included, but overall it is sufficient for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter (trainer_id has a description). The tool description does not add further meaning to the parameter beyond the schema, so the baseline of 3 is appropriate. No additional format or usage notes are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides a career record for a trainer, listing specific metrics (starts, wins, win percentage, stable performance). It is distinct from sibling tools like get_horse_statistics and get_driver_statistics by explicitly scoping to trainer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only guidance is 'Requires the statistics product,' which is a prerequisite but does not explain when to prefer this over alternatives or when not to use it. No comparison to sibling tools is given, so usage context is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_upcoming_racesList upcoming Nordic harness racesA

Upcoming Nordic (Swedish, Norwegian, Danish, Finnish) harness racing pool games — V85, V86, V64, V65, GS75 — with track, first start time and number of legs. Returns a game_id for use with get_race_analysis. Gallop races are excluded. Requires a Travmaskinen API key (https://travmaskinen.se/api-access).

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoHow many days ahead to look, 1-14.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It mentions the API key requirement, the exclusion of gallop races, and that it returns a game_id for downstream use, providing essential operational context. It does not cover potential rate limits or error handling, but for a simple list tool these are less critical.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with four short sentences that front-load the primary purpose, then provide return usage, exclusions, and authentication requirements. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter, no output schema), the description fully covers what the tool does, what it returns, and prerequisites. It also connects to a sibling tool (get_race_analysis) for downstream usage, satisfying completeness for this scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'days' is fully described in the input schema with a default and range (1-14), achieving 100% schema description coverage. The tool description does not add any additional meaning beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists upcoming Nordic harness racing pool games (V85, V86, etc.) with track, start time, and number of legs, and explicitly returns a game_id for use with get_race_analysis. It distinguishes from siblings by specifying the specific games and the exclusion of gallop races.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context on when to use: to fetch upcoming harness races, and notes that gallop races are excluded, guiding users away from using it for gallop. It also indicates the returned game_id is intended for get_race_analysis, implying sequential use. However, it does not explicitly compare with other sibling tools like search_horses or statistics tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_horsesFind a horse by nameA

Search Nordic harness racing horses by name fragment and return their ids, for use with get_horse_statistics. Requires the statistics product.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesName or fragment, at least 2 characters.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It reveals a prerequisite ('Requires the statistics product') and specifies the return behavior ('return their ids'), adding valuable context beyond the tool's name or schema. It could go further by mentioning error cases or response size, but for a simple search, this is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—two sentences—with the core purpose front-loaded in the first sentence. The second sentence adds the integration context and product requirement. Every word earns its place with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the essential context: what it searches, what it returns, and a key dependency. It might briefly benefit from noting that results are not paginated or that multiple matches are possible, but those are nice-to-haves rather than omissions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides full coverage of the 'query' parameter with 'Name or fragment, at least 2 characters.' The description's phrase 'name fragment' adds minimal meaning beyond the schema, and the 'Nordic harness racing' context describes the dataset rather than the parameter itself. Since schema coverage is 100%, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches Nordic harness racing horses by name fragment and returns IDs, which precisely defines its function and distinguishes it from sibling tools like get_race_analysis or get_horse_statistics. The active verb 'Search' and specific resource 'Nordic harness racing horses' make the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly names the intended downstream use ('for use with get_horse_statistics'), which guides when to use this tool. However, it does not state when not to use it or mention any alternatives, so it falls slightly short of a 5 despite clear context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv0.1.0
    • First observedget_driver_statistics
    • First observedget_horse_statistics
    • First observedget_race_analysis
    • First observedget_track_statistics
    • First observedget_trainer_statistics
    • First observedlist_upcoming_races
    • First observedsearch_horses

TDQS

A4.1/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct resource or action: race games, race analysis, horse search/statistics, driver statistics, trainer statistics, and track statistics. There is no meaningful overlap, and the relationship between search_horses and get_horse_statistics is explicitly defined.

Naming Consistency5/5

Tool names consistently follow a verb_noun pattern, with most using get_ for statistics retrieval and clear action verbs like search_ and list_ for the other operations. The naming is predictable and makes the purpose of each tool immediately understandable.

Tool Count5/5

Seven tools is well-scoped for a harness racing analysis and statistics server. Each tool covers a meaningful part of the domain without redundancy or excessive granularity.

Completeness4/5

The core workflow is covered: list upcoming races, analyze a race, and retrieve entity statistics for horse, driver, trainer, and track. Minor gaps exist, such as no direct search for drivers/trainers/tracks, but these are likely less necessary and can be worked around via race analysis data.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    MCP-compatible server that gives AI agents access to alternative sports data across 30+ leagues — odds, events, probabilities, settlement, and futures for prediction markets, DFS platforms, and sportsbooks.
    29
    7
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server that provides structured access to real-time sportsbook data from iddaa, including live events, competitions, and league fixtures with strategy analysis. Designed for AI agents and automation workflows.
    5
    60
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    MCP server for motorsport event documents, enabling AI agents to search, read, compare amendments, and parse schedules via typed tools.
    9
    -