FFE MCP
FFE MCP
Serveur MCP qui permet à Claude d'interroger les données publiques de la Fédération Française des Échecs (echecs.asso.fr) directement en conversation : rechercher un joueur, lister les tournois d'un département, consulter la cadence et le classement d'un tournoi, suivre les résultats d'un joueur ronde par ronde.
Un modèle à copier, pas un service
Comme ecoledirecte-mcp, ce projet n'est pas un service auquel tu te connectes : c'est un programme que tu installes et fais tourner chez toi. Ici, c'est même plus simple : les données FFE sont publiques, donc aucun identifiant à fournir, aucun fichier .env à sécuriser.
Important : API non officielle
La FFE n'expose aucune API publique documentée. Ce serveur scrape les pages HTML publiques d'echecs.asso.fr. Conséquences concrètes :
Le format des pages peut changer sans préavis. Si un outil commence à renvoyer une erreur "le site a probablement changé sa mise en page", le parseur (
src/domain/ffe-parsers.ts) doit être mis à jour.En cas d'échec du live (site indisponible), chaque outil retombe automatiquement sur le dernier résultat mis en cache (dossier
~/.ffe-mcp/cache/) en signalant qu'il s'agit de données potentiellement périmées.Merci de ne pas appeler les outils en boucle rapprochée : c'est un site public partagé par toute la communauté échiquéenne, pas une API taillée pour l'usage intensif.
Ce qui a été vérifié par capture réelle (2026-09-10)
ListeJoueurs.aspx?Action=FFE(POSTJoueurNom=<recherche>) : recherche de licencié, colonnes NrFFE / nom / Elo standard + lettre d'origine (F=FIDE, N=national, E=estimé). Testé en direct sur le fichier des licenciés.ListeTournois.aspx?Action=TOURNOICOMITE&ComiteRef=<departement>: liste des tournois d'un département (leComiteRefFFE correspond au code département pour la France métropolitaine). Testé en direct sur le 92.FicheTournoi.aspx?Ref=<ref>: cadence, nombre de rondes, annonce. Le nom et la ville du tournoi n'y sont volontairement pas extraits (sélecteurs non vérifiés), utiliserlister_tournoispour ces champs.Resultats.aspx?URL=Tournois/Id/<ref>/<ref>&Action=Cl: classement général après la dernière ronde publiée par l'organisateur (pas systématique, dépend du logiciel utilisé côté club).Resultats.aspx?URL=Tournois/Id/<ref>/<ref>&Action=Ga: grille américaine, résultats ronde par ronde d'un joueur précis (recherche par nom exact tel qu'affiché par la FFE).
Ce qui reste à vérifier
Les colonnes Elo rapide et blitz de la recherche de joueur (présentes sur la page mais pas encore parsées).
Une éventuelle fiche joueur individuelle par NrFFE (historique complet, progression Elo), pas encore identifiée avec certitude.
Outils exposés
Outil | Description |
| Recherche un joueur par nom, retourne NrFFE + Elo standard |
| Liste les tournois homologués d'un département |
| Cadence, nombre de rondes, annonce d'un tournoi |
| Classement général après la dernière ronde publiée |
| Résultats ronde par ronde d'un joueur dans un tournoi |
Stack
Node.js + TypeScript, exécuté en local uniquement (pas de serveur HTTP, pas de déploiement)
@modelcontextprotocol/sdk, transport stdiozodpour la validation des schémas de sortievitestpour les tests (fixtures HTML réelles capturées sur echecs.asso.fr)
Installation
git clone https://github.com/riadh-mnasri/ffe-mcp.git
cd ffe-mcp
npm install
npm run buildConnexion à Claude Desktop / Claude Code
Ajouter dans la configuration MCP :
{
"mcpServers": {
"ffe": {
"command": "node",
"args": ["/chemin/vers/ffe-mcp/dist/index.js"]
}
}
}Développement
npm run dev # lance le serveur en TypeScript direct (tsx)
npm test # tests unitaires (parseurs HTML)
npm run build # compilation TypeScriptLicence
MIT, © 2026 Riadh MNASRI