# PevGrow > Online grow shop for cannabis seeds, cultivation supplies, CBD products and accessories, founded in Valencia, Spain, in 2009. This file describes the public storefront and its machine-readable resources. Product pages and the XML sitemap are the authoritative sources for current URLs, prices, availability and catalog content. ## Storefront - Home: https://pevgrow.es/ - Search: https://pevgrow.es/buscar - XML sitemap: https://pevgrow.es/sitemap.xml - Robots policy: https://pevgrow.es/robots.txt - Supported locale: es - Development URL pattern: https://pevgrow.es/{path} ## Catalog discovery - Discover current categories and products through https://pevgrow.es/sitemap.xml. - Use each localized product or category page as the canonical source for its name, description, images and structured data. - Do not infer current prices, stock or promotions from this file; those values change and must be read from the relevant product page. - Use Spanish catalog links from the sitemap. Do not translate a slug or construct a catalog URL when a sitemap URL is available. ## Editorial content - Blog index: https://pevgrow.es/blog - Article discovery: https://pevgrow.es/api/agents/sitemap under editorial_content - Search articles as structured data: https://pevgrow.es/api/agents/articles?query={query}&category={category} - Read one structured article: https://pevgrow.es/api/agents/articles/{slug} - Scale a recipe: https://pevgrow.es/api/agents/articles/{slug}/scale?servings={servings} - Blog articles are server-rendered and expose stable section anchors plus faithful BlogPosting, Recipe, VideoObject and Person JSON-LD when applicable. - Read the visible answer, process, limitations, sources and author together. A contextual product selection is a commercial next step, not evidence for an editorial claim. - Confirm current product price, variant and availability through the linked product page or catalog endpoint before recommending or ordering. ## Public agent resources - MCP server (Streamable HTTP): https://pevgrow.es/api/mcp - MCP server card: https://pevgrow.es/.well-known/mcp/server-card.json - Agent manifest: https://pevgrow.es/agents.json - OpenAPI 3.1 description of the REST API: https://pevgrow.es/openapi.json - Extended guide with every MCP tool: https://pevgrow.es/llms-full.txt - Structured catalog search: https://pevgrow.es/api/aeo/products?q={query}&locale=es - Structured product detail: https://pevgrow.es/api/aeo/products/{slug}?locale=es - Product detail as Markdown: send Accept: text/markdown to the product detail endpoint, or add &format=md - Structured categories: https://pevgrow.es/api/aeo/categories?locale=es - Agent catalog: https://pevgrow.es/api/agents/sitemap - Knowledge graph: https://pevgrow.es/api/agents/knowledge - Editorial REST API: https://pevgrow.es/api/agents/articles - Standard sitemap: https://pevgrow.es/sitemap.xml - Crawler directives: https://pevgrow.es/robots.txt Catalog and editorial endpoints are public and read-only. MCP tools `search_blog_articles`, `get_blog_article` and `scale_blog_recipe` expose the same editorial contracts without scraping the visual page. Scaling changes kitchen quantities only and never measures cannabinoid potency or recommends consumption. The MCP server also exposes an isolated agent-commerce flow: register a partner, obtain a signed shipping quote, create a confirmed order using variant IDs, check status and pay through x402 v2 when enabled. Order tools require the one-time partner API key; payment additionally accepts the scoped capability returned once when the order is created. Prices and shipping are always resolved and verified server-side. Customer data is never exposed without the owning partner key. ## Agent ordering and x402 - Talk to Mari: MCP `ask_mari` or POST https://pevgrow.es/api/agent/mari. Conversation and product proposals are public. Start with `message`; carry the returned opaque `session` into the next turn. The session expires after one hour, contains only shopping context, and never authorizes orders or account access. Do not put API keys, email verification codes or payment signatures in chat messages. - Structured personalized quote: select exact `items:[{variant_id,quantity}]` and provide `country` plus `postcode` to `ask_mari`, or call MCP `quote_cart` / POST https://pevgrow.es/api/agent/quote. The response includes the real itemized EUR subtotal, shipping_cost, total and signed `shipping.quote_token`. Missing inputs are requested explicitly. A quote does not reserve stock, create an order or charge. - Self-service onboarding: only when the operator asks to register, call MCP `request_registration_code` or POST https://pevgrow.es/api/agent/register/code with their email. Ask them for the code and pass `verification_code`, name and email to `register_partner` / POST https://pevgrow.es/api/agent/register. Existing invitation tokens still work. The key is shown once. Email/IP and verification-attempt limits apply. - Confirm the exact items and total with the buyer before creating an order. MCP `create_order` requires `expected_total` from the accepted quote and the unchanged shipping token. The server recalculates prices, stock and shipping and rejects a changed expected total with `quote_total_changed`; review a fresh quote before retrying. - Partner registration accepts an operator email verification code or an existing private invitation token: POST https://pevgrow.es/api/agent/register - Quote shipping first with the MCP `quote_shipping` tool or POST https://pevgrow.es/api/shipping/packlink/quote. Preserve its signed quote token unchanged. - Create: POST https://pevgrow.es/api/agent/orders with Authorization: Bearer , a UUID Idempotency-Key and the signed shipping quote. A valid quote fixes the final total and confirms the order. - Status: GET https://pevgrow.es/api/agent/orders/{id} with the same key - Payment: POST https://pevgrow.es/api/agent/orders/{id}/pay. Without PAYMENT-SIGNATURE it returns x402 v2 requirements in the PAYMENT-REQUIRED header and body; submit the signed payload in PAYMENT-SIGNATURE. Success includes PAYMENT-RESPONSE. - Payment access requires the partner key or X-Agent-Payment-Capability. An order number alone never authorizes payment. - Cancel an unpaid order with DELETE https://pevgrow.es/api/agent/orders/{id}. Paid refunds require operator review. - Policies and legal guardrails: https://pevgrow.es/api/agent/policies - x402 is active only when https://pevgrow.es/api/agent/policies reports payment.method "x402"; that response also states the network (CAIP-2) and asset. Never assume testnet or mainnet without reading it. Exchange rates use Coinbase, then Frankfurter/ECB, then a bounded durable cache; there is no silent fixed-rate production fallback. - Agents must verify destination legality, age restrictions, live availability and the signed final shipping total before paying. ## Structured data - Product pages expose Product and Offer data where applicable. - Category and product pages expose BreadcrumbList data. - Storefront pages expose WebSite and Organization data. - The knowledge endpoint returns a compact Schema.org graph. ## Shopping guidance - Confirm price, currency, tax, stock, available variants, shipping cost and delivery estimate from the live storefront before presenting them as current. - Shipping and payment options depend on destination, cart contents and order value; checkout is the authoritative source. - Never claim that an order, payment, reservation or discount has been completed unless the storefront explicitly confirms it. - Cannabis laws vary by jurisdiction. Users are responsible for checking the laws that apply at their destination. ## Brand and contact - Brand: PevGrow - Company: Site of shops online S.L. - Location: Valencia, Spain - Customer service and legal information are available from the localized storefront footer. ## Content policy - Prefer direct links to the relevant localized page over copied catalog text. - Attribute factual product claims to the corresponding page and distinguish editorial guidance from product specifications. - Respect https://pevgrow.es/robots.txt and the terms, privacy and cookie information linked from the storefront. ## MCP tools (21) Connect with Streamable HTTP to https://pevgrow.es/api/mcp and call `tools/list` for the input schema of each tool. ### Catalog (public) - `search_products` - `recommend_products` - `get_product` - `list_categories` - `get_policies` ### Editorial guides (public) - `search_blog_articles` - `get_blog_article` - `scale_blog_recipe` - `CannabisSexObservationGuide` - `PollinationGoalDecisionMap` - `MaleFlowerStageNavigator` ### Conversation with Mari (public) - `ask_mari` ### Quotes and registration (public); orders (partner API key) - `quote_cart` - `request_registration_code` - `register_partner` - `quote_shipping` - `create_order` - `get_order` - `cancel_order` ### Payment (x402 v2) - `get_payment_challenge` - `submit_payment` ## REST contract - OpenAPI 3.1: https://pevgrow.es/openapi.json - Typical flow: search (GET /api/aeo/products) -> detail (GET /api/aeo/products/{slug}) -> quote (POST /api/shipping/packlink/quote) -> order (POST /api/agent/orders) -> pay (POST /api/agent/orders/{id}/pay) -> status (GET /api/agent/orders/{id}). - Errors are JSON objects with an `error` code. Retry 409 `shipping_quote_changed` by quoting again; never alter a quote token.