MCPサーバー

CPG Knowledge Graph

io.github.greencore-solutions/cpg-knowledge-graph
コマース・小売 データ・分析 公開・接続可能 MCP 2025-11-25

このMCPでできること

Maps beauty and personal-care brands, makers, retailers, GTINs, markets, procurement readiness, and supply-demand relationships across global market nodes.

check_eligibility
Check banner eligibility
Check whether a GTIN can ship to a specific retailer banner in a country.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['gtin', 'banner', 'country_iso'], 'properties': {'gtin': {'type': 'string', 'description': 'GS1 GTIN of the product, 8 to 14 digits; zero-padded to the canonical 14-digit GTIN-14 before lookup (e.g. 00990832300624).'}, 'banner': {'type': 'string', 'description': 'Retail banner name exactly as registered in the graph (the retailer_name returned by find_retailers).'}, 'country_iso': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 code of the selling market (e.g. FR), case-insensitive.'}}}
出力スキーマ
{'type': 'object', 'additionalProperties': True}
count_gtin_coverage
Count GTIN coverage
Global coverage statistics: GTINs, nodes, makers (supply), retailers (demand).
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'additionalProperties': True}
find_makers
Find makers
Global cross-node maker (supply) search. Filter by segment / region / node / has_website.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'node': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, '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.'}, 'limit': {'type': 'integer', 'default': 25, 'description': 'Maximum rows to return, 1 to 500 (default 25).'}, 'region': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Region label as stored on the registry row (e.g. EU, ASIA), case-insensitive. Omit for all regions.'}, 'segment': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Maker segment label as stored on the registry row (e.g. Haircare, Skincare); exact match. Omit for all segments.'}, 'has_website': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None, 'description': 'true = only makers with a website on record; false = only makers without one; omit for both.'}}}
出力スキーマ
{'type': 'object', 'additionalProperties': True}
find_retailers
Find retailers
Global cross-node retailer (demand) search. Filter by region / node / parent_banner.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'node': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, '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.'}, 'limit': {'type': 'integer', 'default': 25, 'description': 'Maximum rows to return, 1 to 500 (default 25).'}, 'region': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Region label as stored on the registry row (e.g. EU, ASIA), case-insensitive. Omit for all regions.'}, 'parent_banner': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Parent banner name, case-insensitive substring match (e.g. Carrefour). Omit for all banners.'}}}
出力スキーマ
{'type': 'object', 'additionalProperties': True}
get_kernel
Get SPARKS kernel
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', 'required': ['brand', 'node'], 'properties': {'node': {'type': 'string', '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.'}, 'brand': {'type': 'string', 'description': 'Brand name as marketed (e.g. Nivea); normalized exact match, fail-closed.'}}}
出力スキーマ
{'type': 'object', 'additionalProperties': True}
get_signal_chain
Get ACM-68000 signal chain
Return the full ACM-68000 signal chain for a GTIN (zero-pads to 14).
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['gtin'], 'properties': {'gtin': {'type': 'string', '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': 'object', 'additionalProperties': True}
list_brands_by_node
List brands by 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', 'required': ['node'], 'properties': {'node': {'type': 'string', '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': 'object', 'additionalProperties': True}
list_nodes
List sovereign 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}
list_sku_types
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}
node_market
Node market
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', 'required': ['code'], 'properties': {'code': {'type': 'string', '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': 'object', 'additionalProperties': True}
resolve_gtin
Resolve GTIN
Resolve a GTIN to its procurement readiness signal. Zero-pads input to 14 digits.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['gtin'], 'properties': {'gtin': {'type': 'string', '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': 'object', 'additionalProperties': True}
resolve_node
Resolve node
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', 'required': ['code'], 'properties': {'code': {'type': 'string', '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': 'object', 'additionalProperties': True}
resolve_scope
Resolve scoped agent
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': None, '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}
resolve_sparks
Resolve SPARKS
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', 'required': ['gtin'], 'properties': {'gtin': {'type': 'string', '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': 'object', 'additionalProperties': True}
変更
node_market
2026年9月19日2:42
変更
resolve_node
2026年9月19日2:42
追加
resolve_sparks
2026年9月17日12:42
追加
get_kernel
2026年9月17日12:42
追加
list_brands_by_node
2026年9月17日12:42
追加
list_sku_types
2026年9月17日12:42
追加
node_market
2026年9月17日12:42
追加
find_retailers
2026年9月17日12:42
追加
find_makers
2026年9月17日12:42
追加
resolve_node
2026年9月17日12:42
追加
list_nodes
2026年9月17日12:42
追加
resolve_scope
2026年9月17日12:42
追加
count_gtin_coverage
2026年9月17日12:42
追加
get_signal_chain
2026年9月17日12:42
追加
check_eligibility
2026年9月17日12:42
追加
resolve_gtin
2026年9月17日12:42