CPG Knowledge Graph
The MCP for the beauty, cosmetics and personal care sector
사용해야 할까요
품질 및 안전성
발견 사항 (5)
- HIGH
- LOWget_signal_chain에서
- LOWcount_gtin_coverage에서
- LOWlist_brands_by_node에서
- INFOresolve_sparks에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"cpg-knowledge-graph": {
"url": "https://mcp.cpgknowledgegraph.ai/mcp"
}
}
}원격 엔드포인트
https://mcp.cpgknowledgegraph.ai/mcpstreamable-http할 수 있는 일
도구 목록
도구 (14)
🟢resolve_gtin(gtin)
Resolve a GTIN to its procurement readiness signal. Zero-pads input to 14 digits.
입력 스키마
{
"type": "object",
"properties": {
"gtin": {
"description": "GS1 GTIN of the product, 8 to 14 digits; zero-padded to the canonical 14-digit GTIN-14 before lookup (e.g. 00990832300624).",
"type": "string"
}
},
"required": [
"gtin"
]
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢check_eligibility(gtin, banner, country_iso)
Check whether a GTIN can ship to a specific retailer banner in a country.
입력 스키마
{
"type": "object",
"properties": {
"gtin": {
"description": "GS1 GTIN of the product, 8 to 14 digits; zero-padded to the canonical 14-digit GTIN-14 before lookup (e.g. 00990832300624).",
"type": "string"
},
"banner": {
"description": "Retail banner name exactly as registered in the graph (the retailer_name returned by find_retailers).",
"type": "string"
},
"country_iso": {
"description": "ISO 3166-1 alpha-2 code of the selling market (e.g. FR), case-insensitive.",
"type": "string"
}
},
"required": [
"gtin",
"banner",
"country_iso"
]
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢get_signal_chain(gtin)
Return the full ACM-68000 signal chain for a GTIN (zero-pads to 14).
입력 스키마
{
"type": "object",
"properties": {
"gtin": {
"description": "GS1 GTIN of the product, 8 to 14 digits; zero-padded to the canonical 14-digit GTIN-14 before lookup (e.g. 00990832300624).",
"type": "string"
}
},
"required": [
"gtin"
]
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢count_gtin_coverage
Global coverage statistics: GTINs, nodes, makers (supply), retailers (demand).
입력 스키마
{
"type": "object",
"properties": {}
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢resolve_scope(scope_id)
GSC Scoped Agents Registry — Era 1 founding registry (1,000,000 standing) plus Era 2 station-keyed registry (1,000,000 capacity, mint-on-activation) under SM-ECO-10060.
입력 스키마
{
"type": "object",
"properties": {
"scope_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Scoped agent id to resolve: Era 1 sa-{parent}-{jurisdiction}-m{mcp}-{seq} or Era 2 sa2-{namespace}-m{mcp}-d{station}-w{seq}. Omit for the registry summary."
}
}
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢list_nodes
The 49 sovereign nodes (the spine) — each with its GS1 GTIN and CLEAN per-node maker (supply) and retailer (demand) counts (separate subqueries, never summed).
입력 스키마
{
"type": "object",
"properties": {}
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢resolve_node(code)
Resolve one node: its GS1 license + its makers (supply) + its retailers (demand). The market-picture call for a jurisdiction; use this first for 'what does the market look like in X'.
입력 스키마
{
"type": "object",
"properties": {
"code": {
"description": "Sovereign node code: the ISO 3166-1 alpha-2 code of the jurisdiction (e.g. FR, KR, AE), case-insensitive; list_nodes returns the 49 codes.",
"type": "string"
}
},
"required": [
"code"
]
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢find_makers(segment, region, node, has_website, limit)
Global cross-node maker (supply) search. Filter by segment / region / node / has_website.
입력 스키마
{
"type": "object",
"properties": {
"segment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Maker segment label as stored on the registry row (e.g. Haircare, Skincare); exact match. Omit for all segments."
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Region label as stored on the registry row (e.g. EU, ASIA), case-insensitive. Omit for all regions."
},
"node": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Sovereign node code: the ISO 3166-1 alpha-2 code of the jurisdiction (e.g. FR, KR, AE), case-insensitive; list_nodes returns the 49 codes. Omit for all nodes."
},
"has_website": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "true = only makers with a website on record; false = only makers without one; omit for both."
},
"limit": {
"default": 25,
"description": "Maximum rows to return, 1 to 500 (default 25).",
"type": "integer"
}
}
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢find_retailers(region, node, parent_banner, limit)
Global cross-node retailer (demand) search. Filter by region / node / parent_banner.
입력 스키마
{
"type": "object",
"properties": {
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Region label as stored on the registry row (e.g. EU, ASIA), case-insensitive. Omit for all regions."
},
"node": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Sovereign node code: the ISO 3166-1 alpha-2 code of the jurisdiction (e.g. FR, KR, AE), case-insensitive; list_nodes returns the 49 codes. Omit for all nodes."
},
"parent_banner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Parent banner name, case-insensitive substring match (e.g. Carrefour). Omit for all banners."
},
"limit": {
"default": 25,
"description": "Maximum rows to return, 1 to 500 (default 25).",
"type": "integer"
}
}
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢node_market(code)
Supply↔demand bridge for ONE jurisdiction: makers (supply) and retailers (demand) as two separate counts (never summed), plus the same-node potential bridge pairs. The market-picture call for a jurisdiction; use this first for 'what does the market look like in X'.
입력 스키마
{
"type": "object",
"properties": {
"code": {
"description": "Sovereign node code: the ISO 3166-1 alpha-2 code of the jurisdiction (e.g. FR, KR, AE), case-insensitive; list_nodes returns the 49 codes.",
"type": "string"
}
},
"required": [
"code"
]
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢list_sku_types
SPARKS taxonomy: the 84 standing BPC product-type codes the graph is structured on. Validate a type against this before a typed query. (BRAND is a tier, not a type.)
입력 스키마
{
"type": "object",
"properties": {}
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢list_brands_by_node(node)
SPARKS depth surface: the distinct brands SPARKS covers in a sovereign market. Answers 'what brands do you know in [node]'. Coverage only — no pack/size values.
입력 스키마
{
"type": "object",
"properties": {
"node": {
"description": "Sovereign node code: the ISO 3166-1 alpha-2 code of the jurisdiction (e.g. FR, KR, AE), case-insensitive; list_nodes returns the 49 codes.",
"type": "string"
}
},
"required": [
"node"
]
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢get_kernel(brand, node)
SPARKS completeness tier for a brand in a market: 100 = resolvable (a real pack/size record is held) . 8 = registered (brand known, pack/size pending) . 'floor' = STANDARD default (no brand-specific record). Returns the stored tier flag — do NOT compute a score. Never returns a pack/size.
입력 스키마
{
"type": "object",
"properties": {
"brand": {
"description": "Brand name as marketed (e.g. Nivea); normalized exact match, fail-closed.",
"type": "string"
},
"node": {
"description": "Sovereign node code: the ISO 3166-1 alpha-2 code of the jurisdiction (e.g. FR, KR, AE), case-insensitive; list_nodes returns the 49 codes.",
"type": "string"
}
},
"required": [
"brand",
"node"
]
}출력 스키마
{
"type": "object",
"additionalProperties": true
}🟢resolve_sparks(gtin)
Two-branch SPARKS resolver (zero-pads GTIN to 14). Branch A GSC Territory/License GTIN (990832300xxx) -> FULL license record (public). Branch B any third-party BPC GTIN -> GATED proof {recognized, region_node, kernel_available}; the pack/size VALUE is NEVER returned. Route to Navigator. Brand match is fail-closed (normalized exact match); uncertainty -> recognized:false.
입력 스키마
{
"type": "object",
"properties": {
"gtin": {
"description": "GS1 GTIN of the product, 8 to 14 digits; zero-padded to the canonical 14-digit GTIN-14 before lookup (e.g. 00990832300624).",
"type": "string"
}
},
"required": [
"gtin"
]
}출력 스키마
{
"type": "object",
"additionalProperties": true
}커뮤니티
증거