CPG Knowledge Graph

The MCP for the beauty, cosmetics and personal care sector

사용해야 할까요

품질 및 안전성

B
설명 품질
89%
스키마 완전성
79%
이름 품질
93%
오염 위험
80%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (5)

  • HIGHTool poisoning patterns detected
  • LOWTool 'get_signal_chain' description lacks action verbget_signal_chain에서
  • LOWTool 'count_gtin_coverage' description lacks action verbcount_gtin_coverage에서
  • LOWTool 'list_brands_by_node' description lacks action verblist_brands_by_node에서
  • INFOTool description contains placeholder or incomplete textresolve_sparks에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,490토큰 (도구 정의)
~1.0 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.95%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 14개
검증됨버전이 기록되지 않음도구 14개