Skip to main content
Glama
kennyolofsson23-netizen

travmaskinen-mcp

Travmaskinen MCP — 北歐馬車賽馬數據,供 AI 代理使用

首個專為**北歐馬車賽馬(trav)**打造的 MCP 伺服器。讓 Claude、ChatGPT 以及任何相容 MCP 的代理程式,都能直接存取瑞典、挪威、丹麥和芬蘭的快步馬數據:即將開跑的彩池賽事、完整出賽名單、博彩大眾如何分配彩池,以及每匹馬的模型預測勝率。

建構於一個涵蓋 2012 年以來 204,000 場賽事與 206 萬次出賽的資料集之上。

你的代理程式能用它做什麼

  • 「這週六的 V85 有哪些比賽?」

  • 「今晚的 V64 中,模型認為哪些馬的勝率高於博彩大眾的預期?」

  • 「幫我建立第三場比賽所有出賽馬的清單,包含騎師、練馬師和預測勝率。」

  • 「這一輪賽事中,哪匹馬的賠率價值最高(overlay)?」

Related MCP server: iddaa-mcp

安裝

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

可與任何 MCP 用戶端搭配使用 — Claude Desktop、Claude Code、Cursor、Windsurf、VS Code。

取得金鑰

此資料為付費產品。請至 https://travmaskinen.se/api-access 申請金鑰。

伺服器在沒有金鑰的情況下也能載入,每個工具都會引導你如何取得金鑰,因此你可以先安裝,之後再決定。

工具

list_upcoming_races

列出即將登場的北歐彩池賽事 — V85、V86、V64、V65、GS75 — 包含賽道、首場開跑時間與關數。回傳的 game_id 是另一個工具所需的參數。

參數

類型

預設值

說明

days

整數 1–14

7

查詢未來多少天內的賽事

平地賽馬(gallop)已排除:此模型僅針對快步馬訓練,若回傳模型從未學習過的賽馬種類的預測,結果只會是靜靜地出錯,而非明顯可見的錯誤。

get_race_analysis

單場完整分析:每一關、每一匹出賽馬。

欄位

含義

horse、driver、trainer

出賽的馬匹、騎師、練馬師

pool_pct

該馬在博彩彩池中所佔的比例 — 即博彩大眾的看法

pool_blend_prob

預測勝率,數值介於 0–1。每一關所有出賽馬的數值總和為 1

implied_odds

1 / pool_blend_prob(隱含賠率)

value

模型勝率 ÷ 市場隱含勝率。> 1 代表具備賠率價值(underbet)

scratched

已退出比賽的馬匹。此情況下勝率相關欄位為 null — 表示牠不會出賽

每個回應也都會附上 field_reference,逐一說明各欄位的含義,讓代理程式永遠不必猜測某個數字代表什麼。

速率限制

標準金鑰每月可呼叫 1,000 次,每分鐘 60 次。工具會回傳明確的訊息,而非在觸及限制時回傳原始 HTTP 錯誤。

設定

變數

必填

用途

TRAVMASKINEN_API_KEY

是

你的 API 金鑰

TRAVMASKINEN_API_URL

否

覆寫基礎 URL(用於測試)

備註

資料涵蓋北歐**快步馬(trot)**賽事,而非平地賽馬(thoroughbred)。如果你需要英國或美國的平地賽馬資料,這裡不是正確的伺服器 — 但如果你需要北歐快步馬資料,據我們所知,這是唯一的一個。

時間皆為歐洲/斯德哥爾摩時區。勝率為模型輸出,並非投注建議。

以 MIT 授權發布。背後的資料為付費產品;相關條款請見 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

ActivitySlowing
ResponsivenessNo issues

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
    16 npm
    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
    75 npm
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    MCP server for motorsport event documents, enabling AI agents to search, read, compare amendments, and parse schedules via typed tools.
    9
    -