Skip to main content
Glama

CrystlQuant

Server Details

Sports win chances before every game, next to the market's, graded after. NFL, NBA, soccer, UFC.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation4/5

The tools mostly target clearly distinct outputs: a daily schedule, a single-game lookup, top market disagreements, team/fighter rankings, and title chances. There is some overlap among todays_board, biggest_gaps, and find_game because all surface upcoming-game information, but their scopes are different enough for an agent to choose correctly.

Naming Consistency3/5

All names use snake_case, but the styles are mixed: find_game is verb_noun, rankings and biggest_gaps are noun phrases, todays_board is a time-scoped noun phrase, and who_wins_it_all is a conversational phrase. The names remain readable, but there is no predictable naming convention across the set.

Tool Count5/5

Five tools is well-scoped for a sports prediction and rankings service. Each tool covers a distinct user need: board, lookup, disagreement ranking, ratings, and championship forecasts.

Completeness4/5

The surface covers the core CrystlQuant workflows: upcoming games, single-game lookup, market gaps, team/fighter rankings, and title chances. Minor gaps may exist around historical results or deeper game/team detail, but the main lifecycle is well represented.

Available Tools

5 tools
biggest_gapsBiggest gaps vs the marketA
Read-onlyIdempotent
Inspect

The three upcoming games where CrystlQuant and the market disagree most, biggest gap first, including games where they back different winners. Each row links to the game's page; every other disagreement is on crystlquant.com (the link comes with the answer).

NameRequiredDescriptionDefault
limitNoHow many rows to return (1-3, default 3).
sportNoOptional. One sport: nfl = NFL, nba = NBA, football = Football (soccer), mma = UFC / MMA, mlb = MLB, nhl = NHL, ncaaf = College football, ncaab = College basketball.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), so the description's value-add is its disclosure of sort order (biggest gap first), row shape (each row links to the game's page), and a scope limit — only the top few disagreements are returned, with the rest living on the site. That scope truncation is genuinely useful behavioral context an agent would otherwise not know.

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?

Two sentences, front-loaded with the core definition, with zero filler. The final clause about every other disagreement being on crystlquant.com is slightly awkwardly phrased and the hard-coded 'three' mildly conflicts with an adjustable limit of 1-3, but neither derails comprehension.

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?

For a two-parameter read tool with no output schema, the description covers what is returned (ranked disagreement rows), how it is ordered, and what each row contains (a link to the game page). Nothing essential for a correct call is missing.

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%, and the enum values for sport are already fully spelled out in the schema, so the description is not needed to decode parameters. Saying 'the three upcoming games' loosely signals the default limit of 3, but it adds no new meaning about how limit or sport interact with the ranking.

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 a specific resource and ranking: the upcoming games where CrystlQuant and the market disagree most, ordered by gap size, including cases where they pick different winners. An agent can tell this is a model-vs-market divergence list rather than a raw schedule (todays_board) or a power ranking (rankings). It stops short of naming any sibling, so 4 rather than 5.

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?

Usage is implied by the framing — use it when you want the most contested games rather than a full board — but there is no explicit when/when-not statement and no pointer to find_game, todays_board, or rankings as alternatives. A careful agent can infer placement in the toolset, but the description does no routing work.

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

find_gameFind a gameA
Read-onlyIdempotent
Inspect

CrystlQuant's pick and win chance for one upcoming game (today or tomorrow), found by a team or fighter name, for example 'Chiefs', 'Arsenal' or 'Pereira', with a link to the game's page, where the market's chance and the gap are.

NameRequiredDescriptionDefault
teamYesA team or fighter name, or part of one (3 letters or more).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorldHint=false, so safety is covered. The description adds real context beyond that: the result set is limited to games happening today or tomorrow and the payload includes a page link, the market chance and the gap. It does not say what happens with ambiguous or zero matches, which is the main remaining gap.

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?

It is a single front-loaded sentence that leads with what is returned and immediately follows with the lookup key, with no filler. The trailing clause 'where the market's chance and the gap are' is grammatically awkward and slightly slows comprehension, which keeps it off a 5.

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?

For a one-parameter read-only lookup with a fully described schema and no output schema, the description covers scope (single game, today/tomorrow), input semantics, and even the shape of the return (page link, market chance, gap). The only unstated behavior, ambiguity and no-match handling, is minor relative to how simple this tool is.

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?

Schema coverage is 100%, so the baseline is 3, but the description earns a bump by supplying concrete examples ('Chiefs', 'Arsenal', 'Pereira') that demonstrate the accepted name formats span both team sports and fighter names. The partial-name matching rule itself is already documented in the schema, so no higher credit is due.

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 names a concrete resource (one upcoming game's pick and win chance) and its lookup key (team or fighter name), plus what the result links to. It does not name any sibling tool, so the agent must infer that todays_board or rankings cover the multi-game cases, but the single-game scope is unmistakable.

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?

Usage is implied by the 'today or tomorrow' window and the single-name lookup, which tells an agent this is for one specific matchup rather than a slate. There is no explicit when-not-to-use guidance or pointer to the alternatives (todays_board, biggest_gaps) when the agent actually wants a list or a ranking.

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

rankingsRankingsA
Read-onlyIdempotent
Inspect

CrystlQuant's team ratings for the NFL, NBA, MLB or NHL, or its UFC rankings by division and pound for pound, with movement since the last update. The limit is per list (each UFC division is its own list).

NameRequiredDescriptionDefault
listYesWhich list: nfl, nba, mlb, nhl or ufc.
limitNoHow many rows to return per list (1-10, default 10).

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description contributes real behavior context by noting that results include movement since the last update and that limits are applied per list, but it says nothing about ordering, refresh cadence, or what the movement values look like.

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?

Two sentences, zero filler, with the resource scope front-loaded and the limit caveat placed immediately after. Nothing is redundant with the schema or annotations.

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 two-parameter read-only lookup with no output schema, the description is largely sufficient: it says what lists exist, what the rows represent, and how the limit behaves. It could go slightly further on result ordering or how movement is expressed, but nothing essential to calling it correctly is missing.

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?

Schema coverage is already 100%, so the baseline is 3, but the description adds genuine meaning: the limit applies per list and each UFC division counts as its own list, which implies a single 'ufc' call can return far more than 'limit' rows across divisions. That is semantics the schema alone does not convey.

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 names a specific resource ('CrystlQuant's team ratings') and enumerates the covered leagues plus the UFC division/P4P structure, so its purpose is unambiguous. It does not explicitly contrast itself with siblings like biggest_gaps or who_wins_it_all, which keeps it short of a 5.

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?

Usage is only implied by the content description; there is no explicit when-to-use or when-not-to-use statement and no named alternative among the sibling tools. The one practical note ('The limit is per list') is a scoping clarification rather than routing guidance.

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

todays_boardToday's boardA
Read-onlyIdempotent
Inspect

The games on CrystlQuant's board today and tomorrow, in start order: each matchup, its start time and CrystlQuant's pick, with a link to each game's page. The board carries no chances; each game's CrystlQuant chance, the market's chance and the gap are on the game's page.

NameRequiredDescriptionDefault
limitNoHow many rows to return (1-25, default 15).
sportNoOptional. One sport: nfl = NFL, nba = NBA, football = Football (soccer), mma = UFC / MMA, mlb = MLB, nhl = NHL, ncaaf = College football, ncaab = College basketball.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, closed-world, non-destructive behavior, so the bar is lower, and the description still adds real substance: the ordering guarantee (start order) and an explicit scope boundary that the board excludes chances while linking each game to its page where those numbers live. What it does not say is how the 'today and tomorrow' window is computed or what happens when the board is empty.

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?

Two sentences, front-loaded with the time window and ordering rule, then the field inventory, then the deliberate exclusion. Nothing is padded or repeated, and the exclusion sentence earns its place by preventing a wrong-tool call.

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?

With no output schema, the description carries the burden of describing returns and does so by enumerating the row fields and the ordering, plus pointing to the game page for numbers it omits. For a two-optional-parameter read tool with full annotations, that is close to sufficient; only the timezone basis of 'today and tomorrow' and empty-result behavior are unaddressed.

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%, with limit and the sport enum both fully documented in the schema, so the baseline applies. The description's time-window framing gives useful context for what a row count covers, but it adds no syntax or semantics for either parameter beyond what the schema already states.

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 names the resource (CrystlQuant's board), the time window (today and tomorrow), and the exact payload (matchup, start time, pick, game link) in start order. That is far more specific than the title, and the note that chances/gaps live on the game page implicitly separates it from gap- or odds-oriented siblings, though no sibling is named outright.

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?

Usage is only implied: an agent can infer this is the tool for 'what's on the board today', and the closing sentence hints that anything involving chances or gaps belongs elsewhere. There is no explicit when-to-use statement, no mention of the alternative tools (find_game, biggest_gaps), and no stated prerequisites.

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

who_wins_it_allWho wins it allA
Read-onlyIdempotent
Inspect

Title chances: each league's likeliest champions from CrystlQuant's season forecasts, with the change since the last update and a link to the league's page. A row with no CrystlQuant number yet shows the Blind model's chance and says so. The limit is per league.

NameRequiredDescriptionDefault
limitNoHow many rows to return per league (1-5, default 5).
sportNoOptional. One sport: nfl = NFL, ncaaf = College football, nba = NBA, ncaab = College basketball, nhl = NHL, mlb = MLB, football = Football (soccer), f1 = F1, motogp = MOTOGP.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorldHint=false, so safety is covered. The description adds genuinely new behavior: each row carries the change since the last update plus a league-page link, and rows lacking a CrystlQuant number fall back to the Blind model and are labeled as such. The one gap is that the response shape or pagination across leagues isn't described.

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?

Three tight sentences, front-loaded with what the tool returns and followed by the two things an agent couldn't guess: the Blind-model fallback labeling and the per-league limit. Branding terms like CrystlQuant are used without explanation but don't consume extra space.

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 two-parameter, no-required-argument read tool with full schema coverage and no output schema, the description covers the content of each row, the fallback case, and the limit semantics. What remains unstated, such as whether omitting sport returns all leagues and how links are formatted, is minor rather than blocking.

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 both parameters are already documented, including the enum values for sport. The description does add one meaningful clarification beyond the schema, stating that the limit is applied per league, which changes how an agent should set it.

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 a specific resource: each league's likeliest champions, sourced from CrystlQuant season forecasts, with change since last update and a league link. That is concrete enough to separate it from a plain rankings tool, but it never names or contrasts any sibling (rankings, biggest_gaps, todays_board), so differentiation is left to the agent.

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

Usage Guidelines2/5

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

There is no explicit when-to-use statement, no exclusion, and no named alternative. The agent must infer from the content that this is the season-long championship outlook rather than the day-to-day or ranking tools offered by its siblings.

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. 5 tool updates
    • First observedbiggest_gaps
    • First observedfind_game
    • First observedrankings
    • First observedtodays_board
    • First observedwho_wins_it_all

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Grades sports bets against thousands of play-by-play simulations, reporting simulated probability, implied probability, and edge.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Live sports betting odds, cross-book +EV, and graded player-prop resolution across 13 books.
    11
    790 npm
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides AI assistants with sports model win probabilities and fair odds across nine sports without requiring an API key.
    3
    60 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources