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.
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, …}Fourteen tools, all read-only: the server has no write path. Parameters marked ? are optional. GTIN inputs are zero-padded to fourteen digits.
| tool | parameters | returns |
|---|---|---|
resolve_gtin | gtin | procurement-readiness record for one GTIN: product identity, ACM-68000 signals, jurisdictions, state, hitl_required |
check_eligibility | gtin, banner, country_iso | whether the GTIN can ship to that retailer banner in that country |
get_signal_chain | gtin | the full ACM-68000 signal chain for a GTIN |
count_gtin_coverage | — | global coverage: GTINs, nodes, makers (supply), retailers (demand) |
resolve_scope | scope_id? | GSC Scoped Agents Registry lookup (Era 1 sa-… founding registry, Era 2 sa2-… station-keyed registry) |
list_nodes | — | the 49 sovereign nodes: code, namespace, jurisdiction, region, GS1 GTIN, signal, maker and retailer counts |
resolve_node | code | one node: its GS1 license plus its makers (supply) and retailers (demand) |
find_makers | segment?, region?, node?, has_website?, limit? | cross-node maker (supply) search |
find_retailers | region?, node?, parent_banner?, limit? | cross-node retailer (demand) search |
node_market | code | supply and demand for one jurisdiction as two separate counts, by segment |
list_sku_types | — | the 84 standing SPARKS BPC product-type codes |
list_brands_by_node | node | the distinct brands SPARKS covers in one sovereign market |
get_kernel | brand, node | SPARKS completeness tier for a brand in a market (100 = a real pack/size record is held) |
resolve_sparks | gtin | two-branch SPARKS resolver: GSC territory/license GTINs (990832300xxx) resolve fully, other GTINs resolve to the gated branch |
990832300.list_nodes (for example FR); each node carries the namespace <cc>-eco-10060 under the sovereign manifest SM-ECO-10060.find_retailers, and a two-letter country code.list_brands_by_node.sa-… Era 1, sa2-… Era 2).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.
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.
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.
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.
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.