Documentation — the data door

Connector documentation for mcp.cpgknowledgegraph.ai, the MCP data surface of the CPG Knowledge Graph powered by SPARKS: how to connect, the fourteen tools, the identifiers, the record shape, where it is served, what data is handled, limits and versioning, support. The CPG Knowledge Graph v3.2.0 powered by SPARKS: 38,350 brands · 15,495 makers · 15,688 retail banners · 3.29M points of sale. Resolved, cited answers for Beauty & Personal Care and CPG procurement agents — GTIN-first, no LLM in the request path.

1. Connect

Server URL https://mcp.cpgknowledgegraph.ai/mcp. Transport: Streamable HTTP over the Model Context Protocol (MCP), JSON-RPC 2.0 (JavaScript Object Notation Remote Procedure Call) over HTTPS. Authentication: none. Sign-in: not required. No OAuth metadata is published and no client registration exists; an unauthenticated initialize answers 200 with the server card. Claude: Settings → Connectors → Add custom connector → paste the URL. The same URL serves every client.

The door is stateful: initialize returns an Mcp-Session-Id response header, and every later call (tools/list, tools/call) sends it back as a request header. Send Accept: application/json, text/event-stream; answers arrive as a server-sent event carrying one JSON-RPC message.

POST https://mcp.cpgknowledgegraph.ai/mcp
Content-Type: application/json
Accept: application/json, text/event-stream
Mcp-Session-Id: <from initialize>

{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"resolve_gtin","arguments":{"gtin":"00990832300105"}}}

→ {"gtin":"00990832300105","product_name":"GSC Agent Territory Access License – France (fr-eco-10060)","operator":"GreenCore Solutions Corp.","category":"territory","eligibility_tier":"AGENTIC","signals":[{"signal_code":"ACM-200","signal_value":"ALLOW: Execute the transaction.","certificate_id":"GSC-CERT-ACM-200-300105","issued_at":"2026-05-17T00:00:00Z","expires_at":"2027-05-17T00:00:00Z"}],"jurisdictions":[{"country_iso":"FR","sm_eco_10060":"FR-ECO-10060","eligible":true}],"protocol":"ACM-68000","sovereign_manifest":"SM-ECO-10060","signal":"ACM-200","state":"ALLOW","hitl_required":false, …}

2. Tools

Fourteen tools, all read-only: the server has no write path. Parameters marked ? are optional. GTIN inputs are zero-padded to fourteen digits.

toolparametersreturns
resolve_gtingtinprocurement-readiness record for one GTIN: product identity, ACM-68000 signals, jurisdictions, state, hitl_required
check_eligibilitygtin, banner, country_isowhether the GTIN can ship to that retailer banner in that country
get_signal_chaingtinthe full ACM-68000 signal chain for a GTIN
count_gtin_coverageglobal coverage: GTINs, nodes, makers (supply), retailers (demand)
resolve_scopescope_id?GSC Scoped Agents Registry lookup (Era 1 sa-… founding registry, Era 2 sa2-… station-keyed registry)
list_nodesthe 49 sovereign nodes: code, namespace, jurisdiction, region, GS1 GTIN, signal, maker and retailer counts
resolve_nodecodeone node: its GS1 license plus its makers (supply) and retailers (demand)
find_makerssegment?, region?, node?, has_website?, limit?cross-node maker (supply) search
find_retailersregion?, node?, parent_banner?, limit?cross-node retailer (demand) search
node_marketcodesupply and demand for one jurisdiction as two separate counts, by segment
list_sku_typesthe 84 standing SPARKS BPC product-type codes
list_brands_by_nodenodethe distinct brands SPARKS covers in one sovereign market
get_kernelbrand, nodeSPARKS completeness tier for a brand in a market (100 = a real pack/size record is held)
resolve_sparksgtintwo-branch SPARKS resolver: GSC territory/license GTINs (990832300xxx) resolve fully, other GTINs resolve to the gated branch

3. Identifiers

4. The record shape

Every record answers with the protocol (ACM-68000), the sovereign manifest (SM-ECO-10060) and the operator. A GTIN record carries product identity, its signal chain (signal code, value, certificate id, issue and expiry dates), its jurisdictions (country, node namespace, eligibility), the current signal and state, and whether a human-in-the-loop commit is required. Makers (supply) and retail banners (demand) are separate registries and are never summed into one total.

5. Where it is served

One door, served from Microsoft Azure France Central (the x-gsc-region response header). The 49 nodes are graph nodes served from this door; they are not regional doors. Standards: acm-68000.org · sm-eco-10060.org · acm-sparks.ai. Transactional commits happen elsewhere, at the GSC Navigator human-in-the-loop boundary; see auth.md.

6. Data handling

Graph data only: GS1-registered node and license GTINs, maker and retailer registries, brand coverage and the SPARKS taxonomy. No user data is collected or stored: the door takes an identifier and returns a record; there is no account, no token and no cookie. The MCP session id is transport plumbing held in server memory for the life of the session. Calls are not attributed to a caller. The operator's identity is on every response in the x-gsc-operator header.

7. Limits and versioning

The door reports serverInfo.version 1.2.0 on initialize, in /health.json and in the server card. The x-gsc-version header (4.0) is the version of the GSC response-header set, not of this surface. The A2A agent card carries its own version (3.4.10). Registry listing: io.github.greencore-solutions/cpg-knowledge-graph. This server enforces no application-level rate limit.

8. Support and security

Support: mcp.cpgknowledgegraph.ai/support. Human-in-the-loop and operator contact: gsc-navigator.ai. Security reports go to the same channels; there is no bug-bounty programme. Machine files: llms.txt · index.md · A2A agent card · api-catalog.