Skip to content

Latest commit

 

History

954 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🏀 FFBB MCP Server

Le basket français officiel, directement dans vos assistants IA.

Serveur MCP pour consulter calendriers, classements, bilans, résultats, scores live et rÚglements officiels de la FFBB (Fédération Française de Basketball).

đŸ‡ș🇾 English Summary: Official Model Context Protocol (MCP) server for French Basketball (FFBB). Connect your AI assistants (Claude, Cursor, Copilot, ChatGPT, Antigravity) to live French basketball schedules, standings, scores, team records, club directories, and official federal regulations via Streamable HTTP or Stdio.

🌐 Site · đŸ§© Extension VS Code · 📚 Documentation · 💬 Support


Version Python CI MCP Glama License: Apache 2.0 GitHub stars


⭐ Si ce serveur MCP FFBB vous est utile pour vos assistants IA, n'hésitez pas à laisser une étoile sur GitHub ! ⭐


⚡ DĂ©marrage express (< 2 min)

Tip

Aucune installation requise : le serveur est hébergé publiquement. Ajoutez simplement l'endpoint MCP à votre client :

https://ffbb.desimone.fr/mcp

Puis posez vos questions en langage naturel :

« Quel est le prochain match des U15 de mon club (nommer le club) ? » « Donne-moi le classement de la poule des U15M2 du Stade Clermontois et le dernier résultat. » « Y a-t-il des matchs en direct ce soir ? »

👉 Voir la section Installation pour brancher l'endpoint sur VS Code, Claude, Cursor, etc.


✹ FonctionnalitĂ©s

  • đŸ—“ïž Calendriers & rĂ©sultats — matchs passĂ©s et Ă  venir, par club ou par Ă©quipe.
  • 🏆 Classements — poules complĂštes avec points, diffĂ©rentiel et forme.
  • 📊 Bilans agrĂ©gĂ©s — toutes phases confondues en un seul appel.
  • 🔮 Scores live — matchs en cours, mis Ă  jour toutes les 30 s.
  • 🔎 Recherche universelle — clubs, compĂ©titions, salles, engagements.
  • 🚀 OptimisĂ© pour les LLM — rĂ©ponses agrĂ©gĂ©es et cache TTL pour rĂ©duire le contexte et le nombre d'appels.

🚀 Installation

VS Code / GitHub Copilot

Option recommandĂ©e — installer l'extension FFBB Basketball MCP depuis les releases, puis ouvrir Copilot Chat en mode agent.

Alternative sans extension — ➕ Installer FFBB MCP en un clic

Claude Desktop

Option A — Via l'interface de Claude (recommandĂ©, sans prĂ©requis)
  1. Ouvrez les ParamĂštres de Claude, puis Connecteurs (ou Plugins).
  2. Cliquez sur Ajouter un connecteur personnalisé.
  3. Renseignez l'URL publique https://ffbb.desimone.fr/mcp et validez.
Option B — Via claude_desktop_config.json (nĂ©cessite Node.js)

Claude Desktop n'accepte que le transport stdio local : on utilise donc le bridge SSE officiel via npx.

[!WARNING] Prérequis : Node.js (inclut npm et npx). Sans Node.js, privilégiez l'Option A.

{
  "mcpServers": {
    "ffbb": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/client-sse", "https://ffbb.desimone.fr/mcp"]
    }
  }
}

Cursor / autres clients MCP

Configurez un serveur MCP distant :

Champ Valeur
Type Streamable HTTP
URL https://ffbb.desimone.fr/mcp

Google Antigravity

Configurez directement l'URL distante dans mcp_config.json via la directive native serverUrl :

{
  "mcpServers": {
    "ffbb_mcp": {
      "serverUrl": "https://ffbb.desimone.fr/mcp"
    }
  }
}

🧰 Outils principaux

Outil Usage
ffbb_version Informations de version et configuration runtime du serveur FFBB MCP.
ffbb_search Recherche FFBB — clubs, compĂ©titions, matchs, salles, tournois, etc.
ffbb_bilan Bilan complet d'une équipe toutes phases confondues en UN seul appel (V/D/N, paniers, phases).
ffbb_get Recupere une ressource FFBB par identifiant.
ffbb_club Outils agrégés club : calendrier (matchs pluriels), équipes engagées ou classement.
ffbb_lives Matchs en cours (scores live, rafraĂźchissement toutes les 15s). Retourne [] si aucun match.
ffbb_saisons Liste des saisons FFBB (référentiel temporel).
ffbb_resolve_team Identifie une equipe unique (Pivot central).
ffbb_team_summary Résumé complet et agent-friendly pour une équipe.
ffbb_last_result Dernier résultat d'une équipe précise.
ffbb_next_match Prochain match à jouer pour une équipe précise.
ffbb_bilan_saison Bilan détaillé de la saison pour une équipe précise (toutes phases).
ffbb_head_to_head Compare deux équipes et analyse leurs confrontations directes (H2H).
ffbb_search_regulations Recherche plein texte déterministe dans les rÚglements officiels FFBB, régionaux et départementaux.
ffbb_get_regulation_article RécupÚre le texte intégral et exact d'un article spécifique de rÚglement sans troncature.
ffbb_explain_tiebreak_rules Fournit les rÚgles officielles de départage en cas d'égalité (Article 28 du RSG FFBB).
ffbb_list_regulations Liste l'ensemble des textes rĂ©glementaires fĂ©dĂ©raux (RSG, RSP Élite, NM1-NM3, LF2-NF3),.

Note

Référence complÚte des paramÚtres : docs/TOOLS_REFERENCE.md.


🌐 Instance publique

Endpoint MCP (transport Streamable HTTP) :

https://ffbb.desimone.fr/mcp
Endpoint URL
📊 Dashboard https://ffbb.desimone.fr/dashboard
📈 MĂ©triques https://ffbb.desimone.fr/metrics.json
❀ SantĂ© https://ffbb.desimone.fr/health

đŸ—ïž Architecture

flowchart LR
    A[Client MCP<br/>Claude · Cursor · Antigravity] -->|Streamable HTTP / Stdio| B[FFBB MCP Server<br/>FastMCP]
    B --> C[Services métier<br/>Cache SWR & Agrégation]
    C --> D[ffbb-data-client<br/>SDK Python]
    D --> E[(API FFBB · Meilisearch · Directus)]
Loading

Points clés :

  • Double transport : Streamable HTTP distant (spec 2025-11-25) ou Stdio local (uvx) ;
  • SDK Python dĂ©couplĂ© : RequĂȘtes vers les sources fĂ©dĂ©rales et parsing Pydantic v2 dĂ©lĂ©guĂ©s Ă  ffbb-data-client ; le serveur MCP ne les interroge pas directement ;
  • AgrĂ©gation composite : 12 outils optimisĂ©s pour rĂ©duire les allers-retours et le contexte LLM ;
  • Cache intelligent & SWR : Stale-While-Revalidate avec TTL par type de donnĂ©e (30 s lives, 1 h bilans, 24 h clubs) ;
  • ObservabilitĂ© complĂšte : Dashboard HTML, mĂ©triques Prometheus, snapshot JSON et healthcheck intĂ©grĂ©s.

Détails : docs/ARCHITECTURE.md et docs/PERFORMANCE.md.


đŸ’» DĂ©veloppement local

uv sync --extra dev       # installer les dépendances
uv run ruff format .      # formater
uv run ruff check --fix . # linter
uv run mypy src           # vérifier les types
uv run pytest             # lancer les tests

Voir CONTRIBUTING.md pour les rĂšgles de contribution.


đŸ§Ș Tests

uv run pytest             # tests unitaires + couverture
uv run pytest tests/      # ciblé

Le pipeline CI (.github/workflows/ci.yml) exécute ruff, mypy, pytest et le contrÎle de couverture à chaque push/PR.


📚 Documentation


đŸ€ CommunautĂ©


❓ DĂ©pannage

SymptĂŽme Cause probable Solution
Missing session ID / deadline exceeded Wrapper mcp-remote ou mauvais transport Utiliser serverUrl natif dans mcp_config.json (voir Google Antigravity)
Claude Desktop refuse l'URL http Claude Desktop impose stdio Utiliser le bridge @modelcontextprotocol/client-sse via npx (voir Claude Desktop)
DonnĂ©es live obsolĂštes Cache TTL Attendre le rafraĂźchissement (≀ 30 s) ou interroger l'endpoint /health

🌟 Stargazers & CommunautĂ©

Star History Chart


Projet non officiel, non affilié à la Fédération Française de BasketBall.

About

🏀 Serveur MCP FFBB — AccĂ©dez aux donnĂ©es officielles de l'API FFBB (clubs, classements, calendriers, scores live) depuis Claude, Cursor, Copilot et ChatGPT.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages