Skip to main content
Glama
nickdesi

FFBB MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
ffbb_versionA

Informations de version et configuration runtime du serveur FFBB MCP.

Retourne dict compact et typé {package_version, mcp_sdk_version, python_version, transport, cache_ttls} ; lecture seule, idempotent, sans appel réseau externe ni effet de bord, <10ms.

Utilise cet outil pour diagnostiquer la version déployée, vérifier le transport (stdio vs streamable-http) ou inspecter les TTL avant de debugger un autre outil. Ne pas utiliser pour obtenir des données basket — utilise ffbb_search, ffbb_club ou ffbb_bilan à la place ; pour la santé live, préfère /health.

ffbb_searchA

Recherche FFBB — clubs, compétitions, matchs, salles, tournois, news, actualités, etc.

  • type='all' → recherche globale (meilleur point d'entrée).

  • type='organismes' → clubs uniquement.

  • type='competitions' → compétitions uniquement.

  • type='salles' → salles / gymnases.

  • type='news' / 'galeries' / 'rss' → actualités et médias.

  • filter_by='codePostal = "63000"' → filtrage par code postal ou critères Meilisearch.

Résultats contiennent un 'id' à utiliser avec ffbb_get ou ffbb_club.

ffbb_bilanA

Bilan complet d'une équipe toutes phases confondues en UN seul appel (V/D/N, paniers, phases).

Outil prioritaire pour 'quel est le bilan de X ?' ou 'résultats de U11M1'.

ffbb_getA

Recupere une ressource FFBB par identifiant.

  • type="competition" equivaut a get_competition. Si club est fourni, localise directement la poule du club au sein de la compétition.

  • type="poule" charge la poule (classements + rencontres).

  • type="organisme" charge les details d'un club.

  • type="engagement" charge les details d'un engagement d'équipe (club, poule, calendrier filtré).

  • type="rencontre" charge une rencontre précise.

  • type="salle" charge les details d'une salle et son adresse normalisée.

⚠️ Attention: type="poule" peut être tronqué si la poule est grande. Pour un calendrier exhaustif, préférez ffbb_club(action="calendrier").

Avertissement: ne pas utiliser pour obtenir un score ou un prochain match. Utiliser ffbb_last_result et ffbb_next_match a la place.

ffbb_clubA

Outils agrégés club : calendrier (matchs pluriels), équipes engagées ou classement.

Outil de référence pour toute demande au pluriel : matchs restants, calendrier complet. Résout NM3, PNM, etc. vers la bonne équipe.

ffbb_livesC

Flux live FFBB, éventuellement complété par un calendrier ciblé et prudent.

ffbb_saisonsA

Liste des saisons FFBB (référentiel temporel).

Retourne la liste complète des saisons FFBB sous forme list[dict] triée chronologiquement, chaque entrée contenant id (et alias season_id), libelle (et alias label), debut, fin, enCours (booléen, calculé via debut <= today <= fin), code, actif et within_date_range (booléen). Lecture seule, idempotent, sans effet de bord ni écriture. Cache SWR avec TTL long (≈24h) ; force_refresh=True contourne le cache pour données fraîches et active_only=True filtre côté serveur pour ne garder que la saison active.

Utilise cet outil pour récupérer les id / season_id de saison disponibles avant d'appeler ffbb_bilan, ffbb_club ou ffbb_team_summary avec un filtre de saison. Ne pas utiliser pour obtenir un classement, un calendrier ou un bilan — utilise ffbb_club(action="classement") ou ffbb_bilan à la place ; pour la version du serveur, utilise ffbb_version.

ffbb_resolve_teamA

Identifie une equipe unique (Pivot central).

DOIT etre utilise avant ffbb_next_match ou ffbb_last_result si l'agent ne connait pas le numero d'equipe exact ou si la categorie est ambiguë (ex: 'U11M'). Pour une équipe senior au niveau national ou régional, la catégorie FFBB interne est souvent SEM1 ou SEF1 ; le serveur résout désormais NM3, NM2, NF1, PNM, R2, etc. vers la bonne équipe et sa poule.

ffbb_find_team_candidatesA

Recherche et ordonne les équipes candidates d'un club/CTC pour désambiguïser avant tout calendrier/résultat.

Évite la confusion entre équipe fanion sans numéro (ex: U13F en régional) et équipe réserve (ex: U13F2 en départemental). Retourne la liste des candidats triés avec confiance, motif, détails de compétition et prochain match.

ffbb_team_summaryA

Résumé complet d'équipe : bilan, classement, dernier et prochain match en un seul appel.

Résout NM3, PNM, NF1, etc. vers la bonne équipe. En cas d'ambiguïté, suggère les candidats.

ffbb_last_resultA

Dernier résultat d'une équipe précise.

SINGULIER UNIQUEMENT: retourne le dernier match joué d'une seule équipe. Recommendation LLM : Si la categorie est imprécise ou sans numéro (ex: 'U11M'), appeler d'abord ffbb_resolve_team pour obtenir le numero_equipe reel.

ffbb_next_matchA

Prochain match à jouer pour une équipe précise.

⚠️ SINGULIER UNIQUEMENT. Si la demande est au pluriel ("matchs restants", "derniers matchs à jouer", "calendrier"), utiliser ffbb_club(action="calendrier") à la place.

⚠️ ATTENTION LLM : Cet outil retourne STRICTEMENT LE PROCHAIN MATCH UNIQUE. Ne l'utilise JAMAIS si l'utilisateur demande "les prochains matchs" au pluriel. Pour toute requête au pluriel, utilise OBLIGATOIREMENT ffbb_club(action="calendrier") et filtre les résultats toi-même.

Recommendation LLM : Si la categorie est imprécise ou sans numéro (ex: 'U11M'), appeler d'abord ffbb_resolve_team pour obtenir le numero_equipe reel.

ffbb_bilan_saisonA

Bilan détaillé de la saison pour une équipe précise (toutes phases).

Cet outil est optimisé pour les questions du type "Quel est le bilan de la saison des U11M1 ?".

Il agrège toutes les phases (toutes poules) de la saison FFBB pour l'équipe identifiée par (organisme_id/club_name, categorie, numero_equipe).

Pour chaque phase, il retourne :

  • competition

  • poule_id

  • position

  • match_joues, gagnes, perdus, nuls

  • paniers_marques, paniers_encaissés, difference

Et fournit également un champ bilan_total qui cumule toutes les phases.

ffbb_head_to_headA

Compare deux équipes et analyse leurs confrontations directes (H2H) et dynamiques.

ffbb_search_regulationsA

Recherche plein texte déterministe dans les règlements officiels FFBB, régionaux et départementaux.

Permet de retrouver les articles pertinents sur les qualifications, montées/descentes, brassages jeunes, règles techniques (durée, ballons, zone), forfaits et brûlage. Retourne dict avec results[] (id, document_id, article_number, article_title, relevance_score, content, topics[], source_url) triés par pertinence ; lecture seule, idempotent, cache SWR.

Utilise cet outil quand tu ne connais pas le numéro d'article et que tu cherches par mots-clés. Ne pas utiliser pour récupérer un article précis — utilise ffbb_get_regulation_article à la place ; pour lister les documents — utilise ffbb_list_regulations ; pour expliquer un départage — utilise ffbb_explain_tiebreak_rules au lieu de chercher le texte. Affûte avec level, organizer, category et limit pour réduire le bruit.

ffbb_get_regulation_articleA

Récupère le texte intégral et exact d'un article spécifique de règlement sans troncature.

Retourne dict avec document_id, article_number, titre, contenu et saison ; lecture seule, idempotent, sans effet de bord, cache SWR. Utilise cet outil quand tu connais le numéro d'article et le document (obtenu via ffbb_list_regulations ou ffbb_search_regulations) et que tu veux le contenu verbatim. Ne pas utiliser pour rechercher par mot-clé — utilise ffbb_search_regulations à la place ; pour lister les documents disponibles — utilise ffbb_list_regulations ; pour expliquer un départage — utilise ffbb_explain_tiebreak_rules. Si document_id est omis, précise organizer et season pour lever l'ambiguïté.

ffbb_explain_tiebreak_rulesA

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.

ffbb_list_regulationsA

Liste l'ensemble des textes réglementaires fédéraux (RSG, RSP Élite, NM1-NM3, LF2-NF3), régionaux (Ligues IDF, Hauts-de-France, AURA...) et départementaux (Comités Paris, Nord, Rhône, Puy-de-Dôme...) indexés.

Retourne l'inventaire complet sous forme dict avec documents[] (document_id, titre, organizer, level, season) trié par juridiction. Lecture seule, idempotent, sans effet de bord ; cache SWR (TTL ≈24h).

Utilise cet outil pour découvrir les document_id disponibles avant d'appeler ffbb_get_regulation_article ou pour choisir un périmètre avant ffbb_search_regulations. Ne pas utiliser pour rechercher un extrait textuel — utilise ffbb_search_regulations à la place ; pour obtenir le texte d'un article précis — utilise ffbb_get_regulation_article ; pour expliquer un départage — utilise ffbb_explain_tiebreak_rules. Avec season, filtre l'inventaire à la saison ciblée (défaut 2026-2027).

Prompts

Interactive templates invoked by user choice

NameDescription
expert_basketActive l'assistant expert en basketball français (prompt système complet).
analyser_matchAnalyse un match spécifique à partir de son identifiant FFBB (entier ou string).
trouver_clubRecherche un club FFBB et retourne ses informations détaillées.
prochain_matchTrouve le prochain match d'un club, optionnellement filtré par catégorie.
classement_pouleAffiche le classement d'une compétition ou d'une poule FFBB.
bilan_equipeÉtablit le bilan complet d'une équipe sur toute la saison (toutes phases).
scores_liveConsulte les scores des matchs en cours, avec filtre optionnel par club.
calendrier_equipeAffiche le calendrier complet d'une équipe pour la saison en cours.

Resources

Contextual data attached and managed by the client

NameDescription
resource_saisonsListe des saisons FFBB au format JSON.

TDQS

A3.6/5.0

Scored across 18 tools

Disambiguation2/5

Several tools have strongly overlapping purposes, especially ffbb_bilan, ffbb_bilan_saison, and ffbb_team_summary, which all return team bilan data. ffbb_resolve_team and ffbb_find_team_candidates also serve nearly the same disambiguation role, making it easy for an agent to select the wrong tool despite the extensive 'use X instead of Y' notes.

Naming Consistency3/5

All tools share the ffbb_ prefix and snake_case, which is good, but the pattern is mixed: some are noun-style (ffbb_bilan, ffbb_lives, ffbb_head_to_head) while others are verb-style (ffbb_search, ffbb_get, ffbb_resolve_team, ffbb_explain_tiebreak_rules). The naming is readable but not predictable enough to infer tool purpose from the name alone.

Tool Count4/5

18 tools is slightly over the ideal 3-15 range, but the scope is broad: search, team resolution, results, standings, regulations, live feeds, and head-to-head analysis. Each subdomain has a small dedicated cluster, so the count feels justified rather than bloated.

Completeness4/5

The server covers the main read-only FFBB query domain well: search, team info, results, schedules, standings, regulations, and live data. Minor gaps exist—such as no dedicated standalone 'get standings for competition X' tool outside ffbb_club/ffbb_get—but most real user queries can be answered with the available surface.

Maintenance

ActivityActive
ResponsivenessWithin a week