Painel Sintético Concorde
RemoteAbout Painel Sintético Concorde
Painel Sintético Concorde is a remote MCP service offering 787 synthetic personas representing Brazilian banking consumers for product discovery. It supports qualitative focus groups and directional surveys, with persona-level responses aggregated by the host.
Key features
- 01Filter and sample personas
- 02Run qualitative focus groups
- 03Prepare isolated persona surveys
- 04Aggregate choice, rating, scale, and open responses
- 05Use reproducible survey seeds
Use cases
- 01Explore objections to a banking product concept
- 02Compare reactions across demographic segments
- 03Estimate directional preferences before primary research
MCP support
The remote MCP server exposes tools for persona filtering and sampling, focus groups, and surveys. The user’s question stays outside the server; the host aggregates persona responses.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://painel.concorde-painel.workers.dev/mcpclaude mcp add --transport http caio-sartoratto-painel-sintetico-concorde https://painel.concorde-painel.workers.dev/mcp{"mcpServers":{"caio-sartoratto-painel-sintetico-concorde":{"type":"http","url":"https://painel.concorde-painel.workers.dev/mcp"}}}Open in Cursor{"servers":{"caio-sartoratto-painel-sintetico-concorde":{"type":"http","url":"https://painel.concorde-painel.workers.dev/mcp"}}}Open in VS Code{"mcpServers":{"caio-sartoratto-painel-sintetico-concorde":{"type":"http","url":"https://painel.concorde-painel.workers.dev/mcp"}}}{"mcpServers":{"caio-sartoratto-painel-sintetico-concorde":{"serverUrl":"https://painel.concorde-painel.workers.dev/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
10This tool takes no parameters.
Details
From the project READMEPainel Sintético Concorde
Servidor MCP remoto que expõe um painel de 787 personas sintéticas do consumidor bancário brasileiro para qualquer Claude (Desktop, web, mobile) — para discovery de produtos bank e fintech. Roda inteiro no free tier da Cloudflare Workers.
Site e demo: https://painel.concorde-painel.workers.dev
Nome no registro oficial de MCP: io.github.caio-sartoratto/painel-sintetico-concorde
Como instalar / encontrar
O painel é um conector MCP remoto. Não há nada para baixar.
- No Claude (Desktop, web ou mobile): Settings → Connectors → Add custom connector
- Cole a URL:
https://painel.concorde-painel.workers.dev/mcp - Requer plano pago do Claude (conectores customizados não estão no plano gratuito)
Ele também está publicado no registro oficial de MCP
como io.github.caio-sartoratto/painel-sintetico-concorde, então tende a aparecer em
marketplaces e agregadores de MCP que consomem o registro. A instalação, porém, continua sendo
pela URL acima (estar no registro não adiciona o conector automaticamente ao Claude).
Os dados do painel não estão neste repositório (são proprietários — veja a licença). Este repo é o motor: servidor MCP, site, fórum, cotas e telemetria. O serviço público roda com o painel completo.
Por que existe
Pedir a um LLM para "simular 700 pessoas" produz um respondente médio repetido N vezes, com
viés de renda/escolaridade (Santurkar et al. 2023; Bisbee et al. 2024). O caminho que funciona
é condicionar o modelo em atributos sociodemográficos reais (Argyle et al. 2023). Aqui a
heterogeneidade vem da estrutura: cada persona é ligada por filtro determinístico
(campo operador valor) a fatos estatísticos com fonte, e o LLM só dá voz.
Dois modos: focus group e pesquisa
- Focus group (exploração qualitativa):
filtrar_personas/sortear_amostra+get_personas. O Claude dá voz a um recorte pequeno de personas para você ouvir objeções e afiar hipóteses. - Pesquisa direcional (medição):
preparar_pesquisafaz fan-out isolado — o host dispara uma tarefa/subagente por persona, cada uma responde sem ver as outras, e a distribuição é agregada localmente. Isso evita a convergência artificial de respostas geradas no mesmo contexto. Formatos:escolha(distribuição),pontuar(nota 0-10 por atributo → média+desvio por opção, preserva a preferência secundária),escalaeaberta. Oseedé aleatório por padrão e devolvido no resultado para reprodução. É o mecanismo por trás dos backtests abaixo.
Privacidade por construção: a pergunta do usuário não trafega pelo servidor. A fronteira de
confiança é classificada localmente no Claude (a ferramenta avaliar_pergunta devolve só a
rubrica), e as respostas das personas são agregadas no host — o servidor recebe apenas o filtro de
segmento, o número de personas e o formato.
Validação (backtest contra pesquisa real)
100 personas sorteadas do painel, classificadas com temperatura 0 (reproduzível), comparadas a pesquisas publicadas.
idwall 2025 (amostra nacional ponderada por IBGE)
| Pergunta de atitude do consumidor | idwall | Painel | Erro |
|---|---|---|---|
| Pretende manter/aumentar uso de bancos digitais | 84,9% | 86,0% | 1,1 pp |
| Rapidez do cadastro é o fator nº 1 na abertura de conta | 51,4% | 49,0% | 2,4 pp |
| A casa é o lugar mais seguro para acessar o banco | 68,5% | 74,0% | 5,5 pp |
Erro médio absoluto: 3,0 pp — as três dentro de 6 pontos percentuais do benchmark.
Reclame AQUI 2026 (crise de confiança em bancos digitais, n=2.073)
| Atitude do consumidor | Reclame AQUI | Painel | Erro |
|---|---|---|---|
| Medo de a instituição quebrar e perder o dinheiro (liquidez) | 35% | 39% | 4 pp |
BCG e Nubank, "Beyond Access" 2023 (população brasileira, n=2.000)
Headline do estudo: mais de 70% dos brasileiros não se sentem seguros nem incluídos financeiramente. O painel, de forma independente, chega a 78%.
Sem nenhuma quebra por classe no benchmark, o painel reproduz sozinho o gradiente social da insegurança (amostra estratificada por classe, temperatura 0):
| Classe | Se sente inseguro | Amostra |
|---|---|---|
| A | 5% | n=22 |
| B | 20% | n=30 |
| C | 77% | n=30 |
| D/E | 80% | n=30 |
Controle: e se for só o LLM?
As mesmas perguntas respondidas direto por modelos de fronteira, sem painel, sem persona, sem busca na internet, temperatura 0:
| Pergunta | Real | Painel | Gemini 3.1 Pro | GPT-5.6 |
|---|---|---|---|---|
| Mantém ou aumenta o uso de bancos digitais | 84,9% | 86% | 84% | 85% |
| Rapidez do cadastro é o fator nº 1 | 51,4% | 49% | 18% | 25% |
| A casa é o lugar mais seguro para acessar | 68,5% | 74% | 65% | 90% |
| Medo de a instituição quebrar (liquidez) | 35% | 39% | 45% | 65% |
| Erro médio absoluto | 3,3 pp | 12,0 pp | 19,5 pp |
O painel erra 3,7x menos que o Gemini e 6x menos que o GPT nas mesmas perguntas. No headline do BCG: painel 78% (dentro do ">70%"), Gemini 55% (fora), GPT 60% (fora). Os números dos modelos crus ainda contradizem a si mesmos: o Gemini estima 45% "seguros e incluídos" mas só 31% "seguros", e a interseção não pode ser maior que a parte. O painel não produz esse erro porque cada número vem de contar personas uma a uma.
Transparência: essas são as perguntas de melhor aderência entre as categorias testadas. Itens de satisfação e incidência auto-reportada divergem mais (viés de calibração conhecido nas narrativas, em ajuste). Não substitui pesquisa primária nem teste A/B — é a etapa barata que vem antes.
Exemplos
Transcrições reais rodando no Claude (personas e fatos vêm do painel de verdade):
examples/ — focus group de conceito, teste com Classe A e checagem de dado.
Arquitetura
vault Obsidian (fonte da verdade: personas + fatos + vozes + instituições)
│ npm run build-data (compila markdown → JSON)
▼
Cloudflare Worker
├─ /mcp servidor MCP (agents SDK / McpAgent + Durable Object)
│ 10 ferramentas: visao_geral, avaliar_pergunta (rubrica da
│ fronteira p/ classificação LOCAL), filtrar_personas,
│ sortear_amostra, preparar_pesquisa (fan-out isolado),
│ get_personas, buscar_fatos, listar_vozes, get_instituicao,
│ get_distribuicoes
├─ QuotaDO cotas por IP (rajada/dia + teto de fichas: anti-extração)
├─ / site estático server-rendered (zero framework)
├─ /forum fórum anônimo sem moderação prévia (ForumDO) — nunca exposto via MCP
│ (evita prompt injection armazenada em sessões de terceiros)
└─ StatsDO telemetria própria (IPs só como hash; dashboard admin)
Decisões que valem nota:
- DSL de filtro própria (sem eval):
classe_social == 'Classe C' & idade > 30, mesma sintaxe do vault ao servidor. - Fatos tipados (propensão / prevalência / composição / referência) — composição é P(público|métrica), o inverso de propensão; o servidor injeta aviso na ficha quando presente.
- Cotas via Durable Object por IP: extração em massa do painel é impraticável sem autenticação de usuários.
- Fórum fora do MCP por regra: conteúdo aberto de terceiros nunca volta por ferramenta, eliminando o vetor de injection armazenada.
Rodando
Pré-requisitos: Node 20+, conta Cloudflare, um vault no formato esperado (veja
scripts/build-data.mjs para o schema de frontmatter).
npm install
VAULT_DIR=/caminho/do/vault npm run build-data # gera src/data/*.json (não versionado)
npm run dev # local em http://localhost:8787
npx wrangler secret put ADMIN_TOKEN # kill switch do fórum + dashboard
npx wrangler secret put HASH_SALT # sal dos hashes de IP
npm run deploy
Licença
Código sob MIT. Os dados do painel (personas, fatos, vozes, fichas de instituições e distribuições) são proprietários, não incluídos neste repositório e não licenciados para redistribuição.
Autor
Caio Sartoratto Prado — LinkedIn · projeto Concorde. Feedback: fórum do painel.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.