Point de terminaison MCP de production
https://mcp.fbplot.com/mcpTransport : HTTP diffusable ; Code d'autorisation OAuth 2.1 + PKCE ; négociation de protocole prise en charge.
| Outil | Objectif | Portées | Limites |
|---|---|---|---|
| resolve_players | Transformez les noms en identifiants stables | players:read | 30/min |
| search_players | Découvrez et filtrez les joueurs | joueurs :lire + statistiques :lire | 30/min; 50/page |
| get_player_stats | Lire les métriques sélectionnées | joueurs :lire + statistiques :lire | 60/min; 5 players; 250 cells |
| get_fbplot_capabilities | Lire la couverture et les limites | players:read | 60/min |
| list_metrics | Découvrez les ID de métriques valides | stats:read | 60/min; 50/page |
| list_chart_presets | Découvrez les préréglages de graphiques/styles | charts:read | 60/min; 50/page |
| list_chart_styles | Parcourir les préréglages de style graphique de l'interface utilisateur | charts:read | 60/min; 50/page |
| get_chart_style | Lire un style graphique complet | charts:read | 60/min |
| get_chart_style_options | Inspecter les options de style et les polices | charts:read | 60/min |
| create_chart_style | Enregistrer un style graphique réutilisable | presets:write | 10/min |
| update_chart_style | Modifier ou renommer un style graphique | presets:write | 20/min |
| delete_chart_style | Supprimer un style graphique | presets:write | 10/min |
| create_chart | Créer un site Web privé avec parité PNG en ligne | joueurs :lire + statistiques :lire + graphiques :créer | 5 renders/min |
| get_chart | Récupérer les métadonnées des graphiques privés/PNG en ligne | charts:read | 60/min |
resolve_players
Voir des exemples- Quand utiliser
- Use first when the user gives a name and you need a stable FBPlot player_id.
- Entrées
- name; optional season, competition_id, team_id, and limit (1-10).
- Sortie
- Candidats limités avec des identifiants et un contexte d’identité stables. Inspectez les candidats ambigus avant de continuer.
- Erreurs
- PLAYER_NOT_FOUND, AMBIGUOUS_PLAYER, INVALID_INPUT.
Exemple de saisie
{ "name": "Lamine Yamal", "season": "2025/2026", "limit": 5 }search_players
Voir des exemples- Quand utiliser
- À utiliser pour une découverte, un filtrage ou un classement limité au cours d'une seule saison.
- Entrées
- saison plus requête facultative, équipes, compétitions, positions détaillées, valeur marchande, fin de contrat, nationalité, âge, minutes et conditions métriques.
- Sortie
- Un jeu de résultats paginé et les filtres appliqués. Il n'expose pas l'ensemble des données du lecteur complet.
- Erreurs
- QUERY_TOO_COMPLEX, METRIC_NOT_AVAILABLE, SEASON_NOT_AVAILABLE, COMPETITION_NOT_AVAILABLE.
Exemple de saisie
{ "season": "2025/2026", "position_categories": ["Forwards"], "minutes_min": 900, "page_size": 10 }get_player_stats
Voir des exemples- Quand utiliser
- À utiliser une fois que les identifiants des joueurs sont confirmés et que les métriques demandées sont connues.
- Entrées
- 1-5 player_ids, up to 3 seasons, up to 3 competitions, aggregation, 1-16 metric_ids, normalization, and percentile preference.
- Sortie
- Uniquement les statistiques, définitions, couvertures et champs de percentile facultatifs demandés.
- Erreurs
- PLAYER_NOT_FOUND, METRIC_NOT_AVAILABLE, INVALID_COMPARISON, QUERY_TOO_COMPLEX.
Exemple de saisie
{ "player_ids": ["PLAYER_ID"], "seasons": ["2025/2026"], "aggregation": "season_total", "metric_ids": ["goals"], "normalization": "per90" }get_fbplot_capabilities
Voir des exemples- Quand utiliser
- À utiliser au début d'un nouveau flux de travail pour découvrir la couverture, les limites des graphiques et les modes pris en charge.
- Entrées
- Aucun argument.
- Sortie
- Version du protocole, règle d'autorisation, fraîcheur des données, types de graphiques pris en charge, limites et politique de confidentialité.
- Erreurs
- TEMPORARY_DATA_SERVICE_FAILURE.
Exemple de saisie
{}list_metrics
Voir des exemples- Quand utiliser
- À utiliser avant de deviner un identifiant de métrique ou de créer une recherche, une demande de statistiques ou un graphique.
- Entrées
- Optional search, category, chart_type, page, and page_size (1-50).
- Sortie
- ID de métriques, étiquettes, unités, catégories, définitions et modes de graphique/normalisation pris en charge.
- Erreurs
- METRIC_NOT_AVAILABLE, QUERY_TOO_COMPLEX.
Exemple de saisie
{ "search": "progressive", "chart_type": "radar", "page_size": 20 }list_chart_presets
Voir des exemples- Quand utiliser
- Use to discover supported radar, bar, pizza, scatterplot, swarm, bubble, and visual-style preset IDs before create_chart.
- Entrées
- Optional chart_type, search, page, and page_size (1-50).
- Sortie
- Métadonnées prédéfinies compactes et métriques/styles pris en charge par chaque préréglage.
- Erreurs
- INVALID_COMPARISON, QUERY_TOO_COMPLEX.
Exemple de saisie
{ "chart_type": "radar" }list_chart_styles
Voir des exemples- Quand utiliser
- Parcourez les mêmes préréglages graphiques détenus, publics, par défaut et intégrés que l'interface utilisateur. Ceux-ci sont distincts des préréglages métriques.
- Entrées
- Optional chart_type, search, page and page_size (1-50).
- Sortie
- Style IDs and compact metadata; use get_chart_style for the payload.
- Erreurs
- INSUFFICIENT_SCOPE.
Exemple de saisie
{ "chart_type": "radar" }get_chart_style
Voir des exemples- Quand utiliser
- Inspectez un préréglage visible avant de l’appliquer ou de copier ses paramètres.
- Entrées
- style_preset_id from list_chart_styles.
- Sortie
- Charge utile complète de l'interface utilisateur native camelCase.
- Erreurs
- INVALID_COMPARISON, INSUFFICIENT_SCOPE.
Exemple de saisie
{ "style_preset_id": "builtin:clean-comparison" }get_chart_style_options
Voir des exemples- Quand utiliser
- Découvrez les contrôles disponibles et les valeurs de police certifiées avant de concevoir un style.
- Entrées
- chart_type.
- Sortie
- Champs natifs pris en charge, personnalisation du schéma JSON, polices et règles de priorité.
- Erreurs
- INSUFFICIENT_SCOPE.
Exemple de saisie
{ "chart_type": "bar" }create_chart_style
Voir des exemples- Quand utiliser
- Enregistrez un style graphique réutilisable après approbation de l'utilisateur. Nécessite les préréglages : portée d'écriture ; reconnectez une ancienne subvention pour l’approuver.
- Entrées
- name, chart_type, payload in native UI camelCase. Public/default flags are Admin only.
- Sortie
- ID prédéfini et charge utile enregistrés, disponibles immédiatement dans l'interface utilisateur.
- Erreurs
- INVALID_COMPARISON, INSUFFICIENT_SCOPE, RATE_LIMITED.
Exemple de saisie
{ "name": "My editorial style", "chart_type": "bar", "payload": { "backgroundColor": "#ffffff", "labelFontSize": 14 } }update_chart_style
Voir des exemples- Quand utiliser
- Renommez ou remplacez un préréglage détenu après l'approbation de l'utilisateur. Lisez d’abord sa charge utile actuelle ; la charge utile remplace tous les paramètres.
- Entrées
- style_preset_id and at least one field to change.
- Sortie
- Préréglage mis à jour. Les graphiques PNG existants restent inchangés.
- Erreurs
- INVALID_COMPARISON, INSUFFICIENT_SCOPE, RATE_LIMITED.
Exemple de saisie
{ "style_preset_id": "123", "name": "Renamed style" }delete_chart_style
Voir des exemples- Quand utiliser
- Supprimez un préréglage détenu après l'approbation explicite de l'utilisateur.
- Entrées
- style_preset_id.
- Sortie
- Confirmation de suppression. Les graphiques existants restent disponibles.
- Erreurs
- INVALID_COMPARISON, INSUFFICIENT_SCOPE, RATE_LIMITED.
Exemple de saisie
{ "style_preset_id": "123" }create_chart
Voir des exemples- Quand utiliser
- À utiliser une fois que les identités et les métriques ont été confirmées et que l'utilisateur souhaite explicitement une visualisation enregistrée.
- Entrées
- radar, bar, pizza, scatterplot, swarm, or bubble chart_type, bounded player-season series, metrics, normalization, aspect ratio, style_preset_id, native UI style overrides, branding, and optional customization.<chart_type> controls. Explicit fields/customization override the preset.
- Sortie
- Private chart_id, edit_url, metadata, data freshness, and the PNG as an inline MCP image block. No PNG URL or public share URL is created.
- Erreurs
- INVALID_COMPARISON, PLAYER_NOT_FOUND, METRIC_NOT_AVAILABLE, CHART_RENDER_FAILED, RATE_LIMITED.
Exemple de saisie
{ "chart_type": "scatterplot", "series": [{ "player_id": "PLAYER_ID_1", "season": "2025/2026" }, { "player_id": "PLAYER_ID_2", "season": "2025/2026" }], "metric_ids": ["goals", "assists"], "radius_metric_id": "minutes" }get_chart
Voir des exemples- Quand utiliser
- Utilisez-le pour récupérer un graphique précédemment créé et son image en ligne pendant que l'actif stocké est en ligne.
- Entrées
- chart_id returned by create_chart.
- Sortie
- Métadonnées du graphique à l'échelle du propriétaire et fichier PNG stocké sous forme de bloc d'image MCP en ligne lorsqu'il n'a pas expiré.
- Erreurs
- CHART_NOT_FOUND, INSUFFICIENT_SCOPE.
Exemple de saisie
{ "chart_id": 123 }Annotations et contrat de cartographie
Les outils de lecture sont marqués en lecture seule et idempotents. create_chart change d'état et n'est intentionnellement pas marqué en lecture seule ; il crée un graphique enregistré privé et consomme un quota de rendu.
create_chart prend en charge radar (série 2-3 joueurs-saison, 3-16 métriques), bar (une série de joueurs par saison, 1 à 20 mesures), pizza (une série de joueurs par saison, 3-16 métriques), scatterplot (Série de 2 à 50 joueurs par saison, exactement deux métriques d'axe, plus une métrique de rayon facultative), swarm (séries de 1 à 50 joueurs par saison, jusqu'à 20 mesures), et bubble (Série de 2 à 50 joueurs par saison, exactement deux métriques d'axe, plus une métrique de rayon facultative). Les métriques, les saisons et les compétitions sont validées par rapport au catalogue FBPlot et à la couverture des données.
Parité de personnalisation des graphiques
Utiliser customization.<chart_type> pour contrôler les mêmes paramètres visuels que ceux rendus par l'éditeur FBPlot. Le MCP et le site Web utilisent la même prévisualisation de graphique et la même racine d'exportation, de sorte que le PNG conserve la mise en page, les couleurs, la typographie et la marque sélectionnées.
{
"chart_type": "bar",
"series": [{ "player_id": "PLAYER_ID", "season": "2025/2026" }],
"metric_ids": ["goals", "assists", "shots"],
"customization": {
"bar": {
"compared_against": "Forwards",
"comparison_scope": "Top 5 leagues",
"stats_filters": { "minutes_min": 900 },
"background_color": "#f7faf9",
"bar_colors": { "attacking": "#c3552b" },
"player_name_font_family": "'Oswald', 'Helvetica Neue', sans-serif",
"label_font_size": 13,
"label_font_weight": 700,
"label_font_color": "#10272a"
}
}
}| Graphique | Contrôles disponibles via MCP |
|---|---|
| radar | Cohorte de comparaison et filtres ; séries ciblées; mode superposition/différence ; ordre métrique, étiquettes de valeur, précision, format centile, échelle et direction radiales ; toile, grille, axes, typographie d'étiquettes métriques, légende, en-tête, photos, badges, drapeaux et styles de remplissage/trait/marqueur par série. |
| barre | Cohorte de comparaison et filtres ; ordre métrique ; évolution du joueur ; palette; couleurs d’arrière-plan et de catégorie ; typographie joueur, club, contexte et axe-étiquette. |
| pizza | Cohorte de comparaison et filtres ; ordre métrique ; évolution du joueur ; couleurs d’arrière-plan et de catégorie ; typographie des joueurs, des clubs et du contexte ; trait circulaire, espace de groupe et typographie d'étiquette circulaire. |
| nuage de points | Cohorte de comparaison et filtres ; étiquettes d'axe et densité de graduations ; lignes d'arrière-plan, de grille et de moyenne ; typographie du titre/sous-titre/crédit ; taille des bulles, opacité, trait, mode d'affichage, mode couleur, ligue/position/métrique/couleurs de surbrillance, évolution et placement/décalages des étiquettes. |
| essaim | Cohorte de comparaison et filtres ; antécédents et crédit ; hauteur de ligne, marges, rayon de cercle, instabilité, remplissage/contour/opacité, mode logo, couleurs de surbrillance, axes de ligne/colonne, étiquettes métriques et étiquettes de lecteur en surbrillance. |
| bulle | Cohorte de comparaison et filtres ; grille, liens, bascules de tendance et médiane ; Étiquettes X/Y et axes nombre/pourcentage/personnalisés ; rayon, logos, étiquettes, arrière-plans d'étiquettes, régions, quadrants, remplissage, dimensions, typographie du thème, liens et couleurs de la ligue. |