{
  "version": "1.1",
  "site": "https://pepchile.com",
  "description": "Agent skills exposed by PepChile. Every skill is read-only and public; get_order_status additionally requires the email address on the order as its authorization. The canonical transport is the MCP server at https://pepchile.com/api/mcp; a REST equivalent is listed where one exists.",
  "documentation": "https://pepchile.com/developers/",
  "transports": {
    "mcp": "https://pepchile.com/api/mcp",
    "a2a": "https://pepchile.com/api/a2a"
  },
  "skills": [
    {
      "id": "search_products",
      "name": "search_products",
      "title": "Search the PepChile catalog",
      "description": "Search peptides and accessories by compound name, category or research goal. Returns price in CLP (IVA included), live stock, certified purity and the canonical product URL.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Free text in Spanish or English. Example: 'peptidos para recuperacion muscular'."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10
          },
          "inStockOnly": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "query"
        ]
      },
      "endpoint": {
        "method": "POST",
        "href": "https://pepchile.com/api/mcp",
        "contentType": "application/json",
        "protocol": "mcp-streamable-http",
        "body": {
          "jsonrpc": "2.0",
          "id": 1,
          "method": "tools/call",
          "params": {
            "name": "search_products",
            "arguments": {}
          }
        }
      },
      "restEquivalent": {
        "method": "GET",
        "href": "https://pepchile.com/api/products",
        "note": "Returns the whole published catalog in one call; filter client-side."
      },
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "id": "get_product",
      "name": "get_product",
      "title": "Get product details",
      "description": "Full details for one product: price in CLP, stock, purity, description, image and the reconstitution volume in mL from its own guide.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "URL slug ('bpc-157') or dose-suffixed database id ('bpc-157-10mg')."
          }
        },
        "required": [
          "slug"
        ]
      },
      "endpoint": {
        "method": "POST",
        "href": "https://pepchile.com/api/mcp",
        "contentType": "application/json",
        "protocol": "mcp-streamable-http",
        "body": {
          "jsonrpc": "2.0",
          "id": 1,
          "method": "tools/call",
          "params": {
            "name": "get_product",
            "arguments": {}
          }
        }
      },
      "restEquivalent": {
        "method": "GET",
        "href": "https://pepchile.com/api/products/{id}",
        "note": "REST matches the dose-suffixed database id exactly; the MCP tool also accepts the bare compound slug."
      },
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "id": "get_shipping_quote",
      "name": "get_shipping_quote",
      "title": "Live shipping quote (Chile)",
      "description": "Quote shipping cost in CLP and transit days to a Chilean commune for Starken, Blue Express and Chilexpress. Chile only.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "destinationCommune": {
            "type": "string",
            "description": "Destination commune in Chile."
          },
          "vials": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "default": 1
          },
          "deliveryMode": {
            "type": "string",
            "enum": [
              "home_delivery",
              "branch_pickup"
            ],
            "default": "home_delivery"
          }
        },
        "required": [
          "destinationCommune"
        ]
      },
      "endpoint": {
        "method": "POST",
        "href": "https://pepchile.com/api/mcp",
        "contentType": "application/json",
        "protocol": "mcp-streamable-http",
        "body": {
          "jsonrpc": "2.0",
          "id": 1,
          "method": "tools/call",
          "params": {
            "name": "get_shipping_quote",
            "arguments": {}
          }
        }
      },
      "restEquivalent": {
        "method": "POST",
        "href": "https://pepchile.com/api/shipit/rates",
        "contentType": "application/json",
        "note": "Body: {\"communeName\": \"Providencia\", \"vials\": 1, \"deliveryMode\": \"home_delivery\"}"
      },
      "annotations": {
        "readOnlyHint": true
      }
    },
    {
      "id": "get_order_status",
      "name": "get_order_status",
      "title": "Get order status",
      "description": "Current status, courier and tracking for one order. The email address on the order is the authorization: never call this with a guessed address.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "orderNumber": {
            "type": "string",
            "description": "Order number, e.g. 'PEP-2012' or '2012'."
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "Email address on the order."
          }
        },
        "required": [
          "orderNumber",
          "email"
        ]
      },
      "endpoint": {
        "method": "POST",
        "href": "https://pepchile.com/api/mcp",
        "contentType": "application/json",
        "protocol": "mcp-streamable-http",
        "body": {
          "jsonrpc": "2.0",
          "id": 1,
          "method": "tools/call",
          "params": {
            "name": "get_order_status",
            "arguments": {}
          }
        }
      },
      "annotations": {
        "readOnlyHint": true
      }
    }
  ],
  "openapi": "https://pepchile.com/openapi.json",
  "onboarding": {
    "api_key_required": false,
    "account_required": false,
    "signup_url": null,
    "free_tier": true,
    "pricing": "free",
    "self_serve": true,
    "sandbox_url": "https://pepchile-dev.pages.dev",
    "rate_limit_per_minute": 60,
    "first_call": "curl https://pepchile.com/api/products",
    "openapi": "https://pepchile.com/openapi.json",
    "documentation": "https://pepchile.com/developers/",
    "notes": "Every read endpoint is public and free. Only /api/checkout needs a Supabase anonymous session, and a person must complete the payment."
  }
}
