VitrinRetail MCP
Dois servidores MCP sobre Streamable HTTP. Conecte agentes de IA aos dados de Visual Management e Checklists da plataforma VitrinRetail sem expor credenciais no código.
Visão geral
Ambos os servidores implementam o transporte MCP Streamable HTTP. A primeira requisição POST /mcp autentica e abre uma sessão; as subsequentes reutilizam o token de sessão retornado no header mcp-session-id.
| Servidor | Endpoint | Porta | Ferramentas |
|---|---|---|---|
| vm-mcp | https://mcp-vm.vitrineretail.app/mcp | 3001 | 26 |
| checklist-mcp | https://mcp-checklist.vitrineretail.com/mcp | 3002 | 19 |
Autenticação
As credenciais são enviadas apenas na primeira requisição — a que inicia a sessão MCP. Não há rota separada de login; o próprio handshake MCP autentica o cliente.
Envie as credenciais nos headers
Na primeira POST /mcp (sem mcp-session-id), inclua os headers abaixo. O servidor autentica na API VitrinRetail e abre uma sessão MCP.
Capture o mcp-session-id da resposta
O header mcp-session-id na resposta contém o ID da sessão. Use-o em todas as requisições subsequentes.
Reutilize a sessão
As próximas chamadas precisam apenas do mcp-session-id. O token de autenticação fica em memória no servidor — não circula pelo cliente após o handshake.
Headers obrigatórios — 1ª requisição
| Header | Tipo | Descrição |
|---|---|---|
| x-api-email | obrigatório | E-mail da conta VitrinRetail |
| x-api-password | obrigatório | Senha da conta VitrinRetail |
| Content-Type | obrigatório | application/json |
| Accept | opcional | application/json, text/event-stream |
Fluxo interno de autenticação
Ao receber as credenciais no handshake, cada servidor faz login na API correspondente e armazena o Bearer token em memória para a sessão. Em caso de resposta 401, o token é descartado e o login é refeito automaticamente.
// Body (JSON)
{
"email": "<x-api-email>",
"password": "<x-api-password>"
}
// Resposta
{ "token": "eyJ..." }
Token usado como Authorization: Bearer <token> em todas as chamadas REST à API de VM.
// Mutation GraphQL
mutation {
login(params: {
email: "<x-api-email>"
password: "<x-api-password>"
scope: ["offline_access"]
}) { access_token }
}
// Resposta
{ "login": { "access_token": "eyJ..." } }
Token usado como Authorization: Bearer <access_token> nas queries GraphQL em checklist-api.vitrineretail.com/v1/graphql.
Gerenciamento de sessão
| Header | Direção | Descrição |
|---|---|---|
| mcp-session-id | Response ← servidor | Retornado na 1ª resposta. Persista este valor. |
| mcp-session-id | Request → servidor | Envie em todas as requisições subsequentes. |
VM MCP — Visual Management
26 ferramentas para análise de indicadores de Visual Management, manuais de espaço, galerias de mídia e evidências de aprovação.
Indicadores
Grupos & Lojas
Manuais
Espaços
Galeria & Evidências
Checklist MCP
19 ferramentas para gestão de checklists, execuções e planos de ação. Internamente utiliza GraphQL (Hasura).
Listagens
Execuções de Checklist
Planos de Ação
Exemplos — cURL
Iniciar sessão VM MCP
curl -X POST https://mcp-vm.vitrineretail.app/mcp \
-H "Content-Type: application/json" \
-H "x-api-email: SEU_EMAIL" \
-H "x-api-password: SUA_SENHA" \
-D - \
-d '{"jsonrpc":"2.0","method":"initialize","id":1,"params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0"}}}'
Chamar ferramenta com sessão ativa
curl -X POST https://mcp-vm.vitrineretail.app/mcp \
-H "Content-Type: application/json" \
-H "mcp-session-id: <SESSION_ID_RETORNADO>" \
-d '{"jsonrpc":"2.0","method":"tools/call","id":2,"params":{"name":"listar_manuais","arguments":{}}}'
Buscar execuções — Checklist MCP
curl -X POST https://mcp-checklist.vitrineretail.com/mcp \
-H "Content-Type: application/json" \
-H "mcp-session-id: <SESSION_ID>" \
-d '{"jsonrpc":"2.0","method":"tools/call","id":3,"params":{"name":"buscar_execucoes_checklist","arguments":{"checklist_ids":[42],"execution_state_id":5,"limit":100}}}'
Exemplos — JavaScript fetch
// 1. Iniciar sessão
const initRes = await fetch('https://mcp-vm.vitrineretail.app/mcp', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-email': process.env.VR_EMAIL,
'x-api-password': process.env.VR_PASSWORD,
},
body: JSON.stringify({
jsonrpc: '2.0', method: 'initialize', id: 1,
params: {
protocolVersion: '2024-11-05',
capabilities: {},
clientInfo: { name: 'my-client', version: '1.0' },
},
}),
});
const sessionId = initRes.headers.get('mcp-session-id');
// 2. Chamar ferramenta
const toolRes = await fetch('https://mcp-vm.vitrineretail.app/mcp', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'mcp-session-id': sessionId,
},
body: JSON.stringify({
jsonrpc: '2.0', method: 'tools/call', id: 2,
params: { name: 'indicadores_lojas', arguments: {
startDate: '2025-01-01',
endDate: '2025-01-31',
} },
}),
});
const data = await toolRes.json();
console.log(data.result.content[0].text);
Guia de Uso no ChatGPT, Claude e Gemini
Antes de começar
Confirme que você tem o que é necessário
E-mail e senha fornecidos pelo administrador da Vitrine Retail.
Plano Pro obrigatório para usar MCPs no ChatGPT. Claude.ai e Gemini podem funcionar em planos gratuitos (verifique disponibilidade).
Checklist MCP — visitas, checklists, avaliações. VM MCP — acesso a dados estruturados via ferramentas.
ChatGPT — ativar o Modo Developer
Necessário para adicionar servidores MCP externos
Abra as configurações do ChatGPT e ative o modo Developer para que o botão de MCPs apareça.
Configurações
Montar a URL de conexão
Escolha o MCP e insira suas credenciais para gerar a URL
🔒 Suas credenciais não são salvas nem enviadas — a URL é montada localmente no seu navegador.
Instalar no ChatGPT
Adicionar o servidor MCP na interface web do ChatGPT
Com o modo Developer ativo, clique no botão + no canto superior direito de uma nova conversa e selecione Add MCP Server.
Cole a URL completa (com e-mail e senha já codificados) no campo URL do servidor. O ChatGPT se conectará automaticamente.
Instalar no Claude.ai
Adicionar via Configurações → Integrações
No Claude.ai, abra Configurações → Integrações e clique em Adicionar integração. Cole a URL gerada no passo 3 e confirme.
Liste todas as ferramentas disponíveis neste MCP.
Quais são as últimas visitas registradas?
Instalar no Gemini
Adicionar via Extensions ou Configurações
No gemini.google.com, acesse as configurações de Extensions e procure a opção de adicionar um servidor MCP externo (pode ser chamado de Tools ou MCP Connections dependendo da versão do Gemini disponível para sua conta). Cole a URL do passo 3.
O suporte a MCP no Gemini ainda está em rollout. Se não encontrar a opção de MCP, aguarde a atualização chegar à sua conta.
Mostre os indicadores de qualidade da última semana.
Quais lojas têm mais checklists pendentes?
Usar em uma conversa
Exemplos de perguntas para fazer ao AI
Com o MCP conectado, você pode fazer perguntas em linguagem natural. O AI usará as ferramentas disponíveis para buscar os dados e responder.
Quais lojas tiveram mais visitas nos últimos 7 dias?
Mostre um resumo do checklist da loja com pior desempenho.
Gere um relatório comparando os indicadores de qualidade desta semana com a semana passada.
Liste todas as ferramentas disponíveis neste servidor MCP.
Solução de problemas
Verifique se a URL está correta e se as credenciais estão certas. Tente copiar a URL novamente no passo 3 e adicionar uma nova conexão.
Certifique-se de que o modo Developer está ativado em Configurações e que você está em uma nova conversa (não em uma conversa existente).
O suporte ainda está em rollout. Verifique se há atualização disponível para sua conta ou aguarde a liberação para sua região.
Entre em contato com o administrador da Vitrine Retail para verificar seu acesso. Lembre-se de que as credenciais são sensíveis — não as compartilhe.