{
  "info": {
    "name": "Vitaponix MCP Server",
    "description": "JSON-RPC runner for the Vitaponix MCP server. Every request is a POST to {{mcp_url}} with Content-Type: application/json and Accept: application/json, text/event-stream (both are required — the server rejects requests without the dual Accept header with HTTP 406).\n\nAuthentication: OAuth 2.1 as your own Vitaponix account. Paste a valid access token into the {{access_token}} collection variable (a bearer token from any OAuth-capable MCP client session works). Catalog tools are read-only; account tools only ever see your own saved plans.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [{ "key": "token", "value": "{{access_token}}", "type": "string" }]
  },
  "variable": [
    { "key": "mcp_url", "value": "https://vitaponix.com/mcp" },
    { "key": "access_token", "value": "" }
  ],
  "item": [
    {
      "name": "Setup",
      "item": [
        {
          "name": "Initialize session",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json, text/event-stream" }
            ],
            "url": { "raw": "{{mcp_url}}", "host": ["{{mcp_url}}"] },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"initialize\",\n  \"params\": {\n    \"protocolVersion\": \"2025-03-26\",\n    \"capabilities\": {},\n    \"clientInfo\": { \"name\": \"postman\", \"version\": \"1.0\" }\n  }\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "Handshake with the server and read its capabilities and instructions."
          }
        },
        {
          "name": "List available tools",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json, text/event-stream" }
            ],
            "url": { "raw": "{{mcp_url}}", "host": ["{{mcp_url}}"] },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 2,\n  \"method\": \"tools/list\"\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "Discover the full machine-readable input schema for every tool."
          }
        }
      ]
    },
    {
      "name": "Catalog",
      "item": [
        {
          "name": "search_products",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json, text/event-stream" }
            ],
            "url": { "raw": "{{mcp_url}}", "host": ["{{mcp_url}}"] },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 3,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"search_products\",\n    \"arguments\": {\n      \"query\": \"seaweed root\",\n      \"category\": \"Foundation\",\n      \"stage\": \"veg\",\n      \"sort\": \"price\",\n      \"page\": 1,\n      \"pageSize\": 5\n    }\n  }\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "Typo-tolerant catalog search with origin/category/stage filters, relevance/newest/price sorting, and page/pageSize pagination. The result carries page, pageSize, total, totalPages and hasMore — while hasMore is true, request page + 1 with identical query, filters and sort."
          }
        },
        {
          "name": "search_products — next page",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json, text/event-stream" }
            ],
            "url": { "raw": "{{mcp_url}}", "host": ["{{mcp_url}}"] },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 4,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"search_products\",\n    \"arguments\": {\n      \"query\": \"seaweed root\",\n      \"category\": \"Foundation\",\n      \"stage\": \"veg\",\n      \"sort\": \"price\",\n      \"page\": 2,\n      \"pageSize\": 5\n    }\n  }\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "Identical to the previous call except page: 2 — the paging contract in action."
          }
        },
        {
          "name": "list_products",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json, text/event-stream" }
            ],
            "url": { "raw": "{{mcp_url}}", "host": ["{{mcp_url}}"] },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 5,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"list_products\",\n    \"arguments\": {}\n  }\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "List the full nutrient catalog with category, growth stage and a short description per product."
          }
        },
        {
          "name": "get_product",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json, text/event-stream" }
            ],
            "url": { "raw": "{{mcp_url}}", "host": ["{{mcp_url}}"] },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 6,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"get_product\",\n    \"arguments\": { \"slug\": \"vita-root\" }\n  }\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "Full details for one product by slug: benefits, guaranteed analysis, signaling and feeding directions."
          }
        }
      ]
    },
    {
      "name": "Subscription plans",
      "item": [
        {
          "name": "list_subscription_plan_options",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json, text/event-stream" }
            ],
            "url": { "raw": "{{mcp_url}}", "host": ["{{mcp_url}}"] },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 7,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"list_subscription_plan_options\",\n    \"arguments\": {}\n  }\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "Every configurable subscription option with allowed values and defaults: plan templates, harvest commitment and discount tiers, delivery frequency presets, payment options, seasonal break, regions and grower types. Public — no token needed."
          }
        },
        {
          "name": "list_my_subscription_plans",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json, text/event-stream" }
            ],
            "url": { "raw": "{{mcp_url}}", "host": ["{{mcp_url}}"] },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 8,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"list_my_subscription_plans\",\n    \"arguments\": {}\n  }\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "List the subscription plans saved under your own account, newest first. Requires the {{access_token}} variable."
          }
        },
        {
          "name": "get_my_subscription_plan",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json, text/event-stream" }
            ],
            "url": { "raw": "{{mcp_url}}", "host": ["{{mcp_url}}"] },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 9,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"get_my_subscription_plan\",\n    \"arguments\": { \"id\": \"3f6b2c1e-8a4d-4e2f-9c5b-7d1a0e8f6b2a\" }\n  }\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "Full details of one saved plan — replace the example UUID with a real ID from list_my_subscription_plans. Requires the {{access_token}} variable."
          }
        },
        {
          "name": "update_my_subscription_plan",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "Accept", "value": "application/json, text/event-stream" }
            ],
            "url": { "raw": "{{mcp_url}}", "host": ["{{mcp_url}}"] },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 10,\n  \"method\": \"tools/call\",\n  \"params\": {\n    \"name\": \"update_my_subscription_plan\",\n    \"arguments\": {\n      \"id\": \"3f6b2c1e-8a4d-4e2f-9c5b-7d1a0e8f6b2a\",\n      \"harvestCommitment\": 10,\n      \"frequencyWeeks\": 12,\n      \"paymentOption\": \"monthly\",\n      \"includeSeasonalBreak\": true,\n      \"breakStartMonth\": \"December\",\n      \"breakDurationMonths\": 3\n    }\n  }\n}",
              "options": { "raw": { "language": "json" } }
            },
            "description": "Update saved plan settings — only the fields you pass change; the response is the full updated plan. Replace the example UUID with a real ID from list_my_subscription_plans. Requires the {{access_token}} variable."
          }
        }
      ]
    }
  ]
}
