Este subdomínio é o servidor MCP do GenOpt.ai. Ele expõe, por
JSON-RPC sobre HTTPS, as mesmas evidências forenses que o GenOpt coleta sobre o que as IAs
generativas (ChatGPT, Gemini, Claude, Grok, Perplexity, DeepSeek, Mistral, Llama, Google AI Overviews e AI Mode)
dizem — e inventam — sobre marcas. Endpoint JSON-RPC: https://mcp.genopt.ai/api/mcp. Se você chegou
aqui por um navegador, esta página explica o que isso significa e como conectar o seu cliente
em menos de cinco minutos.
O Model Context Protocol (MCP) é um protocolo aberto, criado pela Anthropic e adotado pelo ecossistema (Claude, Cursor, Windsurf, Continue, Cline, entre outros), que padroniza a forma como assistentes de IA conversam com sistemas externos. Antes do MCP, cada integração entre um assistente e uma ferramenta era um plugin proprietário: o que funcionava no ChatGPT não funcionava no Claude, e vice-versa. O MCP resolve isso do mesmo jeito que o USB resolveu o cabo de impressora: um contrato único, descoberta automática de capacidades e transporte simples (aqui, HTTP com JSON-RPC 2.0).
Na prática, um servidor MCP publica um catálogo de tools — funções com nome, descrição e schema de parâmetros. O cliente (o Claude Desktop, por exemplo) lê esse catálogo no handshake inicial e, a partir daí, o modelo decide sozinho quando chamar cada tool durante a conversa. Você não digita comandos: você conversa, e o assistente busca o dado onde ele mora.
O handshake tem três passos: initialize (versão do protocolo e
capacidades), tools/list (o catálogo) e, daí em diante,
tools/call para cada uso real. Neste servidor, initialize e
tools/list são públicos — descoberta não toca dado — e as
chamadas de tool exigem token, com uma exceção pública descrita abaixo.
O GenOpt mede, com metodologia declarada e hash criptográfico, o que as IAs afirmam sobre marcas: quando citam, quando ignoram e — o caso mais grave — quando confabulam: afirmam com confiança coisas que nunca aconteceram, como preços inventados, nacionalidade errada ou funcionalidades que o produto não tem. Cada resposta coletada vira uma evidência imutável: o texto bruto, o engine, o modelo, o momento da coleta e um hash SHA-256 que permite a qualquer pessoa verificar depois que nada foi editado.
Evidência forense só tem valor se for verificável por terceiros. É aí que o MCP entra: em vez de exportar um PDF e pedir que acreditem, o GenOpt expõe a verificação como tools que qualquer assistente compatível consegue chamar. O advogado que recebeu um relatório pode pedir ao próprio Claude que confira o hash. O time de marketing pode perguntar "o que o Grok anda inventando sobre a gente?" dentro do Cursor, sem abrir dashboard. O auditor externo verifica a integridade da evidência sem depender da nossa UI — o que é exatamente o ponto de uma cadeia de custódia.
Em resumo: o dashboard mostra; o MCP prova sob demanda, no fluxo de trabalho de quem precisa da prova.
| Tool | O que faz | Auth |
|---|---|---|
search_brand | Busca marca monitorada por trecho do nome ou do domínio; devolve os ids usados pelas demais tools. | Bearer |
get_confabulations | Lista as confabulações detectadas para uma marca, com filtros por engine, intenção do prompt e janela temporal (7d/30d/all). | Bearer |
verify_evidence | Recomputa o hash SHA-256 de uma evidência e compara com o registrado — o veredito de integridade. | Bearer |
get_evidence | Devolve a metadata completa de uma evidência: engine, modelo, prompt, timestamps e hash. | Bearer |
check_public_hash | Consulta pública por hash: dado um SHA-256, confirma se existe evidência com aquele hash e devolve a metadata pública. Não exige token — verificação de terceiros não pode depender de conta. | Pública |
Com o servidor conectado, a interação é linguagem natural. Um exemplo típico de verificação de evidência por terceiro:
Você: Recebi um relatório do GenOpt que cita a evidência com hash
3f9a1c…e77b. Verifique no GenOpt se esse hash existe e o que ele registra.
[Claude chama a tool check_public_hash com o hash informado]
Claude: Verifiquei no servidor MCP do GenOpt. O hash corresponde a uma evidência válida: resposta do engine GROK coletada em 07/08/2026 às 14:07 UTC, prompt de intenção DEFENSIVE sobre a marca Roboxy, classificada como CONFABULATED — o modelo afirmou que a plataforma seria chinesa, o que contradiz o ground truth registrado (empresa brasileira, fonte: CNPJ). O hash recomputado bate com o registrado, ou seja, o conteúdo não foi alterado desde a coleta.
Você: E quantas confabulações essa marca teve nos últimos 30 dias?
[Claude chama search_brand e depois get_confabulations — esta parte exige Bearer token]
O primeiro passo funciona sem conta nenhuma: check_public_hash é
pública por desenho. O segundo exige um token de API do GenOpt.
O cliente MCP fala JSON-RPC com mcp.genopt.ai; o nginx proxeia para a API
(Fastify), que responde as tools lendo o Postgres — onde vivem evidências, hashes e
classificações — e o estado das filas BullMQ no Redis, alimentadas pelo worker que
faz as coletas. O servidor MCP não é um processo separado: é uma superfície
da mesma API auditada, com os mesmos dados e o mesmo controle de acesso.
O transporte é "streamable HTTP": um único endpoint POST, sem SSE obrigatório.
As tools privadas exigem o header Authorization: Bearer SEU_TOKEN. Tokens de API
(prefixo gsk_) são emitidos no app do GenOpt; initialize,
tools/list e check_public_hash funcionam sem token. Trate o token como
senha: ele identifica a sua organização.
Duas opções. A mais simples, em versões recentes: adicionar um conector
remoto pela interface (Settings → Connectors) apontando para https://mcp.genopt.ai/api/mcp.
Alternativamente, via claude_desktop_config.json com a ponte
mcp-remote (servidor remoto exposto como stdio):
{
"mcpServers": {
"genopt": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.genopt.ai/api/mcp",
"--header",
"Authorization: Bearer SEU_TOKEN"
]
}
}
}
Arquivo .cursor/mcp.json (por projeto) ou ~/.cursor/mcp.json (global):
{
"mcpServers": {
"genopt": {
"url": "https://mcp.genopt.ai/api/mcp",
"headers": {
"Authorization": "Bearer SEU_TOKEN"
}
}
}
}
Windsurf suporta servidores MCP remotos; a sintaxe exata do campo de URL varia por versão — consulte a doc do cliente. O essencial é sempre o mesmo (URL + header Bearer):
{
"mcpServers": {
"genopt": {
"url": "https://mcp.genopt.ai/api/mcp",
"headers": {
"Authorization": "Bearer SEU_TOKEN"
}
}
}
}
Continue (VS Code/JetBrains) aceita servidores MCP na configuração; o formato mudou entre as versões JSON e YAML — consulte a doc do cliente para a chave exata. Os dados de que você precisa:
{
"mcpServers": {
"genopt": {
"url": "https://mcp.genopt.ai/api/mcp",
"headers": {
"Authorization": "Bearer SEU_TOKEN"
}
}
}
}
Cline (VS Code) configura MCP em cline_mcp_settings.json; para servidores remotos
a chave exata depende da versão — consulte a doc do cliente. URL e header
são os mesmos:
{
"mcpServers": {
"genopt": {
"url": "https://mcp.genopt.ai/api/mcp",
"headers": {
"Authorization": "Bearer SEU_TOKEN"
}
}
}
}
SEU_TOKEN por um token real emitido no
app do GenOpt. Sem token, só a descoberta e a check_public_hash respondem —
o que já basta para verificar hashes publicamente.O botão abaixo faz, do seu próprio navegador, um POST /api/mcp
com o método initialize — sem token, sem instalar nada — e mostra a resposta
JSON-RPC crua. É o mesmo primeiro passo que o seu cliente MCP executaria:
A resposta aparece aqui.
Jurídico e compliance. Uma confabulação de IA sobre uma empresa — um preço inventado, uma acusação falsa, uma nacionalidade errada — pode virar peça de notificação extrajudicial ou de ação por dano reputacional. O problema clássico é a prova: um print de tela não demonstra quando a resposta foi gerada nem que não foi editada. Com o MCP, o advogado cola o hash do relatório no assistente que já usa e recebe, em segundos, a confirmação de existência, o timestamp da coleta e o veredito de integridade — sem depender de quem produziu o relatório.
Marketing e comunicação. O time que gerencia a marca pergunta, no meio do trabalho, "o que o Gemini respondeu esta semana quando perguntaram sobre a gente?" e recebe a lista de confabulações com engine, data e trecho — matéria-prima imediata para decidir onde intervir (conteúdo, FAQ, pre-render, resposta oficial). O GenOpt mede o antes e o depois da intervenção com re-scans agendados; o MCP deixa essa leitura à distância de uma frase.
Agências e consultorias. Quem cuida de várias marcas pode integrar as tools ao seu próprio fluxo (Cursor, Cline, agentes internos) e montar rotinas: varrer confabulações novas por cliente, gerar resumo semanal, abrir tarefa quando surgir afirmação de alto impacto. A API por trás é a mesma do dashboard — o MCP só remove a fricção de integração.
Auditores e peritos. A tool pública existe para o ceticismo profissional: qualquer pessoa com o hash consegue verificar a evidência sem conta, sem comercial, sem pedir permissão. Auditoria que depende de boa vontade do auditado não é auditoria.
Cada resposta coletada pelo GenOpt gera um registro com o texto integral devolvido pelo
provedor, o engine e o modelo exatos, o prompt disparado, os timestamps de requisição
e resposta e as citações retornadas. Sobre a forma canônica desse registro
calcula-se um SHA-256 — o mesmo tipo de hash usado em perícia digital. Alterar uma
vírgula do conteúdo muda o hash por completo; é isso que
verify_evidence confere ao recomputar e comparar.
Importante para a honestidade do sistema: o hash prova integridade (o registro não mudou desde a coleta), não prova reprodutibilidade (o modelo pode responder diferente amanhã — modelos são estocásticos e mudam de versão). Por isso o GenOpt também faz reverificação: repete o prompt fora da janela de cache e registra se a confabulação se reproduz, gerando uma segunda evidência com o próprio hash. Confabulação reproduzida em dois momentos distintos é um achado muito mais forte do que uma resposta isolada — e as duas provas ficam consultáveis por aqui.
A classificação (citou correto, ignorou, confabulou) também não é opinião solta: ela compara a resposta com o ground truth da marca — fatos coletados de fontes verificáveis (CNPJ na Receita Federal, Wikipedia, site institucional), cada um com fonte, URL e data de coleta registradas. Quando a classificação é ambígua, um modelo-juiz decide e o caso fica marcado como tal. Metodologia declarada > número bonito.
Isso é grátis? A descoberta e a verificação pública de hash, sim. As tools de consulta por marca acompanham os planos com acesso MCP do GenOpt.
Preciso rodar algum servidor local? Não. Este é um servidor
remoto: seu cliente conecta direto por HTTPS. A ponte mcp-remote só entra em
clientes que ainda falam apenas stdio.
Que dados o servidor vê das minhas conversas? Somente as chamadas de tool que o seu assistente decidir fazer (método, parâmetros e token). O resto da conversa nunca chega aqui.
Qual a diferença entre este servidor e a API REST? Nenhuma nos dados: as duas superfícies leem o mesmo banco, com o mesmo controle de acesso. A API REST (OpenAPI 3.1, link no rodapé) é para integração programática tradicional; o MCP é para assistentes de IA decidirem sozinhos quando consultar. Use o que couber no seu fluxo — ou os dois.
O servidor guarda log das chamadas? Sim, como toda a API do GenOpt: chamadas autenticadas entram no audit log da organização (quem, o quê, quando). É parte da mesma postura forense aplicada a nós mesmos.
Por que confiar nos hashes? Não pedimos que confie: recompute. O
conteúdo canônico de cada evidência e o algoritmo (SHA-256) são
documentados — verify_evidence faz a conta na hora e a
check_public_hash permite a auditoria por quem não é cliente.