Skip to main content
Glama

mcp-gs1br

Servidor de Model Context Protocol (MCP) para la API GS1 Brasil — Verified by GS1.

Consulta datos autoritativos de productos a partir del GTIN (EAN-8, UPC-A, EAN-13, ITF-14): marca, descripción, GPC, NCM, CEST, imágenes, peso, dimensiones, licenciado. Cubre la base nacional (Cadastro Nacional de Produtos – CNP) y la base internacional (GS1 Registry Platform).

Requisitos previos

  1. Ser asociado de GS1 Brasil.

  2. Aceptar los términos de uso en https://verifiedbygs1.gs1br.org/.

  3. Solicitar la liberación de acceso en https://fs8.formsite.com/gsurvey/cfw75k23hq/index.

  4. Recibir de GS1 Brasil su client_id y client_secret.

Después de eso, usa el mismo username/password del portal CNP / Verified by GS1 como credenciales OAuth.

Instalación

cd mcp-gs1br
npm install
npm run build

Configuración

Exporta las credenciales como variables de entorno:

Variable

Obligatoria

Descripción

GS1BR_CLIENT_ID

Client ID recibido de GS1 Brasil

GS1BR_CLIENT_SECRET

Client Secret recibido de GS1 Brasil

GS1BR_USERNAME

Correo electrónico del usuario CNP / Verified by GS1

GS1BR_PASSWORD

Contraseña del mismo usuario

GS1BR_ENV

no

production (predeterminado) o homologacao

Registrar como MCP en Claude Code

.claude/mcp.json o 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

En 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": "..." }
    }
  }
}

Herramientas expuestas

gs1_validate_check_digit

Valida localmente el dígito verificador (módulo 10) de un GTIN. No consume la API. Útil para filtrar lecturas defectuosas antes de gastar cuota.

{ "gtin": "7898357416086" }

gs1_verify_gtin

Consulta un GTIN y devuelve un resumen 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": { ... }
}

Los campos pueden venir vacíos dependiendo del perfil de consulta contratado (Verificación, Verificación + Nacional, Verificación + Internacional, Nacional + Internacional).

gs1_verify_gtin_raw

Igual que el anterior, pero devuelve el JSON crudo de la API GS1 (array con dadosInternacionais, dadosNacionais, verificacao).

gs1_enrich_many

Enriquece un lote de hasta 25 GTINs secuencialmente. Filtra localmente dígitos verificadores inválidos para ahorrar requests.

{ "gtins": ["7898357416086", "4006381333931", "..."] }

Entre bastidores

  • OAuth 2.0 password grant contra POST {host}/oauth/access-token, header Authorization: Basic base64(client_id:client_secret), body JSON {grant_type, username, password}.

  • Token cache en memoria, TTL 3h (expires_in = 10800). Reautenticación automática en 401/403.

  • Consulta: GET {host}/provider/v2/verified?gtin={GTIN} con headers client_id y access_token.

  • Hosts:

    • https://api.gs1br.org (producción)

    • https://api-hml.gs1br.org (homologación)

Errores comunes

Código HTTP

Situación

200

Éxito

400

Solicitud inválida

403

Usuario sin autorización para el recurso

404

GTIN no encontrado

500

Error interno de GS1

Códigos de negocio (returnCode / returnCodeDescription) devueltos dentro del payload cuando el GTIN es internacional — véase el manual oficial R1.3.

Referencias

Licencia

MIT.

-
license - not tested
Not graded
quality - not tested
C
maintenance

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.

View all MCP Connectors

Latest Blog Posts

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