UCP MCP Storefront
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@UCP MCP Storefrontsearch for wireless headphones"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
UCP MCP Storefront
A UCP-compliant MCP storefront server that exposes a product catalog as MCP tools. Each tool maps to a real UCP capability (Catalog Search & Lookup, Cart Building, Checkout, Order Management), and every tool's output matches the corresponding UCP schema (version 2026-04-08).
UCP is transport-agnostic and explicitly supports MCP as a transport alongside REST and A2A — so "a UCP storefront exposed over MCP" is on-spec.
Key Principles
All prices are integers in cents (e.g.
1999= $19.99). Never floats for money.UCP version
2026-04-08— date-based versioning per the UCP spec.Payment is always mocked — no real credentials, ever.
Related MCP server: commercetools MCP Essentials
Quick Start
# Install dependencies
uv sync
# Run tests
uv run pytest
# Start the server (stdio transport)
uv run python -m ucp_mcp_storefront.serverMCP Tools
Tool | UCP Capability | Description |
|
| Search products by query, max price (cents), and/or category |
|
| Get full product details by ID |
search(query, max_price?, category?)
query(string, required): Free-text search matching title, description, and tags.max_price(int, optional): Maximum price in cents (e.g.10000= $100.00).category(string, optional): Filter by tag/category.
Returns a UCP search_response with matching products.
get_product(product_id)
product_id(string, required): Product identifier (e.g."prod_001").
Returns a UCP get_product_response with full product detail including variants and pricing.
Client Configuration
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"ucp-storefront": {
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/ucp-mcp-storefront", "python", "-m", "ucp_mcp_storefront.server"]
}
}
}MCP Inspector
# Install and run the MCP inspector
npx @modelcontextprotocol/inspector uv run python -m ucp_mcp_storefront.serverExample Interaction
Prompt: "Find running shoes under $100"
The agent calls search(query="running shoes", max_price=10000) and gets back UCP-shaped results with products, price ranges, variants, and availability status.
Project Structure
├── src/ucp_mcp_storefront/ # Server source code
│ ├── server.py # FastMCP app; registers all tools
│ ├── catalog.py # Load + query the fake catalog
│ ├── cart.py # In-memory cart store
│ ├── checkout.py # UCP checkout object (mocked payment)
│ ├── ucp_mapping.py # Internal objects → UCP-shaped dicts
│ └── models.py # Pydantic models mirroring UCP fields
├── data/products.json # Fake catalog (25 items, prices in cents)
├── schemas/resolved/ # Resolved UCP JSON Schemas (for tests)
├── tests/ # pytest test suite
├── scripts/ # Schema resolution and utilities
└── docs/ # Architecture and UCP mapping docsMilestones
M0 — Scaffold + fake catalog
M1 — Read tools (
search,get_product)M2 — Cart tools (
create_cart,add_to_cart,view_cart)M3 — UCP conformance for cart/line-item shapes
M4 — Checkout tool (UCP checkout object + mock payment)
M5 — Polish & proof
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZaynTawfik/mcpforucp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server