Agentic Product Protocol MCP Server
Klarna-style product discovery for AI shopping agents.
Makes product catalogs machine-readable so AI agents can search, compare, and purchase products programmatically — no screen scraping, no landing pages.
The Problem
Today's e-commerce is built for humans: landing pages, image carousels, "Add to Cart" buttons. AI shopping agents can't efficiently navigate this. They need structured product data — not HTML.
Klarna introduced the Agentic Product Protocol (December 2025) to solve exactly this: a standardized way for merchants to expose their product catalogs to AI agents. Think of it as RSS feeds, but for shopping.
What This Server Does
This MCP server implements the core ideas of agentic product discovery:
- Structured search results — not web pages, but clean JSON with name, price, nutrition, ratings
- Product comparison — side-by-side structured comparison across multiple dimensions
- Feed conversion — take any product feed (JSON, CSV, Open Food Facts) and normalize it into an agent-friendly schema
- Schema generation — convert raw product data into the Agentic Product Protocol format
- Availability checking — real-time product status in a machine-readable format
Uses Open Food Facts as a demo data source — works with any product feed.
Installation
pip install agentic-product-protocol-mcp
Or with uvx (no install needed):
uvx agentic-product-protocol-mcp
Configuration
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"product-protocol": {
"command": "uvx",
"args": ["agentic-product-protocol-mcp"]
}
}
}
Claude Code (CLI)
claude mcp add product-protocol -- uvx agentic-product-protocol-mcp
Tools
| Tool | Description |
|---|---|
search_products |
Search products with structured results (name, nutrition, labels, stores) |
get_product_details |
Get full product data by barcode/ID |
compare_products |
Side-by-side comparison of 2-5 products |
convert_feed |
Convert JSON/CSV/OFF feeds into normalized agent schema |
generate_product_schema |
Generate Agentic Product Protocol schema from raw data |
check_availability |
Check product availability and store information |
Example Usage
Search for products:
"Search for organic chocolate bars"
Compare products:
"Compare these three chocolate bars: 3017620422003, 7622210449283, 7613034626844"
Convert a feed:
"Convert this Open Food Facts search into agent-friendly format: https://world.openfoodfacts.org/cgi/search.pl?search_terms=protein+bar&page_size=10"
Generate schema:
"Generate an agentic product schema for this product data: {name: 'Widget Pro', price: 29.99, category: 'Electronics'}"
Why Structured Feeds > Landing Pages
| Landing Pages | Structured Feeds | |
|---|---|---|
| Parsing | Screen scraping, fragile | Clean JSON, reliable |
| Speed | Load page → parse DOM → extract | Single API call |
| Accuracy | Layout changes break everything | Schema-validated |
| Comparison | Manual extraction per site | Normalized across sources |
| Agent UX | Built for human eyes | Built for agent consumption |
Data Source
This server uses Open Food Facts as its demo data source — a free, open, community-built database of food products from around the world. No API key required.
For production use, connect your own product feeds using the convert_feed tool with JSON or CSV format.
License
MIT
Metadata
Release files for agentic-product-protocol-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentic_product_protocol_mcp-0.1.0.tar.gz | 10.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentic_product_protocol_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.9 kB
Release files / agentic_product_protocol_mcp-0.1.0.tar.gz
| Download URL | agentic_product_protocol_mcp-0.1.0.tar.gz |
|---|---|
| Size | 10.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a9e623436841a3eb985c925665e2a43f15a0af301095134cfea4379fdbf145fd
|
|
BLAKE2b-256 checksum How to use checksums |
2b549ad1002fab30cd58436c228767b6bcc6cfd0a87ae01e0a9239fb340d6dee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Release files / agentic_product_protocol_mcp-0.1.0-py3-none-any.whl
| Download URL | agentic_product_protocol_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 12.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e5da8ec39c0c5dad1d8db3f90cf192571608c04be1b31b170c6297aab17979c2
|
|
BLAKE2b-256 checksum How to use checksums |
42d2c5b55c2573fb9f4562fe9aa44d7276e2bfdfdc206a8f99e66d0bb44211c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|