gs1br
mcp-gs1br
Model Context Protocol (MCP) server for the GS1 Brasil — Verified by GS1 API.
Consulta dados autoritativos de produtos a partir do GTIN (EAN-8, UPC-A, EAN-13, ITF-14): marca, descrição, GPC, NCM, CEST, imagens, peso, dimensões, licenciado. Cobre a base nacional (Cadastro Nacional de Produtos – CNP) e a base internacional (GS1 Registry Platform).
Pré-requisitos
Ser associado GS1 Brasil.
Aceitar o termo de uso em https://verifiedbygs1.gs1br.org/.
Solicitar liberação de acesso em https://fs8.formsite.com/gsurvey/cfw75k23hq/index.
Receber da GS1 Brasil seu
client_ideclient_secret.
Depois disso você usa o mesmo username/password do portal CNP / Verified by GS1 como credenciais OAuth.
Instalação
cd mcp-gs1br
npm install
npm run buildConfiguração
Exporte as credenciais como variáveis de ambiente:
Variável | Obrigatória | Descrição |
| sim | Client ID recebido da GS1 Brasil |
| sim | Client Secret recebido da GS1 Brasil |
| sim | E-mail do usuário CNP / Verified by GS1 |
| sim | Senha do mesmo usuário |
| não |
|
Registrar como MCP no Claude Code
.claude/mcp.json ou equivalente:
{
"mcpServers": {
"gs1br": {
"command": "node",
"args": ["/caminho/absoluto/para/mcp-gs1br/dist/index.js"],
"env": {
"GS1BR_CLIENT_ID": "...",
"GS1BR_CLIENT_SECRET": "...",
"GS1BR_USERNAME": "seu@email",
"GS1BR_PASSWORD": "...",
"GS1BR_ENV": "production"
}
}
}
}Claude Desktop
No claude_desktop_config.json:
{
"mcpServers": {
"gs1br": {
"command": "node",
"args": ["/caminho/absoluto/para/mcp-gs1br/dist/index.js"],
"env": { "GS1BR_CLIENT_ID": "...", "GS1BR_CLIENT_SECRET": "...", "GS1BR_USERNAME": "...", "GS1BR_PASSWORD": "..." }
}
}
}Tools expostas
gs1_validate_check_digit
Valida localmente o dígito verificador (módulo 10) de um GTIN. Não consome a API. Útil para filtrar leituras ruins antes de gastar quota.
{ "gtin": "7898357416086" }gs1_verify_gtin
Consulta um GTIN e retorna um resumo normalizado:
{
"gtin": "7898357416086",
"found": true,
"source": "national",
"status": "Válido",
"brand": "GS1 Brasil",
"description": "GS1 Brasil Tênis de Corrida Style Azul com Branco Tamanho 37",
"gpcCategoryCode": "10001070",
"gpcCategoryName": "Calçados Esportivos - Uso Geral",
"ncm": "0000.00.00",
"cest": "28.059.00",
"imageUrls": ["https://cnp30blob.blob.core.windows.net/cnp3files/..."],
"grossWeight": { "value": 2.8, "unitCode": "KGM" },
"netWeight": { "value": 2.8, "unitCode": "KGM" },
"netContent": { "value": 1, "unitCode": "EA" },
"dimensions": {
"height": { "value": 40, "unitCode": "CMT" },
"width": { "value": 17, "unitCode": "CMT" },
"depth": { "value": 10, "unitCode": "CMT" }
},
"licensee": {
"name": "GS1 BRASIL - ASSOCIACAO BRASILEIRA DE AUTOMACAO",
"licenseType": "GCP",
"managingOrganization": "GS1 Brasil"
},
"syncInformationCCG": true,
"raw": { ... }
}Campos podem vir vazios dependendo do perfil de consulta contratado (Verificação, Verificação + Nacional, Verificação + Internacional, Nacional + Internacional).
gs1_verify_gtin_raw
Mesmo que acima, mas retorna o JSON cru da API GS1 (array com dadosInternacionais, dadosNacionais, verificacao).
gs1_enrich_many
Enriquece um lote de até 25 GTINs sequencialmente. Filtra localmente dígitos verificadores inválidos para economizar requests.
{ "gtins": ["7898357416086", "4006381333931", "..."] }Por baixo dos panos
OAuth 2.0 password grant contra
POST {host}/oauth/access-token, headerAuthorization: Basic base64(client_id:client_secret), body JSON{grant_type, username, password}.Token cache em memória, TTL 3h (expires_in = 10800). Reautenticação automática em 401/403.
Consulta:
GET {host}/provider/v2/verified?gtin={GTIN}com headersclient_ideaccess_token.Hosts:
https://api.gs1br.org(produção)https://api-hml.gs1br.org(homologação)
Erros comuns
Código HTTP | Situação |
200 | Sucesso |
400 | Requisição inválida |
403 | Usuário sem autorização para o recurso |
404 | GTIN não encontrado |
500 | Erro interno GS1 |
Códigos de negócio (returnCode / returnCodeDescription) retornados dentro do payload quando o GTIN é internacional — vide manual oficial R1.3.
Referências
Portal API GS1 Brasil: https://portalapi.gs1br.org/
Manual R1.3 (PDF): Manual de Uso da API Verified by GS1 R1.3
Manual CNP (PDF): API de Cadastro e Consulta CNP v3
Licença
MIT.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Bling ERP (SMB and e-commerce management, by Locaweb) via the official v3 API, sales orders, product
Manage products, EU Digital Product Passports, operator parties, and GS1 EPCIS supply-chain events.
Correios: CEP, official-source lookup. Platform-hosted, pay per query with prepaid credit.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vertexdevs-hq/mcp-gs1br'
If you have feedback or need assistance with the MCP directory API, please join our Discord server