{"name":"io.github.caio-sartoratto/painel-sintetico-concorde","slug":"caio-sartoratto-painel-sintetico-concorde","title":"Painel Sintético Concorde","description":"787 personas sintéticas do consumidor bancário brasileiro para discovery de produtos.","url":"https://mcp.market/server/caio-sartoratto-painel-sintetico-concorde","rating":null,"grade":"A","score":87,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":15,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-07-23T01:44:34.000Z","license":"NOASSERTION"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T05:55:51.506Z","last_ok_at":"2026-11-04T05:55:51.506Z","latency_ms":1552},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/caio-sartoratto/painel-sintetico-mcp","website":null,"version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://painel.concorde-painel.workers.dev/mcp"}],"packages":[],"tools":[{"name":"avaliar_pergunta","description":"Fronteira de confiança (classificação LOCAL, preserva privacidade). NÃO recebe a pergunta: devolve a RUBRICA para VOCÊ (assistente) classificar a pergunta do usuário no seu próprio contexto, sem enviá-la ao servidor. Bandas: 'inferivel' (pode rodar), 'arriscado' (rode com ressalva), 'humano' (NÃO pergunte a persona sintética — exige estado vivido). Aplique antes de preparar_pesquisa.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"buscar_fatos","description":"Busca nos 105 fatos estatísticos. Modos: texto livre (busca em métrica/fonte/corpo), por eixo (por-classe, por-regiao, por-genero, por-investidor, por-divida, por-idade, por-fonte-renda, por-composto, populacional), ou por persona_id (fatos cujo filtro casa com a persona).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"texto":{"description":"Busca textual livre","type":"string"},"eixo":{"description":"Eixo de segmentação","type":"string"},"persona_id":{"description":"Retorna fatos aplicáveis a esta persona","type":"string"},"incluir_corpo":{"default":false,"description":"Incluir o corpo markdown completo dos fatos","type":"boolean"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"filtrar_personas","description":"Filtra as 787 personas pela DSL determinística do painel. Ex.: \"classe_social == 'Classe C' & divida_ativa == 'Sim' & regiao == 'Nordeste'\". Vazio retorna todas. Retorna contagem e mini-perfis (até `limite`).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"filtro":{"description":"Expressão DSL: campo OP valor & ... (OP: == != > < >= <= in entre)","type":"string"},"limite":{"default":30,"description":"Máximo de mini-perfis retornados","type":"integer","minimum":1,"maximum":100}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_distribuicoes","description":"Tabelas de calibração do painel: CSVs de distribuição (pesos do sorteio original) e registro de taxas. Sem nome, lista os arquivos.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"arquivo":{"description":"Nome do CSV, 'manifest.md' ou 'taxas'","type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_instituicao","description":"Ficha de uma instituição financeira (cadastro, volumetria, reputação, reviews). 12 bancos tradicionais e digitais. Sem nome, lista as disponíveis.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"nome":{"description":"Ex.: 'santander', 'nubank'","type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_personas","description":"Fichas completas de até 10 personas por id (atributos + Grounding com fatos/fontes + História). Use para dar voz às personas com ancoragem nos dados. IMPORTANTE: fatos marcados _composicao_ são P(público | métrica), o inverso de propensão — não os leia como probabilidade da persona; fatos _referencia_ não são proporção de pessoas.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ids":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"string"},"description":"Ex.: ['PERS_023', 'PERS_041']"}},"required":["ids"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"listar_vozes","description":"Vozes verbatim REAIS (reviews, relatos) por tema: atendimento, bloqueio, canais, credito, endividamento, gestao-financeira, golpes, pix, tarifas (busca por substring no id/tema). Sem tema, lista todas as 17. Representatividade não-populacional — use como ilustração de linguagem, não como estatística.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tema":{"description":"Filtro por tema/id","type":"string"},"completo":{"default":true,"description":"Incluir texto completo","type":"boolean"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"preparar_pesquisa","description":"Prepara uma pesquisa de fan-out ISOLADO por persona (mede sem convergência). A PERGUNTA do usuário NÃO é enviada ao servidor (privacidade): você a classifica localmente pela 'fronteira' e a injeta você mesmo em cada pacote. Sorteia N personas e devolve UM pacote por persona (ficha + formato de resposta) + o protocolo para o HOST disparar UMA tarefa/subagente isolado por pacote — cada um responde só a SUA persona, sem ver as outras. A agregação é feita LOCALMENTE; o servidor não recebe nem armazena nenhuma resposta. Formatos: 'escolha' (opção única → distribuição), 'pontuar' (nota 0-10 por atributo → média+desvio por opção, recomendado para 'o que importa mais' e mais robusto a colapso), 'escala' e 'aberta'. Pode filtrar o segmento (classe, idade, região, etc.) pela DSL.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"formato":{"default":"escolha","description":"escolha=opção única fechada (gera distribuição, mas pode colapsar em amostra enviesada); pontuar=cada persona dá nota 0-10 a CADA opção (gera média+desvio por opção, preserva a preferência secundária — recomendado para 'o que importa mais'); escala=uma nota numérica; aberta=sem número, só temas/verbatim.","type":"string","enum":["escolha","pontuar","escala","aberta"]},"opcoes":{"description":"Opções fechadas quando formato='escolha' ou 'pontuar'. Ex.: ['Versão A', 'Versão B']","type":"array","items":{"type":"string"}},"escala_min":{"description":"Mínimo da escala quando formato='escala' (ex.: 1).","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"escala_max":{"description":"Máximo da escala quando formato='escala' (ex.: 5).","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"filtro":{"description":"Filtro DSL do segmento — recorta por classe, idade, região, banco, dívida, etc. Ex.: \"classe_social in ['Classe A'; 'Classe B'] & idade > 30 & se_investe == 'Sim'\". Vazio = população toda.","type":"string"},"n":{"default":12,"description":"Quantas personas sortear (teto 30, para proteger a base e o custo de tokens do host).","type":"integer","minimum":1,"maximum":30},"seed":{"description":"Opcional. Por padrão o sorteio é ALEATÓRIO e o seed usado é devolvido no resultado — salve-o para reproduzir a MESMA amostra depois. Passe um número só se quiser repetir uma amostra específica.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sortear_amostra","description":"Sorteia uma amostra aleatória de personas (opcionalmente dentro de um filtro DSL). O painel já reflete as distribuições reais, então a amostra uniforme é representativa do recorte.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"n":{"type":"integer","minimum":1,"maximum":50,"description":"Tamanho da amostra"},"filtro":{"description":"Filtro DSL opcional","type":"string"},"seed":{"description":"Semente para reprodutibilidade","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["n"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"visao_geral","description":"Visão geral do Painel Sintético Concorde: o que é, contagens, campos disponíveis das personas e como usar as demais ferramentas. Chame primeiro.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":87,"grade":"A","scanned_at":"2026-09-26T05:11:32.018Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T05:11:32.074Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1888ms"]},"poisoning":{"score":15,"max":15,"notes":["10 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":12,"max":15,"notes":["last push 65 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://painel.concorde-painel.workers.dev/mcp","reachable":true,"authRequired":false,"latencyMs":1888,"serverInfo":{"name":"painel-sintetico-concorde","version":"1.0.0"}}],"packages":[],"repo":{"found":true,"owner":"caio-sartoratto","repo":"painel-sintetico-mcp","archived":false,"pushedAt":"2026-07-23T01:44:34Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/134351391?v=4","ownerCreatedAt":"2023-05-23T02:36:47Z","license":"NOASSERTION"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"NOASSERTION","lastPushAt":"2026-07-23T01:44:34.000Z","score":15}}}},"grade_history":[],"reviews":[]}