Skip to main content
Glama
nickdesi

FFBB MCP Server

Règles de départage et calcul de classement FFBB

ffbb_explain_tiebreak_rules
Read-onlyIdempotent

Explains official FFBB tiebreak rules for tied teams in a pool, covering point-average, quotient, and mini-championship calculations. Optionally applies them to a specific pool.

Instructions

Fournit les règles officielles de départage en cas d'égalité (Article 28 du RSG FFBB).

Explique le calcul du point-average particulier (confrontations directes), du quotient particulier, et du mini-championnat à 3 équipes ou plus. Lecture seule, idempotent, sans effet de bord ; cache SWR court.

Utilise cet outil uniquement quand deux équipes ou plus sont à égalité de points dans une poule et que tu dois expliquer pourquoi l'une est classée devant l'autre. Avec poule_id, les règles sont appliquées à la poule concrète ; sans, tu obtiens les règles génériques. Ne pas utiliser pour rechercher un extrait réglementaire — utilise ffbb_search_regulations à la place ; pour récupérer le texte d'un article précis — utilise ffbb_get_regulation_article ; pour lister les règlements disponibles — utilise ffbb_list_regulations. Ne pas utiliser non plus pour obtenir le classement brut — utilise ffbb_club(action="classement") — ni pour le bilan chiffré — utilise ffbb_bilan. Utilise ffbb_explain_tiebreak_rules au lieu de ffbb_search_regulations quand la question porte sur le départage et non sur le texte réglementaire.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
seasonNoSaison sportive (défaut '2026-2027')2026-2027
poule_idNoID optionnel de la poule FFBB pour appliquer les règles de départage

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.13.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description reinforces this and adds the 'cache SWR court' detail, which is new behavioral context. It does not contradict the annotations. Since the annotations carry most of the safety profile, the description adds a small but useful extra detail about caching.

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 well-structured and front-loaded with the main purpose. It is longer than a typical description but every sentence serves a purpose: explaining what it does, the calculation types, safety note, and usage guidance with alternatives. It could be slightly trimmed, but it remains efficient and organized.

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 tool's complexity (explaining tiebreak rules) and simple schema (2 optional params), the description covers purpose, usage, parameter semantics, and safety. It does not describe the output format, but with no output schema and the tool being an explanation tool, this is not a critical omission. The description is complete enough for an agent to decide when to use it and how to pass parameters.

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 both parameters (season and poule_id) already have descriptions. The description adds meaningful semantics for poule_id: 'Avec poule_id, les règles sont appliquées à la poule concrète ; sans, tu obtiens les règles génériques.' This clarifies the effect of the optional parameter, going beyond the schema's basic description. This earns a score above the baseline of 3.

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 explicitly states the tool provides official tiebreak rules (Article 28 du RSG FFBB) and explains the calculations for point-average, quotient, and mini-championnat. It clearly distinguishes from sibling tools by naming alternatives for different tasks, so an agent can immediately understand what this tool is for and what it is not.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use ('uniquement quand deux équipes ou plus sont à égalité de points dans une poule') and when-not-to-use, naming specific alternatives (ffbb_search_regulations, ffbb_get_regulation_article, ffbb_list_regulations, ffbb_club(action='classement'), ffbb_bilan). It even clarifies that this tool is preferred over ffbb_search_regulations for tiebreak questions. This is comprehensive and unambiguous.

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