UCP Score for medicube.sa
94 out of 100, grade A: ready for UCP agents. The missing 6 points are spread across Discovery and Conformance. 2 spec breaks on the status page aren't counted in the score.
Discovery 95Conformance 88Capabilities 100release 2026-04-08
"capabilities": {
"dev.ucp.shopping.checkout": [...]
}
"payment_handlers": {
"com.google.pay": [...]
}
"version": "2026-08-25"
"ucp": {
"version": "2026-08-25",
...
},
"keys": [ ... ] // beside "ucp", not inside it
Set the version to 2026-08-25 and publish your public keys as a root-level "keys" list. The older "signing_keys" field is still accepted, but "keys" is the one every verifier reads.
# llms.txt # Public brief for AI agents about Yourstore # About One or two sentences on what you sell, who you sell to, and any defining context (founded, mission, sustainability stance, etc.). # Product Categories - Category one - Category two - Category three # Policies - Returns: e.g. 30 days, full refund - Shipping: e.g. Free over $30, 3-5 business days - Any other policy worth surfacing (cruelty-free, vegan, made-to-order, etc.) # Agent Capabilities - UCP profile: /.well-known/ucp - Supported flows: cart, checkout, tokenized payment, etc. - Anything explicitly NOT supported (e.g. "no subscription products via agent") # Contact [email protected]
Save as /llms.txt at your site root. Plain text, written for an LLM audience. The format is informal: these section headings are a working convention, not a spec. Replace the placeholders with your own brand details and update when policies or product lines change.
HTTPS, UCP profile reachable, AI bot access, sitemap.xml, Open Graph tags, Organization schema (JSON-LD), Mobile viewport metaShow
- HTTPS · Profile URL uses https://
- UCP profile reachable · HTTP 200
- AI bot access · robots.txt allows /.well-known/ucp
- sitemap.xml · Found at /sitemap.xml
- Open Graph tags · og:title and og:type/url present
- Organization schema (JSON-LD) · Organization-typed JSON-LD detected
- Mobile viewport meta · <meta name="viewport"> present
Profile passes schema validation, Protocol version present and well-formed, Public keys publishedShow
- Profile passes schema validation · No structural errors
- Protocol version present and well-formed · Version: 2026-04-08
- Public keys published · Keys published at the top level
Capabilities declared, Checkout capability, Transports declaredShow
- Capabilities declared · 5 of 6 capability families detected: Checkout, Identity Linking, Cart Management, Order Management, Catalog. A family counts once however many namespaces or extensions declare it.
- Checkout capability · dev.ucp.shopping.checkout detected
- Transports declared · REST, MCP
The score measures what the profile declares across the three areas above. These break a rule in the spec that agents follow, so they can stop an agent before the score matters.
Files medicube.sa publishes for agents beyond its UCP profile, from our weekly look. Only what we found is listed.
/auth.md/.well-known/ai-catalog.json/.well-known/mcp.json/.well-known/mcp/server-card.json/.well-known/api-catalog/auth.md as served 3.5 KB
# Salla auth.md
You are an agent. This service supports **OAuth 2.0 Authorization Code flow with PKCE (S256)** for agent registration and authentication: discover → authorize → authenticate → exchange → use → refresh → revoke. Follow the steps in order.
Examples use the base URL `https://accounts.salla.com`.
## Step 1 — Discover
Fetch the OAuth 2.0 Authorization Server metadata to learn all endpoints and capabilities:
```
GET https://accounts.salla.com/.well-known/oauth-authorization-server
```
The `agent_auth` block tells you:
- `skill` — the URL of this document.
- `register_uri` / `identity_endpoint` — where you begin the registration/authorization flow.
- `identity_types_supported` — this service uses `service_auth` (the user authenticates at the Salla Login Page).
- `service_auth.claim_uri` / `claim_endpoint` — where the user goes to authenticate.
- `revocation_uri` — where you POST to revoke a token.
You can also fetch Protected Resource Metadata from the resource server:
```
GET https://accounts.salla.com/.well-known/oauth-protected-resource/store/v1
```
## Step 2 — Register (Authorize with PKCE)
Generate a PKCE code pair:
1. Generate a random `code_verifier` (43–128 characters).
2. Compute `code_challenge = base64url(SHA256(code_verifier))`.
3. Use `code_challenge_method = S256`.
Then redirect the user to the authorization endpoint:
```
GET https://accounts.salla.com/oauth/authorize?
response_type=code
&client_id=salla-agent
&redirect_uri=<your-callback-uri>
&scope=openid profile offline_access
&state=<random-state>
&code_challenge=<your-code-challenge>
&code_challenge_method=S256
```
**Client registration:**
- Pre-configured public client: `salla-agent` (no secret required, PKCE is the sole authentication mechanism).
- Agents must provide a `redirect_uri` they control (e.g. `http://localhost:<port>/callback` for local agents). While PKCE protects the flow regardless of the redirect target, using a URI you own prevents token interception.
- Confidential clients (with secrets) are also supported if pre-registered.
## Step 3 — Authenticate and Exchange
The user authenticates on the Salla Login Page. After login, the browser redirects to your `redirect_uri` with `?code=<auth-code>&state=<your-state>`.
Exchange the authorization code for tokens:
```
POST https://accounts.salla.com/oauth/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&code=<auth-code>
&redirect_uri=<your-callback-uri>
&client_id=salla-agent
&code_verifier=<your-code-verifier>
```
Response:
```json
{
"access_token": "<token>",
"token_type": "Bearer",
"expires_in": 604800,
"refresh_token": "<refresh-token>",
"iss": "https://accounts.salla.com"
}
```
## Step 4 — Use the access token
```
GET https://accounts.salla.com/store/v1/products
Authorization: Bearer<access_token>
```
## Step 5 — Refresh
```
POST https://accounts.salla.com/oauth/token
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&refresh_token=<refresh-token>
&client_id=salla-agent
```
## Revocation
```
POST https://accounts.salla.com/oauth/revoke
Content-Type: application/x-www-form-urlencoded
token=<access-or-refresh-token>
&client_id=salla-agent
```
Returns 200 with an empty body (RFC 7009).
## Introspection
```
POST https://accounts.salla.com/oauth/introspect
Content-Type: application/x-www-form-urlencoded
token=<access-token>
&client_id=salla-agent
```
Returns `{ "active": true, ... }` or `{ "active": false }`.
/.well-known/ai-catalog.json as served 520 B
{"specVersion":"1.0","host":{"displayName":"medicube.sa","documentationUrl":"https://docs.salla.dev"},"entries":[{"identifier":"urn:air:salla:medicube.sa:storefront-mcp","displayName":"Storefront MCP","description":"Browse products, manage carts, and start checkout on this store via MCP tools.","type":"application/mcp-server-card+json","url":"https://medicube.sa/.well-known/mcp/server-card.json","representativeQueries":["Search this store for a product","Add this product to my cart","Start checkout for my cart"]}]}
/.well-known/mcp.json as served 9.4 KB
{"version":"1.0","protocolVersion":"2025-06-18","serverInfo":{"name":"storefront","title":"Storefront MCP","version":"1.0.0","description":"Browse products, manage carts, and initiate checkout for any Salla store via MCP tools and resources."},"transport":{"type":"streamable-http","endpoint":"https://medicube.sa/mcp"},"capabilities":{"tools":{"listChanged":false},"resources":{"listChanged":false,"subscribe":false},"logging":{}},"tools":[{"name":"catalog-brand-list","title":"List Brands","description":"List all store brands grouped by first character (Arabic or English alphabet). Returns a browsable brand directory.","readOnly":true,"destructive":false,"idempotent":true,"inputSchema":{"type":"object","properties":{}}},{"name":"catalog-brand-retrieve","title":"Get Brand Details","description":"Retrieve full brand details by ID, including name, description, logo, banner, and SEO metadata.","readOnly":true,"destructive":false,"idempotent":true,"inputSchema":{"type":"object","properties":{"brand_id":{"type":"string","description":"Brand ID to fetch"}},"required":["brand_id"]}},{"name":"catalog-category-list","title":"List Categories","description":"List store categories. Returns the root list by default, or direct children when parent_id is provided.","readOnly":true,"destructive":false,"idempotent":true,"inputSchema":{"type":"object","properties":{"parent_id":{"type":"string","description":"If set, returns direct children of this category"}}}},{"name":"catalog-category-retrieve","title":"Get Category","description":"Retrieve a category by ID, including name, description, image, product count, and nested sub-categories.","readOnly":true,"destructive":false,"idempotent":true,"inputSchema":{"type":"object","properties":{"category_id":{"type":"string","description":"Category ID to fetch"}},"required":["category_id"]}},{"name":"catalog-product-list","title":"Browse Products","description":"Browse and filter products from the store catalog. Supports 16 source types (latest, brands, categories, search, offers, etc.) with pagination.","readOnly":true,"destructive":false,"idempotent":true,"inputSchema":{"type":"object","properties":{"source":{"type":"string","enum":["latest","brands","categories","search","offers","top-rated","recently","related","selected","tags","wishlist","sales","reorder","best_selling","json","landing-page"],"description":"Product source type"},"source_value":{"type":"string","description":"Source filter value (brand_id, category_id, keyword, etc.)"},"page":{"type":"integer","minimum":1,"description":"Page number"},"cursor":{"type":"string","description":"Cursor for pagination"},"per_page":{"type":"integer","minimum":1,"maximum":100,"description":"Items per page"},"sort":{"type":"string","description":"Sort option"},"filterable":{"type":"boolean","description":"Include filter facets"}},"required":["source"]}},{"name":"catalog-product-search","title":"Search Products","description":"Search products by keyword. Matches product names, descriptions, and SKUs.","readOnly":true,"destructive":false,"idempotent":true,"inputSchema":{"type":"object","properties":{"keyword":{"type":"string","description":"Search keyword"},"page":{"type":"integer","minimum":1,"description":"Page number"},"cursor":{"type":"string","description":"Cursor for pagination"},"per_page":{"type":"integer","minimum":1,"maximum":100,"description":"Items per page"},"sort":{"type":"string","description":"Sort option"}},"required":["keyword"]}},{"name":"catalog-product-retrieve","title":"Get Product Details","description":"Retrieve full product details by ID, including images, videos, options, variants/SKUs with pricing, ratings, tags, and brand.","readOnly":true,"destructive":false,"idempotent":true,"inputSchema":{"type":"object","properties":{"product_id":{"type":"string","description":"Product ID to fetch"}},"required":["product_id"]}},{"name":"checkout-generate","title":"Create Cart","description":"Create a new empty shopping cart. Returns cart_id and checkout_url.","readOnly":false,"destructive":false,"idempotent":false,"inputSchema":{"type":"object","properties":{"include_items":{"type":"boolean","description":"Include cart line items in response"},"source":{"type":"string","description":"Optional source identifier"}}}},{"name":"checkout-retrieve","title":"Get Cart","description":"Retrieve current cart contents including items, quantities, pricing, applied coupons, and the checkout URL.","readOnly":true,"destructive":false,"idempotent":true,"inputSchema":{"type":"object","properties":{"cart_id":{"type":"string","description":"Cart ID"},"include_items":{"type":"boolean","default":true,"description":"Include cart line items"}},"required":["cart_id"]}},{"name":"checkout-proceed","title":"Proceed to Checkout","description":"Get the checkout URL to redirect the buyer to complete payment. Includes cart summary for confirmation.","readOnly":true,"destructive":false,"idempotent":true,"inputSchema":{"type":"object","properties":{"cart_id":{"type":"string","description":"Cart ID to proceed with"}},"required":["cart_id"]}},{"name":"checkout-assign","title":"Assign Cart to Account","description":"Link a guest cart to the authenticated buyer's account.","readOnly":false,"destructive":false,"idempotent":false,"inputSchema":{"type":"object","properties":{"cart_id":{"type":"string","description":"Cart ID to assign"}},"required":["cart_id"]}},{"name":"checkout-coupon-apply","title":"Apply Discount Code","description":"Apply a coupon/discount code to the cart.","readOnly":false,"destructive":false,"idempotent":false,"inputSchema":{"type":"object","properties":{"cart_id":{"type":"string","description":"Cart ID"},"coupon":{"type":"string","maxLength":100,"description":"Coupon code to apply"},"payment_method":{"type":"string","description":"Optional payment method for coupon validation"}},"required":["cart_id","coupon"]}},{"name":"checkout-coupon-remove","title":"Remove Discount Code","description":"Remove the applied coupon from the cart.","readOnly":false,"destructive":false,"idempotent":true,"inputSchema":{"type":"object","properties":{"cart_id":{"type":"string","description":"Cart ID"}},"required":["cart_id"]}},{"name":"checkout-item-add","title":"Add to Cart","description":"Add a product to the shopping cart by id, variant_id, or sku. Returns the full updated cart.","readOnly":false,"destructive":false,"idempotent":false,"inputSchema":{"type":"object","properties":{"cart_id":{"type":"string","description":"Cart ID"},"identifier_type":{"type":"string","enum":["id","variant_id","sku"],"description":"How to identify the product"},"identifier":{"type":"string","description":"Product identifier value"},"quantity":{"type":"integer","minimum":1,"description":"Quantity to add"},"options":{"type":"array","items":{"type":"object"},"description":"Product options"},"notes":{"type":"string","description":"Notes for this cart item"},"amount":{"type":"number","description":"Custom price for flexible-amount products"},"bundle":{"type":"array","items":{"type":"object"},"description":"Bundle items"}},"required":["cart_id","identifier_type","identifier","quantity"]}},{"name":"checkout-item-update","title":"Update Cart Item","description":"Update a cart item's quantity or options by its internal cart item ID.","readOnly":false,"destructive":false,"idempotent":true,"inputSchema":{"type":"object","properties":{"cart_id":{"type":"string","description":"Cart ID"},"item_id":{"type":"string","description":"Internal cart item ID"},"quantity":{"type":"integer","minimum":1,"description":"New quantity"},"identifier_type":{"type":"string","enum":["id","variant_id","sku"],"description":"Product identifier type"},"identifier":{"type":"string","description":"Product identifier value"},"options":{"type":"array","items":{"type":"object"},"description":"Updated product options"},"notes":{"type":"string","description":"Updated notes"},"amount":{"type":"number","description":"Updated custom amount"},"bundle":{"type":"array","items":{"type":"object"},"description":"Updated bundle items"}},"required":["cart_id","item_id","quantity"]}},{"name":"checkout-item-remove","title":"Remove from Cart","description":"Remove an item from the cart by its internal cart item ID.","readOnly":false,"destructive":true,"idempotent":true,"inputSchema":{"type":"object","properties":{"cart_id":{"type":"string","description":"Cart ID"},"item_id":{"type":"string","description":"Internal cart item ID to remove"}},"required":["cart_id","item_id"]}}],"resources":[{"uri":"store://info","name":"store-info","description":"Store name, description, currency, and locale settings","templated":false},{"uri":"store://brands","name":"store-brands","description":"All store brands grouped by first character","templated":false},{"uri":"store://categories","name":"store-categories","description":"Root category tree with subcategory counts","templated":false},{"uri":"store://products/latest","name":"store-products-latest","description":"Latest products from the store catalog","templated":false},{"uri":"store://brands/{id}","name":"store-brand-detail","description":"Single brand with logo, banner, description, and SEO metadata","templated":true},{"uri":"store://categories/{id}","name":"store-category-detail","description":"Category with nested sub-categories and product count","templated":true},{"uri":"store://products/{id}","name":"store-product-detail","description":"Full product details including images, options, variants, and pricing","templated":true},{"uri":"store://cart/{id}","name":"store-cart","description":"Cart contents with items, totals, coupons, and checkout URL","templated":true}]}
/.well-known/mcp/server-card.json as served 498 B
{"$schema":"https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json","version":"1.0","protocolVersion":"2025-06-18","serverInfo":{"name":"store","title":"Salla Store MCP Server","version":"1.0.0"},"description":"MCP server for managing shopping carts on a Salla store. Provides tools for cart generation, item management, and coupon application.","transport":{"type":"streamable-http","endpoint":"/mcp"},"capabilities":{"tools":{"listChanged":true},"logging":{}},"tools":["dynamic"]}
/.well-known/api-catalog as served 1.5 KB
{"linkset":[{"anchor":"https://medicube.sa/.well-known/api-catalog","item":[{"href":"https://medicube.sa/.well-known/ucp"},{"href":"https://medicube.sa/.well-known/mcp.json"},{"href":"https://medicube.sa/.well-known/mcp/server-card.json"},{"href":"https://docs.salla.dev/2129395m0"},{"href":"https://docs.salla.dev/1724365m0"},{"href":"https://docs.salla.dev/1945677m0"},{"href":"https://docs.salla.dev/422688m0"},{"href":"https://docs.salla.dev/422610m0"}]},{"anchor":"https://medicube.sa/.well-known/ucp","service-desc":[{"href":"https://ucp.dev/services/shopping/openapi.json","type":"application/json"}],"service-doc":[{"href":"https://ucp.dev/2026-04-08/specification/overview/","type":"text/html"}],"status":[{"href":"https://medicube.sa/","type":"application/json"}]},{"anchor":"https://medicube.sa/mcp","service-desc":[{"href":"https://medicube.sa/.well-known/mcp/server-card.json","type":"application/json"}]},{"anchor":"https://docs.salla.dev/2129395m0","service-doc":[{"href":"https://docs.salla.dev/2129395m0","type":"text/html"}]},{"anchor":"https://docs.salla.dev/1724365m0","service-doc":[{"href":"https://docs.salla.dev/1724365m0","type":"text/html"}]},{"anchor":"https://docs.salla.dev/1945677m0","service-doc":[{"href":"https://docs.salla.dev/1945677m0","type":"text/html"}]},{"anchor":"https://docs.salla.dev/422688m0","service-doc":[{"href":"https://docs.salla.dev/422688m0","type":"text/html"}]},{"anchor":"https://docs.salla.dev/422610m0","service-doc":[{"href":"https://docs.salla.dev/422610m0","type":"text/html"}]}]}
