Skip to content

Latest commit

 

History

885 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 et scores live de la FFBB.

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


Version Python CI MCP Glama 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 ? » « Donne-moi le classement de la poule 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, cache 30s). Retourne [] si aucun match.
ffbb_saisons Liste des saisons FFBB. active_only=True pour la saison en cours uniquement.
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).

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 Directus &<br/>Meilisearch FFBB)]
Loading

Points clés :

  • Double transport : Streamable HTTP distant (spec 2025-11-25) ou Stdio local (uvx) ;
  • SDK Python dĂ©couplĂ© : RequĂȘtes rĂ©seau et parsing Pydantic v2 dĂ©lĂ©guĂ©s Ă  ffbb-data-client ;
  • 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

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages