MCP server: One MCP server.

Painel Sintético Concorde

@caio-sartorattoMCP server · External

787 personas sintéticas do consumidor bancário brasileiro para discovery de produtos.

Market researchv1.0.0TypeScript
Freeno charge per call

One address for any MCP client. No sign-in needed on this server.

What it does

3 read7 other

Grouped by tool name. At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Tools

10 · grouped by tool name · checked 10 Oct 2026

Read · 3Look things up

  • get_personas
  • get_instituicao
  • get_distribuicoes

Other · 7Neither hinted nor named

  • visao_geral
  • avaliar_pergunta
  • filtrar_personas
  • sortear_amostra
  • preparar_pesquisa
  • buscar_fatos
  • listar_vozes
Try it in the Inspector
README6 min read

MCP Registry License: MIT Cloudflare Workers

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.

  1. No Claude (Desktop, web ou mobile): Settings → Connectors → Add custom connector
  2. Cole a URL: https://painel.concorde-painel.workers.dev/mcp
  3. 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_pesquisa faz 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), escala e aberta. O seed é 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 consumidoridwallPainelErro
Pretende manter/aumentar uso de bancos digitais84,9%86,0%1,1 pp
Rapidez do cadastro é o fator nº 1 na abertura de conta51,4%49,0%2,4 pp
A casa é o lugar mais seguro para acessar o banco68,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 consumidorReclame AQUIPainelErro
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):

ClasseSe sente inseguroAmostra
A5%n=22
B20%n=30
C77%n=30
D/E80%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:

PerguntaRealPainelGemini 3.1 ProGPT-5.6
Mantém ou aumenta o uso de bancos digitais84,9%86%84%85%
Rapidez do cadastro é o fator nº 151,4%49%18%25%
A casa é o lugar mais seguro para acessar68,5%74%65%90%
Medo de a instituição quebrar (liquidez)35%39%45%65%
Erro médio absoluto3,3 pp12,0 pp19,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).

sh
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.

Similar modules

Browse Market research