gs1br
Enables querying authoritative product data from GS1 Brasil's Verified by GS1 API via GTIN, including brand, description, classifications, images, weights, dimensions, and licensee details, with support for national and international bases and batch enrichment.
README
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 build
Configuração
Exporte as credenciais como variáveis de ambiente:
| Variável | Obrigatória | Descrição |
|---|---|---|
GS1BR_CLIENT_ID |
sim | Client ID recebido da GS1 Brasil |
GS1BR_CLIENT_SECRET |
sim | Client Secret recebido da GS1 Brasil |
GS1BR_USERNAME |
sim | E-mail do usuário CNP / Verified by GS1 |
GS1BR_PASSWORD |
sim | Senha do mesmo usuário |
GS1BR_ENV |
não | production (padrão) ou homologacao |
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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。