Painel Sintético Concorde
Enables AI assistants to explore a panel of 787 synthetic Brazilian banking consumer personas for product discovery, with deterministic filtering and statistical facts.
README
Painel 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
Conector (Claude → Settings → Connectors → Add custom connector):
https://painel.concorde-painel.workers.dev/mcp
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.
Validação (backtest contra pesquisa real)
100 personas sorteadas do painel, classificadas com temperatura 0 (reproduzível), comparadas ao Estudo 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% | 84,0% | 15,5 pp |
Erro médio absoluto: 6,3 pp — 2 de 3 dentro da margem amostral do método (~5 pp para n=100).
Transparência: essas são as 3 perguntas de melhor aderência entre 8 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)
│ 8 ferramentas: visao_geral, filtrar_personas, sortear_amostra,
│ 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.