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.
| Ferramenta | Objetivo | Escopos | Limites |
|---|---|---|---|
| resolve_players | Transforme nomes em IDs estáveis | players:read | 30/min |
| search_players | Descubra e filtre jogadores | jogadores:ler + estatísticas:ler | 30/min; 50/page |
| get_player_stats | Ler métricas selecionadas | jogadores:ler + estatísticas:ler | 60/min; 5 players; 250 cells |
| get_fbplot_capabilities | Leia a cobertura e os limites | players:read | 60/min |
| list_metrics | Descubra IDs de métricas válidos | stats:read | 60/min; 50/page |
| list_chart_presets | Descubra predefinições de gráfico/estilo | charts:read | 60/min; 50/page |
| list_chart_styles | Procure predefinições de estilo gráfico da IU | charts:read | 60/min; 50/page |
| get_chart_style | Leia um estilo gráfico completo | charts:read | 60/min |
| get_chart_style_options | Inspecione as opções de estilo e tipos de letra | charts:read | 60/min |
| create_chart_style | Guarde um estilo gráfico reutilizável | presets:write | 10/min |
| update_chart_style | Editar ou renomear um estilo gráfico | presets:write | 20/min |
| delete_chart_style | Apagar um estilo gráfico | presets:write | 10/min |
| create_chart | Crie um PNG com paridade de site privado in-line | jogadores:ler + estatísticas:ler + gráficos:criar | 5 renders/min |
| get_chart | Recuperar metadados de grafo privado/PNG inline | charts:read | 60/min |
resolve_players
Veja exemplos- Quando usar
- Use first when the user gives a name and you need a stable FBPlot player_id.
- Entradas
- name; optional season, competition_id, team_id, and limit (1-10).
- Saída
- Candidatos limitados com IDs estáveis e contexto de identidade. Inspecione os candidatos ambíguos antes de continuar.
- Erros
- PLAYER_NOT_FOUND, AMBIGUOUS_PLAYER, INVALID_INPUT.
Entrada de exemplo
{ "name": "Lamine Yamal", "season": "2025/2026", "limit": 5 }search_players
Veja exemplos- Quando usar
- Utilize para descoberta, filtragem ou classificação limitada dentro de uma estação.
- Entradas
- época mais consulta facultativa, equipas, competições, posições detalhadas, valor de mercado, término do contrato, nacionalidade, idade, minutos e condições métricas.
- Saída
- Um conjunto de resultados paginados e os filtros aplicados. Não expõe o conjunto completo de dados do jogador.
- Erros
- QUERY_TOO_COMPLEX, METRIC_NOT_AVAILABLE, SEASON_NOT_AVAILABLE, COMPETITION_NOT_AVAILABLE.
Entrada de exemplo
{ "season": "2025/2026", "position_categories": ["Forwards"], "minutes_min": 900, "page_size": 10 }get_player_stats
Veja exemplos- Quando usar
- Utilize depois de os IDs dos jogadores serem confirmados e as métricas solicitadas serem conhecidas.
- Entradas
- 1-5 player_ids, up to 3 seasons, up to 3 competitions, aggregation, 1-16 metric_ids, normalization, and percentile preference.
- Saída
- Apenas as estatísticas solicitadas, definições, cobertura e campos percentuais opcionais.
- Erros
- PLAYER_NOT_FOUND, METRIC_NOT_AVAILABLE, INVALID_COMPARISON, QUERY_TOO_COMPLEX.
Entrada de exemplo
{ "player_ids": ["PLAYER_ID"], "seasons": ["2025/2026"], "aggregation": "season_total", "metric_ids": ["goals"], "normalization": "per90" }get_fbplot_capabilities
Veja exemplos- Quando usar
- Utilize no início de um novo fluxo de trabalho para descobrir a cobertura, os limites dos gráficos e os modos suportados.
- Entradas
- Sem argumentos.
- Saída
- Versão do protocolo, regra de autorização, atualização de dados, tipos de gráficos suportados, limites e política de privacidade.
- Erros
- TEMPORARY_DATA_SERVICE_FAILURE.
Entrada de exemplo
{}list_metrics
Veja exemplos- Quando usar
- Utilize antes de adivinhar um ID de métrica ou de criar uma pesquisa, pedido de estatísticas ou gráfico.
- Entradas
- Optional search, category, chart_type, page, and page_size (1-50).
- Saída
- IDs de métricas, etiquetas, unidades, categorias, definições e modos de gráfico/normalização suportados.
- Erros
- METRIC_NOT_AVAILABLE, QUERY_TOO_COMPLEX.
Entrada de exemplo
{ "search": "progressive", "chart_type": "radar", "page_size": 20 }list_chart_presets
Veja exemplos- Quando usar
- Use to discover supported radar, bar, pizza, scatterplot, swarm, bubble, and visual-style preset IDs before create_chart.
- Entradas
- Optional chart_type, search, page, and page_size (1-50).
- Saída
- Metadados predefinidos compactos e as métricas/estilos que cada predefinição suporta.
- Erros
- INVALID_COMPARISON, QUERY_TOO_COMPLEX.
Entrada de exemplo
{ "chart_type": "radar" }list_chart_styles
Veja exemplos- Quando usar
- Navegue pelas mesmas predefinições gráficas próprias, públicas, padrão e integradas da IU. Estão separados das predefinições métricas.
- Entradas
- Optional chart_type, search, page and page_size (1-50).
- Saída
- Style IDs and compact metadata; use get_chart_style for the payload.
- Erros
- INSUFFICIENT_SCOPE.
Entrada de exemplo
{ "chart_type": "radar" }get_chart_style
Veja exemplos- Quando usar
- Inspecione uma predefinição visível antes de a aplicar ou copiar as suas definições.
- Entradas
- style_preset_id from list_chart_styles.
- Saída
- Carga útil completa do camelCase da interface do utilizador nativa.
- Erros
- INVALID_COMPARISON, INSUFFICIENT_SCOPE.
Entrada de exemplo
{ "style_preset_id": "builtin:clean-comparison" }get_chart_style_options
Veja exemplos- Quando usar
- Descubra os controlos disponíveis e os valores de fonte certificados antes de criar um estilo.
- Entradas
- chart_type.
- Saída
- Campos nativos suportados, personalização do esquema JSON, fontes e regras de precedência.
- Erros
- INSUFFICIENT_SCOPE.
Entrada de exemplo
{ "chart_type": "bar" }create_chart_style
Veja exemplos- Quando usar
- Guarde um estilo gráfico reutilizável após aprovação do utilizador. Requer as predefinições: âmbito de gravação; volte a ligar uma concessão mais antiga para a aprovar.
- Entradas
- name, chart_type, payload in native UI camelCase. Public/default flags are Admin only.
- Saída
- ID predefinido e carga útil guardados, disponíveis imediatamente na IU.
- Erros
- INVALID_COMPARISON, INSUFFICIENT_SCOPE, RATE_LIMITED.
Entrada de exemplo
{ "name": "My editorial style", "chart_type": "bar", "payload": { "backgroundColor": "#ffffff", "labelFontSize": 14 } }update_chart_style
Veja exemplos- Quando usar
- Renomeie ou substitua uma predefinição própria após a aprovação do utilizador. Leia primeiro a sua carga útil atual; a carga útil substitui todas as definições.
- Entradas
- style_preset_id and at least one field to change.
- Saída
- Predefinição atualizada. Os PNG de gráficos existentes permanecem inalterados.
- Erros
- INVALID_COMPARISON, INSUFFICIENT_SCOPE, RATE_LIMITED.
Entrada de exemplo
{ "style_preset_id": "123", "name": "Renamed style" }delete_chart_style
Veja exemplos- Quando usar
- Apague uma predefinição de propriedade após aprovação explícita do utilizador.
- Entradas
- style_preset_id.
- Saída
- Confirmação de eliminação. Os gráficos existentes continuam disponíveis.
- Erros
- INVALID_COMPARISON, INSUFFICIENT_SCOPE, RATE_LIMITED.
Entrada de exemplo
{ "style_preset_id": "123" }create_chart
Veja exemplos- Quando usar
- Utilize depois de as identidades e métricas serem confirmadas e o utilizador desejar explicitamente uma visualização guardada.
- Entradas
- 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.
- Saída
- 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.
- Erros
- INVALID_COMPARISON, PLAYER_NOT_FOUND, METRIC_NOT_AVAILABLE, CHART_RENDER_FAILED, RATE_LIMITED.
Entrada de exemplo
{ "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
Veja exemplos- Quando usar
- Utilize para recuperar um gráfico criado anteriormente e a sua imagem incorporada enquanto o ativo armazenado está ativo.
- Entradas
- chart_id returned by create_chart.
- Saída
- Metadados do gráfico no âmbito do proprietário e o PNG armazenado como um bloco de imagem MCP incorporado quando não tiver expirado.
- Erros
- CHART_NOT_FOUND, INSUFFICIENT_SCOPE.
Entrada de exemplo
{ "chart_id": 123 }Apontamentos e contrato gráfico
As ferramentas de leitura estão marcadas como de leitura apenas e idempotentes. create_chart muda de estado e não está intencionalmente marcado como de leitura apenas; cria um gráfico guardado privado e consome uma quota de renderização.
create_chart suporta radar (série de época de 2-3 jogadores, métricas de 3-16), bar (série de época de um jogador, métricas de 1 a 20), pizza (série de época de um jogador, métricas de 3 a 16), scatterplot (série de época de 2 a 50 jogadores, métricas de exatamente dois eixos, além de uma métrica de raio opcional), swarm (séries de época de 1 a 50 jogadores, até 20 métricas) e bubble (Série de época de 2 a 50 jogadores, métricas de exatamente dois eixos, mais uma métrica de raio opcional). As métricas, temporadas e competições são validadas no catálogo FBPlot e na cobertura de dados.
Paridade de personalização de gráficos
Usar customization.<chart_type> para controlar as mesmas definições visuais renderizadas pelo editor FBPlot. O MCP e o site utilizam a mesma visualização do gráfico e raiz de exportação, pelo que o PNG mantém o layout, as cores, a tipografia e a marca selecionados.
{
"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"
}
}
}| Gráfico | Controlos disponíveis através do MCP |
|---|---|
| radar | Coorte de comparação e filtros; série focada; modo de sobreposição/diferença; ordem métrica, rótulos de valor, precisão, formato percentil, escala radial e direção; ecrã, grelha, eixos, tipografia de rótulo métrico, legenda, cabeçalho, fotos, emblemas, flags e estilos de preenchimento/traço/marcador por série. |
| barra | Coorte de comparação e filtros; ordem métrica; evolução do jogador; paleta; cores de fundo e categoria; tipografia de jogador, clube, contexto e rótulo de eixo. |
| pizza | Coorte de comparação e filtros; ordem métrica; evolução do jogador; cores de fundo e categoria; tipografia de jogador, clube e contexto; traço circular, lacuna de grupo e tipografia de rótulo circular. |
| gráfico de dispersão | Coorte de comparação e filtros; rótulos dos eixos e densidade de ticks; linhas de fundo, grelha e média; tipografia de título/subtítulo/crédito; tamanho da bolha, opacidade, traço, modo de visualização, modo de cor, liga/posição/métrica/cores de destaque, evolução e posicionamento/deslocamentos de etiquetas. |
| enxame | Coorte de comparação e filtros; histórico e crédito; altura da linha, margens, raio do círculo, tremulação, preenchimento/traço/opacidade, modo de logótipo, cores de destaque, eixos de linha/coluna, rótulos de métricas e rótulos de reprodutores destacados. |
| bolha | Coorte de comparação e filtros; alternância de grelha, ligações, tendência e mediana; Rótulos X/Y e eixos numéricos/percentagem/personalizados; raio, logótipos, rótulos, fundos dos rótulos, regiões, quadrantes, preenchimento, dimensões, tipografia do tema, ligações e cores da liga. |