← WebMCP Directory

Tool tree

cleardose-webmcp-demo.netlify.app

CommerceTools verified
Website
See the ClearDose WebMCP use case, shared Vue and Pinia architecture, demo workflow, source repository, and submission readiness.
Explore capabilities

    page: Every page

    search_medicationsAnswer

    Search public and loaded drugs by name, brand or category. Update visible results; return IDs for details or comparison.

    View tool JSON
    {
      "name": "search_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search public and loaded drugs by name, brand or category. Update visible results; return IDs for details or comparison.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Drug name, brand or catalog category.",
            "minLength": 1,
            "maxLength": 120
          },
          "form": {
            "type": "string",
            "description": "Exact form filter.",
            "minLength": 1,
            "maxLength": 80
          },
          "strength": {
            "type": "string",
            "description": "Exact strength and unit filter.",
            "minLength": 1,
            "maxLength": 120
          },
          "offset": {
            "type": "integer",
            "description": "Offset, default 0.",
            "minimum": 0,
            "maximum": 100
          },
          "limit": {
            "type": "integer",
            "description": "Page size, default 5. Does not limit visible results.",
            "minimum": 1,
            "maximum": 10
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    get_medication_detailsAnswer

    Read source status and exact fictional shopConfigurations, not dosing advice. Full public facts: compare_medications.

    View tool JSON
    {
      "name": "get_medication_details",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read source status and exact fictional shopConfigurations, not dosing advice. Full public facts: compare_medications.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "medicationId": {
            "type": "string",
            "description": "ID from search_medications.",
            "pattern": "^med-[a-z0-9-]+$",
            "minLength": 1,
            "maxLength": 128
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "description": "Configuration offset, default 0. Follow nextOffset for all."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Configurations per page, default 5."
          }
        },
        "required": [
          "medicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_fulfillment_optionsAction

    Compare fictional pharmacy/delivery totals, not public benchmarks. Supply all four exact SKU fields from get_medication_details or omit for current selection. Never infer dosing or substitutions.

    View tool JSON
    {
      "name": "compare_fulfillment_options",
      "kind": "act",
      "impl": "imperative",
      "description": "Compare fictional pharmacy/delivery totals, not public benchmarks. Supply all four exact SKU fields from get_medication_details or omit for current selection. Never infer dosing or substitutions.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "medicationId": {
            "type": "string",
            "description": "ID from search_medications.",
            "pattern": "^med-[a-z0-9-]+$",
            "minLength": 1,
            "maxLength": 128
          },
          "form": {
            "type": "string",
            "description": "Exact form from get_medication_details shopConfigurations.",
            "minLength": 1,
            "maxLength": 80
          },
          "strength": {
            "type": "string",
            "description": "Exact shopConfigurations strength and unit.",
            "minLength": 1,
            "maxLength": 120
          },
          "quantity": {
            "type": "integer",
            "description": "Exact shopConfigurations quantity. Never infer a dose.",
            "minimum": 1,
            "maximum": 1000
          },
          "maxDeliveryDays": {
            "type": "integer",
            "description": "Maximum delivery days; 0 requires pickup today.",
            "minimum": 0,
            "maximum": 30
          },
          "offset": {
            "type": "integer",
            "description": "Rank offset, default 0.",
            "minimum": 0,
            "maximum": 100
          },
          "maxResults": {
            "type": "integer",
            "description": "Page size, default 5. Does not limit the visible comparison.",
            "minimum": 1,
            "maximum": 8
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    select_medication_optionAction

    Select compare_fulfillment_options offer/delivery IDs. Change selection, not cart.

    View tool JSON
    {
      "name": "select_medication_option",
      "kind": "act",
      "impl": "imperative",
      "description": "Select compare_fulfillment_options offer/delivery IDs. Change selection, not cart.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "offerId": {
            "type": "string",
            "description": "Exact compared offer ID.",
            "pattern": "^offer-[a-z0-9-]+$",
            "minLength": 1,
            "maxLength": 128
          },
          "deliveryOptionId": {
            "type": "string",
            "description": "Delivery ID for that offer.",
            "pattern": "^[a-z0-9-]+$",
            "minLength": 1,
            "maxLength": 128
          }
        },
        "required": [
          "offerId",
          "deliveryOptionId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    create_prescription_request_cardAction

    Show a demo request card for exact compared offer/delivery IDs. Never issues or transmits a prescription.

    View tool JSON
    {
      "name": "create_prescription_request_card",
      "kind": "act",
      "impl": "imperative",
      "description": "Show a demo request card for exact compared offer/delivery IDs. Never issues or transmits a prescription.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "offerId": {
            "type": "string",
            "description": "Exact compared offer ID.",
            "pattern": "^offer-[a-z0-9-]+$",
            "minLength": 1,
            "maxLength": 128
          },
          "deliveryOptionId": {
            "type": "string",
            "description": "Delivery ID for that offer.",
            "pattern": "^[a-z0-9-]+$",
            "minLength": 1,
            "maxLength": 128
          },
          "patientName": {
            "type": "string",
            "description": "Demo patient name.",
            "minLength": 1,
            "maxLength": 100
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Demo birth date, YYYY-MM-DD.",
            "format": "date",
            "maxLength": 10
          },
          "prescriberName": {
            "type": "string",
            "description": "Demo prescriber name.",
            "minLength": 1,
            "maxLength": 100
          },
          "practice": {
            "type": "string",
            "description": "Demo practice name.",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "required": [
          "offerId",
          "deliveryOptionId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    add_to_cartAction

    After the user chooses compared offer/delivery IDs, add to the demo cart and open it. Does not check out.

    View tool JSON
    {
      "name": "add_to_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "After the user chooses compared offer/delivery IDs, add to the demo cart and open it. Does not check out.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "offerId": {
            "type": "string",
            "description": "Exact compared offer ID.",
            "pattern": "^offer-[a-z0-9-]+$",
            "minLength": 1,
            "maxLength": 128
          },
          "deliveryOptionId": {
            "type": "string",
            "description": "Delivery ID for that offer.",
            "pattern": "^[a-z0-9-]+$",
            "minLength": 1,
            "maxLength": 128
          }
        },
        "required": [
          "offerId",
          "deliveryOptionId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    view_cartAnswer

    Read demo cart items, delivery, totals and checkout readiness before edits.

    View tool JSON
    {
      "name": "view_cart",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read demo cart items, delivery, totals and checkout readiness before edits.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "Item offset, default 0.",
            "minimum": 0,
            "maximum": 100
          },
          "limit": {
            "type": "integer",
            "description": "Items per page, default 3.",
            "minimum": 1,
            "maximum": 5
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_cart_savingsAnswer

    Compare exact cart SKUs with lowest delivered demo prices. Return savings/replacement IDs. No cart edits or medication substitutions.

    View tool JSON
    {
      "name": "compare_cart_savings",
      "kind": "answer",
      "impl": "imperative",
      "description": "Compare exact cart SKUs with lowest delivered demo prices. Return savings/replacement IDs. No cart edits or medication substitutions.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "Line offset, default 0.",
            "minimum": 0,
            "maximum": 100
          },
          "limit": {
            "type": "integer",
            "description": "Savings rows per page, default 5.",
            "minimum": 1,
            "maximum": 5
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    remove_cart_itemAction

    Remove cartItemId from view_cart or add_to_cart; update cart totals.

    View tool JSON
    {
      "name": "remove_cart_item",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove cartItemId from view_cart or add_to_cart; update cart totals.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cartItemId": {
            "type": "string",
            "description": "Cart item ID from view_cart.",
            "pattern": "^cart-[A-Za-z0-9-]+$",
            "minLength": 1,
            "maxLength": 128
          }
        },
        "required": [
          "cartItemId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    set_delivery_optionAction

    Set an available view_cart delivery method; recalculate item and cart totals.

    View tool JSON
    {
      "name": "set_delivery_option",
      "kind": "act",
      "impl": "imperative",
      "description": "Set an available view_cart delivery method; recalculate item and cart totals.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cartItemId": {
            "type": "string",
            "description": "Cart item ID from view_cart.",
            "pattern": "^cart-[A-Za-z0-9-]+$",
            "minLength": 1,
            "maxLength": 128
          },
          "deliveryOptionId": {
            "type": "string",
            "description": "Delivery ID for that offer.",
            "pattern": "^[a-z0-9-]+$",
            "minLength": 1,
            "maxLength": 128
          }
        },
        "required": [
          "cartItemId",
          "deliveryOptionId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    prepare_demo_checkoutAction

    Fill /checkout with supplied demo recipient fields for human review. The person may edit before Place demo order. Does not create an order.

    View tool JSON
    {
      "name": "prepare_demo_checkout",
      "kind": "act",
      "impl": "imperative",
      "description": "Fill /checkout with supplied demo recipient fields for human review. The person may edit before Place demo order. Does not create an order.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "Demo recipient name.",
            "minLength": 1,
            "maxLength": 100
          },
          "address": {
            "type": "object",
            "properties": {
              "line1": {
                "type": "string",
                "description": "Demo street address.",
                "minLength": 1,
                "maxLength": 120
              },
              "line2": {
                "type": "string",
                "description": "Demo apartment or unit.",
                "minLength": 1,
                "maxLength": 120
              },
              "city": {
                "type": "string",
                "description": "Demo city.",
                "minLength": 1,
                "maxLength": 80
              },
              "state": {
                "type": "string",
                "description": "Two-letter US state code.",
                "pattern": "^[A-Za-z]{2}$",
                "minLength": 2,
                "maxLength": 2
              },
              "postalCode": {
                "type": "string",
                "description": "Five-digit or ZIP+4 demo postal code.",
                "pattern": "^[0-9]{5}(?:-[0-9]{4})?$",
                "minLength": 5,
                "maxLength": 10
              }
            },
            "required": [
              "line1",
              "city",
              "state",
              "postalCode"
            ],
            "additionalProperties": false
          },
          "prescriptionStatus": {
            "type": "string",
            "description": "Demo prescription handling.",
            "enum": [
              "provider-will-send",
              "request-prepared"
            ]
          }
        },
        "required": [
          "fullName",
          "address",
          "prescriptionStatus"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    checkout_demo_orderSensitive Action

    Only after the user asks, create a local demo order and show confirmation. Never transmits payment, prescriptions or pharmacy requests.

    View tool JSON
    {
      "name": "checkout_demo_order",
      "kind": "transact",
      "impl": "imperative",
      "description": "Only after the user asks, create a local demo order and show confirmation. Never transmits payment, prescriptions or pharmacy requests.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "Demo recipient name.",
            "minLength": 1,
            "maxLength": 100
          },
          "address": {
            "type": "object",
            "properties": {
              "line1": {
                "type": "string",
                "description": "Demo street address.",
                "minLength": 1,
                "maxLength": 120
              },
              "line2": {
                "type": "string",
                "description": "Demo apartment or unit.",
                "minLength": 1,
                "maxLength": 120
              },
              "city": {
                "type": "string",
                "description": "Demo city.",
                "minLength": 1,
                "maxLength": 80
              },
              "state": {
                "type": "string",
                "description": "Two-letter US state code.",
                "pattern": "^[A-Za-z]{2}$",
                "minLength": 2,
                "maxLength": 2
              },
              "postalCode": {
                "type": "string",
                "description": "Five-digit or ZIP+4 demo postal code.",
                "pattern": "^[0-9]{5}(?:-[0-9]{4})?$",
                "minLength": 5,
                "maxLength": 10
              }
            },
            "required": [
              "line1",
              "city",
              "state",
              "postalCode"
            ],
            "additionalProperties": false
          },
          "prescriptionStatus": {
            "type": "string",
            "description": "Demo prescription handling.",
            "enum": [
              "provider-will-send",
              "request-prepared"
            ]
          }
        },
        "required": [
          "fullName",
          "address",
          "prescriptionStatus"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    get_order_statusAnswer

    Read demo order status; omit orderId for current. Never returns recipient name or address.

    View tool JSON
    {
      "name": "get_order_status",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read demo order status; omit orderId for current. Never returns recipient name or address.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "description": "Demo order ID from checkout_demo_order.",
            "pattern": "^CD-[0-9]{4}-[0-9]{4}$",
            "minLength": 1,
            "maxLength": 128
          },
          "itemOffset": {
            "type": "integer",
            "description": "Item offset, default 0.",
            "minimum": 0,
            "maximum": 100
          },
          "itemLimit": {
            "type": "integer",
            "description": "Items per page, default 5.",
            "minimum": 1,
            "maximum": 5
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    cleardose_select_drugsAction

    Edit up to four Explorer drugs by ID or generic/brand name. Fact cards follow selection. No prescription or cart edits.

    View tool JSON
    {
      "name": "cleardose_select_drugs",
      "kind": "act",
      "impl": "imperative",
      "description": "Edit up to four Explorer drugs by ID or generic/brand name. Fact cards follow selection. No prescription or cart edits.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "workspaceRevision": {
            "type": "string",
            "minLength": 1,
            "maxLength": 96,
            "description": "Token from cleardose_get_explorer_state or last edit."
          },
          "drugs": {
            "type": "array",
            "minItems": 0,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID or generic/brand name. State reader lists IDs. Out-of-mode IDs are removal-only."
            },
            "description": "Distinct IDs or names. Replace with [] clears selection."
          },
          "mode": {
            "type": "string",
            "enum": [
              "replace",
              "add",
              "remove"
            ],
            "description": "Replace clears first. Remove needs selected IDs."
          }
        },
        "required": [
          "workspaceRevision",
          "drugs"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    cleardose_show_drug_factAction

    Show Explorer facts. Replace hides other rows; add keeps them. Optional drugs replace selection. Missing facts stay unavailable. No clinical interaction check.

    View tool JSON
    {
      "name": "cleardose_show_drug_fact",
      "kind": "act",
      "impl": "imperative",
      "description": "Show Explorer facts. Replace hides other rows; add keeps them. Optional drugs replace selection. Missing facts stay unavailable. No clinical interaction check.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "workspaceRevision": {
            "type": "string",
            "minLength": 1,
            "maxLength": 96,
            "description": "Token from cleardose_get_explorer_state or last edit."
          },
          "facts": {
            "type": "array",
            "minItems": 1,
            "maxItems": 14,
            "items": {
              "type": "string",
              "enum": [
                "identity",
                "uses",
                "ingredients",
                "strengths",
                "side-effects",
                "warnings",
                "boxed-warnings",
                "interactions",
                "pricing",
                "clinical-pharmacology",
                "pregnancy",
                "pediatric",
                "geriatric",
                "adverse-events"
              ],
              "description": "Public fact, not a personalized safety check."
            },
            "description": "Requested fact rows."
          },
          "mode": {
            "type": "string",
            "enum": [
              "replace",
              "add"
            ],
            "description": "Replace rows or add, reusing duplicates."
          },
          "drugs": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID or generic/brand name. State reader lists IDs. Out-of-mode IDs are removal-only."
            },
            "description": "Replacement selection. Omit to keep drugs."
          }
        },
        "required": [
          "workspaceRevision",
          "facts"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    cleardose_update_fact_cardAction

    Change one visible Explorer card to another fact. Keep drug selection and medication records.

    View tool JSON
    {
      "name": "cleardose_update_fact_card",
      "kind": "act",
      "impl": "imperative",
      "description": "Change one visible Explorer card to another fact. Keep drug selection and medication records.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "workspaceRevision": {
            "type": "string",
            "minLength": 1,
            "maxLength": 96,
            "description": "Token from cleardose_get_explorer_state or last edit."
          },
          "cardId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$",
            "description": "Current card ID from the state reader."
          },
          "factType": {
            "type": "string",
            "enum": [
              "identity",
              "uses",
              "ingredients",
              "strengths",
              "side-effects",
              "warnings",
              "boxed-warnings",
              "interactions",
              "pricing",
              "clinical-pharmacology",
              "pregnancy",
              "pediatric",
              "geriatric",
              "adverse-events"
            ],
            "description": "Public fact, not a personalized safety check."
          }
        },
        "required": [
          "workspaceRevision",
          "cardId",
          "factType"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    cleardose_remove_fact_cardAction

    Remove one visible fact card. Keep drugs and records. Get IDs via cleardose_get_explorer_state.

    View tool JSON
    {
      "name": "cleardose_remove_fact_card",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove one visible fact card. Keep drugs and records. Get IDs via cleardose_get_explorer_state.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "workspaceRevision": {
            "type": "string",
            "minLength": 1,
            "maxLength": 96,
            "description": "Token from cleardose_get_explorer_state or last edit."
          },
          "cardId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$",
            "description": "Current card ID from the state reader."
          }
        },
        "required": [
          "workspaceRevision",
          "cardId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    cleardose_get_explorer_stateAnswer

    Read selection, cards or catalog IDs without page changes. Page with nextOffset and both revision tokens. Full facts: compare_medications.

    View tool JSON
    {
      "name": "cleardose_get_explorer_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read selection, cards or catalog IDs without page changes. Page with nextOffset and both revision tokens. Full facts: compare_medications.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "section": {
            "type": "string",
            "enum": [
              "workspace",
              "selected",
              "cards",
              "catalog"
            ],
            "description": "Workspace: drugs and cards. Catalog: IDs and names."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 112,
            "description": "Start at 0, then follow nextOffset."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "workspaceRevision": {
            "type": "string",
            "minLength": 1,
            "maxLength": 96,
            "description": "First-page token, required after offset 0."
          },
          "stateRevision": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "description": "First-page state token, required after offset 0."
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }

    page: Hackathon

    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-2",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-2",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-3",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-3",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-4",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-4",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-5",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-5",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-6",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-6",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-7",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-7",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-8",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-8",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-9",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-9",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-10",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-10",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-11",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-11",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-12",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-12",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-13",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-13",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-14",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-14",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-15",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-15",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-16",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-16",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-17",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-17",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-18",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-18",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-19",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-19",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-20",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-20",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-21",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-21",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-22",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-22",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-23",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-23",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-24",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-24",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-25",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-25",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-26",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-9216fe13-0a5-26",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/hackathon"
    }

    page: Home

    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-dbfa813e-37c-1",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "page",
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-dbfa813e-37c-1",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "page",
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }

    page: Medications

    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-1faca6da-9f1-2",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "page",
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/medications"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-1faca6da-9f1-2",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "page",
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/medications"
    }

    page: Explore

    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-b237fa98-a4f-2",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/drugs/explore"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-b237fa98-a4f-2",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/drugs/explore"
    }

    page: Compare

    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-b1e830d0-df7-2",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/compare"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-b1e830d0-df7-2",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/compare"
    }

    page: Prescription card

    find_related_medicationsAnswer

    Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.

    View tool JSON
    {
      "name": "find_related_medications",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find and explain shared catalog fields. Similarity is not therapeutic interchangeability or advice about suitability.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-719a4b8a-7ce-2",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "referenceMedicationId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "ID from cleardose_get_explorer_state section catalog.",
            "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
          },
          "basis": {
            "type": "string",
            "enum": [
              "ingredient",
              "class",
              "category",
              "form"
            ],
            "description": "Match field. Ingredient/class need loaded public facts."
          }
        },
        "required": [
          "contextRevision",
          "referenceMedicationId"
        ],
        "additionalProperties": false
      },
      "page": "/prescription-card"
    }
    compare_medicationsAction

    Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.

    View tool JSON
    {
      "name": "compare_medications",
      "kind": "act",
      "impl": "imperative",
      "description": "Read up to four drugs without page changes. For a visible report, call cleardose_show_drug_fact with drugs/facts. Follow nextOffset. FDA interactions are label text, not a pairwise check or treatment decision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "contextRevision": {
            "type": "string",
            "const": "catalog-719a4b8a-7ce-2",
            "description": "Refresh tools after catalog or page changes."
          },
          "scope": {
            "type": "string",
            "enum": [
              "catalog"
            ],
            "description": "Page: visible IDs. Catalog: all loaded IDs."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Start at 0, then follow nextOffset for all rows."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Row limit; budget may return fewer."
          },
          "medicationIds": {
            "type": "array",
            "minItems": 1,
            "maxItems": 4,
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "description": "ID from cleardose_get_explorer_state section catalog.",
              "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{0,127}$"
            },
            "description": "Distinct IDs. Page scope needs visible IDs."
          },
          "section": {
            "type": "string",
            "enum": [
              "identity",
              "product",
              "clinical",
              "prices",
              "sources"
            ],
            "description": "Clinical pages full available FDA text."
          }
        },
        "required": [
          "contextRevision",
          "medicationIds"
        ],
        "additionalProperties": false
      },
      "page": "/prescription-card"
    }