Commerce Agent Protocol MCP server
2026년 11월 13일 커밋이커머스 카탈로그에 구조화된 속성을 추가하고 에이전트 준비도 점수를 부여하여, AI 쇼핑 에이전트가 제품을 검색하고 구매할 수 있도록 최적화합니다.
다른 이름 teocomyn/commerce-agent-protocol
- 스타
- 1
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 13일
- 라이선스
- Apache-2.0
Commerce Agent Protocol MCP란?
Commerce Agent Protocol은(는) MCP server입니다. 이커머스 카탈로그에 구조화된 속성을 추가하고 에이전트 준비도 점수를 부여하여, AI 쇼핑 에이전트가 제품을 검색하고 구매할 수 있도록 최적화합니다.
프로젝트 README에서 생성된 요약
Commerce Agent Protocol MCP server 정보
Commerce Agent Protocol은 판매자가 AI 쇼핑 에이전트에 맞춰 제품 카탈로그를 준비할 수 있도록 지원합니다. 기본 스토어프런트 데이터를 소재, 치수, 인증과 같은 고도로 구조화된 유형별 속성으로 변환합니다. 이 프로세스를 통해 ChatGPT, Gemini, Perplexity와 같은 AI 도구가 제품을 쉽게 검색하고 순위를 매길 수 있도록 보장합니다. 현재 시스템은 OAuth 및 대량 동기화를 통해 Shopify를 지원합니다.
개발자는 이를 Claude Desktop 또는 Cursor에서 stdio를 사용하는 로컬 MCP server로 배포하거나, HTTP를 통해 원격 클라이언트에 연결할 수 있습니다. 설정을 위해서는 Node, pnpm, Docker, pgvector가 포함된 Postgres, Redis가 설치된 로컬 환경이 필요합니다. 또한 데이터 풍부화 프로세스를 위한 OpenAI API key와 스토어 동기화를 위한 특정 Shopify 자격 증명이 필요합니다.
핵심 기능은 에이전트 준비도 점수(agent-readiness scoring)로, computeGeoScore 도구를 사용하여 카탈로그가 쇼핑 에이전트의 요구 사항을 얼마나 잘 충족하는지 평가합니다. 이 server는 에이전트가 풍부해진 제품 데이터와 효과적으로 상호작용할 수 있도록 commerce_search 및 commerce_compare와 같은 도구를 제공합니다.
활용 사례
- 1제품 데이터 풍부화LLM 기반 풍부화 기능을 사용하여 가공되지 않은 판매자 metafield를 구조화된 유형별 속성으로 변환합니다.
- 2카탈로그 품질 평가특정 준비도 점수를 사용하여 제품 카탈로그가 AI 쇼핑 에이전트에 얼마나 준비되어 있는지 판단합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
구성
CAP_MERCHANT_ID
| 이름 | 설명 | 유형 |
|---|---|---|
| CAP_MERCHANT_ID | — |
자동 검사
2026년 11월 15일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능teocomyn/commerce-agent-protocol is public and reachablegithub.com/teocomyn/commerce-agent-protocol ↗통과
- 패키지가 이 저장소를 소스로 명시검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-13github.com/teocomyn/commerce-agent-protocol ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기Why CAP?
Today, when an AI shopping agent reads a store, it gets what the storefront exposes: a title, a price, a few lines of description. Agents need thirty or more structured attributes to rank and recommend a product; most catalogs expose three to eight. The checkout rails now exist (Google and Shopify's UCP, Shopify Catalog, ChatGPT and Gemini shopping). The data they read is still poor.
CAP measures and fixes that. It ingests a merchant's catalog, enriches each product into typed attributes, scores how ready it is for agents and exposes the result the way an agent reads it, so the merchant sees and fixes what the rails see. The reference implementation is free (Apache-2.0); Shopify is the only supported platform today.
Until v0.2 CAP tried to be the checkout protocol between agents and merchants. Shopify now ships a UCP MCP per store and Google, OpenAI and Stripe own the rails, so CAP feeds them instead of competing with them. See ADR-0001.
What CAP gives you
| Pillar | What it does |
|---|---|
| 1. Catalog ingestion and structured enrichment | Shopify OAuth, bulk sync and webhooks feed a raw catalog; GPT structured output turns each product into typed attributes (materials, dimensions, certifications from merchant metafields, shipping, returns) with vector embeddings. |
| 2. Agent Readiness Score | computeGeoScore rates each product and catalog on what shopping agents need to read, rank and transact it. Published weights, per-attribute fixes and calibration on real catalogs are the next milestone (ADR-0001). |
| 3. Agent-facing read surface | /v1/search (semantic, vector) and /v1/compare (matrix) over REST and MCP (commerce_search, commerce_compare, same code and errors on both), used to check how an agent sees the catalog. /v1/checkout/initiate and commerce_checkout stay for compatibility and are no longer the product promise. |
This repository contains the reference implementation (this monorepo) and the original cap-spec/ JSON schema, kept as CAP's catalog format rather than as a standard for others to implement.
Architecture
Shopify ──► OAuth ──► Catalog sync (BullMQ)
│
▼
Postgres + pgvector ──► /v1/search (vector + filters)
│ /v1/compare
│ /v1/checkout/initiate (Cart API)
│
└─► MCP stdio and HTTP /mcp (commerce_search / compare / checkout)
│
▼
Claude · ChatGPT · Perplexity · Operator
Diagrams: cap_system_architecture_overview.svg · cap_data_flow_product_to_agent.svg
Quick start
Requirements: Node ≥ 22.12, pnpm ≥ 9, Docker.
# 1. Local Postgres (with pgvector) + Redis
docker compose up -d
# 2. Environment
cp .env.example .env
# Fill in at minimum: DATABASE_URL, REDIS_URL, OPENAI_API_KEY, ENCRYPTION_KEY,
# and SHOPIFY_* if you connect a store. Replace every `change_me` value: processes refuse to
# start with example secrets. Generate secrets with:
openssl rand -hex 32 # ENCRYPTION_KEY, CAP_OPERATIONS_TOKEN, DASHBOARD_SESSION_SECRET
# 3. Install + DB schema
pnpm install
pnpm db:generate
pnpm db:migrate # uses prisma migrate deploy
# 4. Run API + dashboard
pnpm dev
API on http://localhost:3000, dashboard on http://localhost:3001.
Workers (catalog sync + LLM enrichment) run as separate processes:
pnpm --filter=@cap/api dev:worker:enrichment
pnpm --filter=@cap/api dev:worker:catalog
Try the API:
# Live OpenAPI spec
curl http://localhost:3000/openapi.json | jq
# Search (after creating a CAP API key in the dashboard)
curl -X POST http://localhost:3000/v1/search \
-H "X-CAP-Key: cap_live_..." \
-H "Content-Type: application/json" \
-d '{"query":"white eco-friendly sneakers under 120","limit":3}'
Send an Idempotency-Key header on POST /v1/checkout/initiate: a retried request with the same key and body returns the first outcome (checkout or error) instead of creating a second Shopify cart. Keys are never released; to try again after a failure, use a new key.
Connect a remote MCP client (Streamable HTTP, any client that can send a custom header). The same tools are served at /mcp of a running API; the API key decides the merchant, as on the REST endpoints. Against the local API:
claude mcp add --transport http cap http://localhost:3000/mcp \
--header "Authorization: Bearer cap_live_..."
In Cursor's mcp.json: {"mcpServers": {"cap": {"url": "http://localhost:3000/mcp", "headers": {"Authorization": "Bearer cap_live_..."}}}}. Web connectors that require OAuth (for example Claude.ai custom connectors) are not supported, and no hosted endpoint exists today.
Run as a local MCP server (stdio, for Claude Desktop / Cursor):
CAP_MERCHANT_ID=<merchant-uuid> pnpm --silent -C apps/api mcp
stdout carries only JSON-RPC frames; logs go to stderr. Keep --silent and -C (not --filter), otherwise pnpm prints its script banner on stdout and breaks the MCP stream. The stdio server reads the database directly with ENCRYPTION_KEY, so run it only on a machine you trust with those credentials.
Repository layout
| Path | What lives here |
|---|---|
apps/api |
Hono API — OAuth, webhooks, search/compare/checkout, MCP server |
apps/dashboard |
Next.js 15 dashboard — merchant overview, products, API keys, human accounts and roles |
packages/db |
Prisma schema + migrations + client |
packages/shared |
Zod schemas, GEO score, utilities shared across packages |
cap-spec/ |
The CAP protocol specification (versioned, language-agnostic) |
.github/ |
Issue / PR templates, CI workflow, CODEOWNERS |
Status
CAP is alpha (v0.2.0-alpha, 2026-11-01). The ingestion, enrichment, scoring, search and checkout code runs end-to-end in tests and locally; nothing is deployed besides this site and no real merchant store has been connected yet. The project is pivoting to an agent-readiness score and catalog-quality tooling (ADR-0001); the /v1/checkout/initiate endpoint, the remote MCP server and cap-spec/ remain in the tree but are no longer the product promise. Breaking changes are expected before v1.0.
See the CHANGELOG for the full release history.
The deployable units are the API, the dashboard, the catalog worker and the enrichment worker, as separate services; none of them is deployed today (only this site is). See the dashboard authentication guide, staging runbook, Shopify E2E runbook, operations runbook, production deployment runbook, render.staging.yaml, and render.yaml.
Contributing
We welcome contributions of all sizes — from typo fixes to new platform adapters (WooCommerce, Salesforce Commerce, custom carts).
- Read the Contribution guide
- Check open issues labeled
good first issue - For protocol changes, open a Spec Proposal
By participating, you agree to abide by our Code of Conduct.
To report a security vulnerability, see SECURITY.md.
Community
- Discussions — GitHub Discussions
- Issues — GitHub Issues
- Security — private vulnerability report, see SECURITY.md
License
CAP is licensed under the Apache License 2.0 — including an explicit patent grant. The protocol itself is free to implement, fork, or embed.
Commerce Agent Protocol MCP 질문
CAP는 어떤 플랫폼을 지원하나요?
현재 Shopify만 지원합니다.
CAP는 AI를 위해 제품 카탈로그를 어떻게 개선하나요?
카탈로그 데이터를 가져와 GPT를 사용하여 제품을 유형화된 속성으로 풍부하게 만들고, 에이전트가 제품을 얼마나 잘 순위화하고 거래할 수 있는지 측정하는 Agent Readiness Score를 제공합니다.