Ponto final do MCP de produção
https://mcp.fbplot.com/mcpTransporte: HTTP streamável; Código de autorização OAuth 2.1 + PKCE; negociação de protocolo suportada.
Resolva e inspecione
Peça ao cliente para ligar resolve_players quando tem um nome de utilizador. Confirme o candidato antes de passar o seu ID estável para a frente.
{
"name": "Lamine Yamal",
"season": "2025/2026",
"limit": 5
}Crie um radar de paridade de site PNG
A chave de idempotência torna as novas tentativas seguras para o mesmo pedido normalizado. A resposta inclui declarações explícitas chart_id, edit_urle um MCP em linha image bloco de conteúdo. Nenhum URL PNG é devolvido.
{
"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"
}Crie uma pizza PNG
Os gráficos de pizza traçam o perfil de um jogador com 3 a 16 métricas selecionadas utilizando o mesmo componente de gráfico circular do website.
{
"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"
}Crie um gráfico de dispersão PNG
Para gráficos de dispersão, os dois primeiros IDs de métrica são os eixos X e Y. Adicione uma métrica de raio opcional e destaque até 12 etiquetas 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"
}Exemplo de API OpenAI
Mantenha a aprovação ativada para a gravação de gráficos e deixe o cliente completar o OAuth em vez de incorporar um token de utilizador no código da aplicação.
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"
})Regras de estilo e branding
- Padrão FBPlot. Utiliza a paleta Analyst Studio, tipos de letra de gráfico suportados, contraste de grelha/eixo acessível e marca de água FBPlot.
- Liderado pela marca. Pode usar um kit de marca de conta guardada. Os logótipos são apenas selecionados a partir de ativos próprios do FBPlot; Os URLs do logótipo externo e da entrada base64 são rejeitados.
- Alto contraste. Aumenta o contraste e mantém as diferenças de linha/marcador para comparação para além da cor.
- Privacidade dos ativos. O PNG é entregue em linha através do MCP. A cópia armazenada privada permanece no âmbito do proprietário e expira; nenhum URL de partilha pública é criado.
https://mcp.fbplot.com/mcp