{
    "ucp": {
        "version": "2026-08-25",
        "services": {
            "dev.ucp.shopping": [
                {
                    "version": "2026-08-25",
                    "spec": "https://ucp.dev/2026-08-25/specification/overview/",
                    "transport": "rest",
                    "endpoint": "https://glasstopfen.de/ucp/v1",
                    "schema": "https://ucp.dev/2026-08-25/services/shopping/rest.openapi.json"
                },
                {
                    "version": "2026-08-25",
                    "spec": "https://ucp.dev/2026-08-25/specification/overview/",
                    "transport": "mcp",
                    "endpoint": "https://glasstopfen.de/mcp",
                    "schema": "https://ucp.dev/2026-08-25/services/shopping/mcp.openrpc.json"
                }
            ]
        },
        "capabilities": {
            "dev.ucp.shopping.catalog.search": [
                {
                    "version": "2026-08-25",
                    "spec": "https://ucp.dev/2026-08-25/specification/shopping/catalog/search/",
                    "schema": "https://ucp.dev/2026-08-25/schemas/shopping/catalog_search.json"
                }
            ],
            "dev.ucp.shopping.catalog.lookup": [
                {
                    "version": "2026-08-25",
                    "spec": "https://ucp.dev/2026-08-25/specification/shopping/catalog/lookup/",
                    "schema": "https://ucp.dev/2026-08-25/schemas/shopping/catalog_lookup.json"
                }
            ],
            "dev.ucp.shopping.cart": [
                {
                    "version": "2026-08-25",
                    "spec": "https://ucp.dev/2026-08-25/specification/shopping/cart/",
                    "schema": "https://ucp.dev/2026-08-25/schemas/shopping/cart.json"
                }
            ],
            "dev.ucp.shopping.checkout": [
                {
                    "version": "2026-08-25",
                    "spec": "https://ucp.dev/2026-08-25/specification/shopping/checkout/",
                    "schema": "https://ucp.dev/2026-08-25/schemas/shopping/checkout.json"
                }
            ],
            "dev.ucp.shopping.fulfillment": [
                {
                    "version": "2026-08-25",
                    "spec": "https://ucp.dev/2026-08-25/specification/shopping/extensions/fulfillment/",
                    "schema": "https://ucp.dev/2026-08-25/schemas/shopping/fulfillment.json",
                    "extends": "dev.ucp.shopping.checkout"
                }
            ],
            "dev.ucp.shopping.order": [
                {
                    "version": "2026-08-25",
                    "spec": "https://ucp.dev/2026-08-25/specification/shopping/order/",
                    "schema": "https://ucp.dev/2026-08-25/schemas/shopping/order.json"
                }
            ]
        },
        "payment_handlers": {
            "de.glasstopfen.bank_transfer": [
                {
                    "id": "bank_transfer",
                    "version": "2026-08-25",
                    "spec": "https://glasstopfen.de/llms.txt",
                    "available_instruments": [
                        {
                            "type": "bank_transfer"
                        }
                    ],
                    "config": {
                        "currencies": [
                            "EUR"
                        ],
                        "note": "Only for orders in EUR. Not offered for checkouts in other currencies."
                    }
                }
            ]
        }
    },
    "de.glasstopfen.status": {
        "environment": "live",
        "ordering_available": true,
        "summary": "Ordering is available. Prices require the destination country.",
        "available_capabilities": [
            "dev.ucp.shopping.catalog.search",
            "dev.ucp.shopping.catalog.lookup",
            "dev.ucp.shopping.cart",
            "dev.ucp.shopping.checkout",
            "dev.ucp.shopping.fulfillment",
            "dev.ucp.shopping.order"
        ],
        "pending_capabilities": [],
        "pending_reason": null,
        "payment_handlers_available": [
            "de.glasstopfen.bank_transfer"
        ],
        "pricing_rule": "Final prices need the destination country (ISO 3166-1 alpha-2). Without a country, prices are EUR estimates. USD is never used as a fallback.",
        "docs": {
            "llms": "https://glasstopfen.de/llms.txt",
            "openapi": "https://glasstopfen.de/openapi.json",
            "mcp": "https://glasstopfen.de/mcp",
            "mcp_server_card": "https://glasstopfen.de/mcp/server-card",
            "ai_catalog": "https://glasstopfen.de/.well-known/ai-catalog.json",
            "legal": "https://glasstopfen.de/legal/",
            "sandbox_rest": "https://glasstopfen.de/ucp/sandbox/v1",
            "sandbox_mcp": "https://glasstopfen.de/mcp/sandbox",
            "repair": "https://glasstopfen.de/repair"
        },
        "links": [
            {
                "type": "legal_notice",
                "url": "https://glasstopfen.de/legal/impressum",
                "title": "Legal notice (imprint) (German)"
            },
            {
                "type": "terms_of_service",
                "url": "https://glasstopfen.de/legal/agb",
                "title": "Terms of sale and customer information (German)"
            },
            {
                "type": "refund_policy",
                "url": "https://glasstopfen.de/legal/widerruf",
                "title": "Right of withdrawal and model withdrawal form (German)"
            },
            {
                "type": "privacy_policy",
                "url": "https://glasstopfen.de/legal/datenschutz",
                "title": "Privacy policy (German)"
            }
        ],
        "release": "20261114T094457-ad5323f7"
    },
    "de.glasstopfen.legal": {
        "draft": false,
        "status": "in Kraft (freigegeben am 14.11.2026)",
        "status_en": "in force (approved on 14 November 2026)",
        "in_force_since": "2026-11-14",
        "languages": [
            "de"
        ],
        "english_version": "not available yet",
        "pages": [
            {
                "id": "impressum",
                "type": "legal_notice",
                "title": "Impressum",
                "title_en": "Legal notice (imprint)",
                "language": "de",
                "draft": false,
                "url": "https://glasstopfen.de/legal/impressum",
                "markdown": "https://glasstopfen.de/legal/impressum.md",
                "json": "https://glasstopfen.de/legal/impressum.json"
            },
            {
                "id": "agb",
                "type": "terms_of_service",
                "title": "Allgemeine Geschäftsbedingungen und Kundeninformationen",
                "title_en": "Terms of sale and customer information",
                "language": "de",
                "draft": false,
                "url": "https://glasstopfen.de/legal/agb",
                "markdown": "https://glasstopfen.de/legal/agb.md",
                "json": "https://glasstopfen.de/legal/agb.json"
            },
            {
                "id": "widerruf",
                "type": "refund_policy",
                "title": "Widerrufsbelehrung und Muster-Widerrufsformular",
                "title_en": "Right of withdrawal and model withdrawal form",
                "language": "de",
                "draft": false,
                "url": "https://glasstopfen.de/legal/widerruf",
                "markdown": "https://glasstopfen.de/legal/widerruf.md",
                "json": "https://glasstopfen.de/legal/widerruf.json"
            },
            {
                "id": "datenschutz",
                "type": "privacy_policy",
                "title": "Datenschutzerklärung",
                "title_en": "Privacy policy",
                "language": "de",
                "draft": false,
                "url": "https://glasstopfen.de/legal/datenschutz",
                "markdown": "https://glasstopfen.de/legal/datenschutz.md",
                "json": "https://glasstopfen.de/legal/datenschutz.json"
            }
        ]
    },
    "de.glasstopfen.sandbox": {
        "enabled": true,
        "purpose": "Test mode for agents: play through cart, checkout (create, update, complete), get order and withdrawal without a real order. Same request and response shapes, validation and error codes as the live API.",
        "rest": "https://glasstopfen.de/ucp/sandbox/v1",
        "rest_header_alias": "Send UCP-Sandbox: true to https://glasstopfen.de/ucp/v1/... to reach the same sandbox.",
        "mcp": "https://glasstopfen.de/mcp/sandbox",
        "marker": "Every sandbox response carries the header UCP-Sandbox: true and the body field de.glasstopfen.sandbox.",
        "guarantees": [
            "No order is created in the shop, no stock is reserved, nothing is charged.",
            "No e-mail is sent to anybody (withdrawal confirmation: not_sent_sandbox).",
            "All ids start with test_ (test_chk_, test_crt_, test_ord_, test_ot_, test_wrq_, test_wdr_); order numbers look like TEST-123456.",
            "Bank details are examples (account holder SANDBOX EXAMPLE - DO NOT PAY, IBAN DE50000000000123456789, BIC TESTDEFFXXX). Never show them as real payment details."
        ],
        "catalog": "Catalog reads (search, lookup, product, vehicle fit) and prices are real and read-only.",
        "payment": "Only bank_transfer is simulated (EUR); card payment is not simulated.",
        "session_ttl_seconds": 86400,
        "rate_limits": {
            "per_minute": 30,
            "per_hour": 300,
            "scope": "per client IP",
            "error": "429 rate_limited with Retry-After"
        },
        "services": [
            {
                "transport": "rest",
                "endpoint": "https://glasstopfen.de/ucp/sandbox/v1",
                "schema": "https://ucp.dev/2026-08-25/services/shopping/rest.openapi.json"
            },
            {
                "transport": "mcp",
                "endpoint": "https://glasstopfen.de/mcp/sandbox",
                "schema": "https://ucp.dev/2026-08-25/services/shopping/mcp.openrpc.json"
            }
        ]
    },
    "de.glasstopfen.repair": {
        "summary": "Rear wiper motor broken? Find the plug set by the wiper motor part number (OE or aftermarket).",
        "overview": "https://glasstopfen.de/repair",
        "part_number_lookup": "https://glasstopfen.de/repair/part/{part_number}?country=DE",
        "mcp_tool": "find_by_wiper_motor_part_number",
        "catalog_search": "search_catalog with the part number as query or filters.part_number",
        "data": {
            "motor_groups": 27,
            "part_numbers": 156,
            "vehicle_links": 79,
            "generated": "2026-11-14",
            "stage": "Etappe 1"
        }
    }
}
