{
  "message": "Lyra MCP server. POST JSON-RPC 2.0 here. See https://lyrasearch.com/mcp/about for setup instructions.",
  "protocolVersion": "2025-06-18",
  "serverInfo": {
    "name": "lyra-mcp",
    "version": "0.3.0"
  },
  "toolCount": 26,
  "tools": [
    {
      "name": "check_domain",
      "description": "Checks if a domain is on the block list, the Clean list, or neither."
    },
    {
      "name": "suggest_alternatives",
      "description": "Returns up to N curated Clean alternatives based on a queried domain or category."
    },
    {
      "name": "get_stats",
      "description": "Aggregate statistics about the Lyra lists."
    },
    {
      "name": "submit_block_domain",
      "description": "Submits a new domain to the Lyra block list for human review. Requires Bearer license key."
    },
    {
      "name": "submit_clean_brand",
      "description": "Submits a brand to the Lyra Clean list for human review. Requires Bearer license key."
    },
    {
      "name": "list_personal",
      "description": "Returns the authenticated user personal block + Clean lists. Requires Bearer license key."
    },
    {
      "name": "get_my_block_list",
      "description": "Returns the authenticated user's OWN refined block list (never the official Lyra list). Read-only. Requires Bearer license key."
    },
    {
      "name": "get_my_clean_list",
      "description": "Returns the authenticated user's OWN refined Clean list (never the official Lyra list). Read-only. Requires Bearer license key."
    },
    {
      "name": "get_recurring_purchases",
      "description": "Returns what the user rebuys, with cadence and next-due date (Spec 01). Read-only. Requires Bearer license key."
    },
    {
      "name": "get_monthly_essentials",
      "description": "Returns the user's monthly essentials snapshot: estimated total, month-vs-month delta, and flagged items (Spec 03). Read-only. Requires Bearer license key."
    },
    {
      "name": "get_shopping_plan",
      "description": "Returns the user's planning / wishlist: future purchases with an optional when-window, budget cap and note. Read-only. Requires Bearer license key."
    },
    {
      "name": "list_future_purchases",
      "description": "Alias of get_shopping_plan, the future-purchase planning list. Read-only. Requires Bearer license key."
    },
    {
      "name": "get_warranties",
      "description": "Returns the user's tracked product warranties with expiry dates and coverage notes. Read-only. Requires Bearer license key."
    },
    {
      "name": "get_offers",
      "description": "Returns Lyra clean-search links to re-buy the user's recurring and planned items, built on the user's device. Read-only, needs an armed Lyra app."
    },
    {
      "name": "add_to_plan",
      "description": "WRITES a future-purchase entry to the user's OWN planning list (item, optional when-window, optional budget, optional note). Needs an armed Lyra app; if it is not unlocked you get a needs_lyra_unlock link to hand the user. Requires Bearer license key."
    },
    {
      "name": "update_plan",
      "description": "WRITES changes to an existing entry in the user's OWN planning list, found by id (any of item, when-window, budget, note, url). Needs an armed Lyra app; if it is not unlocked you get a needs_lyra_unlock link to hand the user. Requires Bearer license key."
    },
    {
      "name": "remove_from_plan",
      "description": "WRITES a removal of one entry from the user's OWN planning list, by id. Needs an armed Lyra app; if it is not unlocked you get a needs_lyra_unlock link to hand the user. Requires Bearer license key."
    },
    {
      "name": "add_warranty",
      "description": "WRITES a tracked product warranty to the user's OWN warranties (product name, coverage months, optional purchase date, optional note). Needs an armed Lyra app; if it is not unlocked you get a needs_lyra_unlock link to hand the user. Requires Bearer license key."
    },
    {
      "name": "add_personal_block",
      "description": "Adds a domain to the user personal block list. Requires Bearer license key."
    },
    {
      "name": "remove_personal_block",
      "description": "Removes a domain from the user personal block list. Requires Bearer license key."
    },
    {
      "name": "add_personal_clean",
      "description": "Adds a brand to the user personal Clean list. Requires Bearer license key."
    },
    {
      "name": "remove_personal_clean",
      "description": "Removes a brand from the user personal Clean list. Requires Bearer license key."
    },
    {
      "name": "arm_lyra",
      "description": "Arm your Lyra app to let me read your purchases. Returns a link to open in Lyra where you enter your master password."
    },
    {
      "name": "search_with_lyra",
      "description": "Returns a search URL that applies Lyra block filters before sending to DuckDuckGo or Google. If authenticated, includes the user personal block list too."
    },
    {
      "name": "get_install_links",
      "description": "Returns install URLs and status for each Lyra channel: Chrome desktop, Edge, Safari (iOS+macOS), Android, iOS, web."
    },
    {
      "name": "get_share_message",
      "description": "Returns ready-to-paste share messages and intent URLs (twitter, whatsapp, telegram, email, linkedin, facebook)."
    }
  ]
}