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.
Résoudre, puis inspecter
Demander au client d'appeler resolve_players quand il a un nom d’affichage. Confirmez le candidat avant de transmettre son identifiant stable.
{
"name": "Lamine Yamal",
"season": "2025/2026",
"limit": 5
}Créer un site Web radar de parité PNG
La clé d'idempotence sécurise les nouvelles tentatives pour la même requête normalisée. La réponse inclut des chart_id, edit_url, et un MCP en ligne image bloc de contenu. Aucune URL PNG n'est renvoyée.
{
"chart_type": "radar",
"series": [
{ "player_id": "PLAYER_ID_1", "season": "2025/2026" },
{ "player_id": "PLAYER_ID_2", "season": "2025/2026" }
],
"metric_ids": ["goals", "assists", "expected_goals", "key_passes", "progressive_carries"],
"normalization": "per90",
"score_mode": "percentile",
"visual_style_id": "fbplot-default",
"aspect_ratio": "feed",
"branding": { "watermark": true },
"customization": {
"radar": {
"comparison_mode": "overlay",
"style": { "grid_shape": "circular", "metric_label_size": 13 },
"header": { "subtitle": "2025/2026 · per 90", "alignment": "center" }
}
},
"idempotency_key": "report-2025-08-26-01"
}Créer une pizza PNG
Les graphiques de pizza présentent un joueur avec 3 à 16 mesures sélectionnées en utilisant le même composant de graphique circulaire que le site Web.
{
"chart_type": "pizza",
"series": [{ "player_id": "PLAYER_ID", "season": "2025/2026" }],
"metric_ids": ["goals", "assists", "expected_goals", "key_passes", "progressive_carries"],
"normalization": "per90",
"visual_style_id": "fbplot-default",
"aspect_ratio": "feed"
}Créer un nuage de points PNG
Pour les nuages de points, les deux premiers identifiants de métrique sont les axes X et Y. Ajoutez une mesure de rayon facultative et mettez en surbrillance jusqu'à 12 étiquettes de série.
{
"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",
"highlighted_player_ids": ["PLAYER_ID_1", "PLAYER_ID_2"],
"normalization": "per90",
"visual_style_id": "fbplot-default",
"aspect_ratio": "feed"
}Exemple d'API OpenAI
Gardez l'approbation activée pour l'écriture d'un graphique et laissez le client terminer OAuth plutôt que d'intégrer un jeton utilisateur dans le code de l'application.
import OpenAI from "openai"
const response = await new OpenAI().responses.create({
model: "gpt-5.6",
tools: [{
type: "mcp",
server_label: "fbplot",
server_url: "https://mcp.fbplot.com/mcp",
require_approval: "always"
}],
input: "Compare these two players in a radar chart"
})Règles de style et de marque
- FBPlot par défaut. Utilise la palette Analyst Studio, les polices de graphique prises en charge, le contraste grille/axe accessible et le filigrane FBPlot.
- Dirigé par la marque. Peut utiliser un kit de marque de compte enregistré. Les logos sont sélectionnés uniquement à partir des actifs appartenant à FBPlot ; les URL de logo externe et les entrées base64 sont rejetées.
- Contraste élevé. Augmente le contraste et conserve les différences de ligne/marqueur pour une comparaison au-delà de la seule couleur.
- Confidentialité des actifs. Le PNG est livré en ligne via MCP. La copie privée stockée reste limitée au propriétaire et expire ; aucune URL de partage publique n'est créée.
https://mcp.fbplot.com/mcp