gs1br
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gs1brVerifique o GTIN 7898357416086 e me mostre a marca, descrição e peso"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-gs1br
Model Context Protocol (MCP) server for the GS1 Brasil — Verified by GS1 API.
Queries authoritative product data from the GTIN (EAN-8, UPC-A, EAN-13, ITF-14): brand, description, GPC, NCM, CEST, images, weight, dimensions, licensee. Covers the national database (Cadastro Nacional de Produtos – CNP) and the international database (GS1 Registry Platform).
Prerequisites
Be a GS1 Brasil member.
Accept the terms of use at https://verifiedbygs1.gs1br.org/.
Request access approval at https://fs8.formsite.com/gsurvey/cfw75k23hq/index.
Receive your
client_idandclient_secretfrom GS1 Brasil.
After that, use the same username/password from the CNP / Verified by GS1 portal as OAuth credentials.
Installation
cd mcp-gs1br
npm install
npm run buildConfiguration
Export the credentials as environment variables:
Variable | Required | Description |
| yes | Client ID received from GS1 Brasil |
| yes | Client Secret received from GS1 Brasil |
| yes | CNP / Verified by GS1 user email |
| yes | Same user's password |
| no |
|
Register as MCP in Claude Code
.claude/mcp.json or equivalent:
{
"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
In 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": "..." }
}
}
}Exposed tools
gs1_validate_check_digit
Validates the check digit (modulo 10) of a GTIN locally. Does not consume the API. Useful for filtering out bad reads before spending quota.
{ "gtin": "7898357416086" }gs1_verify_gtin
Queries a GTIN and returns a normalized summary:
{
"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": { ... }
}Fields may come empty depending on the contracted query profile (Verification, Verification + National, Verification + International, National + International).
gs1_verify_gtin_raw
Same as above, but returns the raw JSON from the GS1 API (array with dadosInternacionais, dadosNacionais, verificacao).
gs1_enrich_many
Enriches a batch of up to 25 GTINs sequentially. Locally filters invalid check digits to save requests.
{ "gtins": ["7898357416086", "4006381333931", "..."] }Under the hood
OAuth 2.0 password grant against
POST {host}/oauth/access-token, headerAuthorization: Basic base64(client_id:client_secret), JSON body{grant_type, username, password}.In-memory token cache, TTL 3h (expires_in = 10800). Automatic reauthentication on 401/403.
Query:
GET {host}/provider/v2/verified?gtin={GTIN}withclient_idandaccess_tokenheaders.Hosts:
https://api.gs1br.org(production)https://api-hml.gs1br.org(staging)
Common errors
HTTP Code | Situation |
200 | Success |
400 | Invalid request |
403 | User not authorized for the resource |
404 | GTIN not found |
500 | GS1 internal error |
Business codes (returnCode / returnCodeDescription) returned inside the payload when the GTIN is international — see official manual R1.3.
References
GS1 Brasil API Portal: https://portalapi.gs1br.org/
Manual R1.3 (PDF): Verified by GS1 API User Manual R1.3
CNP Manual (PDF): CNP Registration and Query API v3
License
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