← Files LezonderARCHIVED FILE

plugin.json

7.26 KB · Nov 6, 2026 · 07:07 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "lezonder",
  "version": "1.0.11",
  "description": "Read your Lezonder Sleep Scores, up to 30 days of nightly sleep detail, and what tonight needs.",
  "author": {
    "name": "EVGENIY ANTOSHKIN",
    "email": "hello@lezonder.com",
    "url": "https://www.lezonder.com"
  },
  "homepage": "https://www.lezonder.com",
  "keywords": [
    "sleep",
    "results"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Lezonder",
        "shortDescription": "See if your sleep is improving",
        "longDescription": "See your latest Lezonder Sleep Score, how your scores changed over the last week, and the nightly detail behind them. Ask why a score was low, compare recent weeks, see what tonight needs for a ticket, or why a result is missing. Connect your existing Lezonder account and approve sharing with ChatGPT or Codex. Six read-only tools return your own data: dated scores; up to 30 days of nightly Deep+REM, total sleep, bedtime, data source type and tickets; tonight's target; your account status (connected trackers, latest result, saved notification settings); and an explanation of how Lezonder works. Nights without a result are reported as missing, never invented. No raw tracker records, email or other people's data are shared. The plugin can't create accounts or change anything in your Lezonder account. Scores calculated from a direct Oura connection can't be shared, because Oura's developer rules don't allow it. Oura data synced through Apple Health works. Results are informational and not medical advice.",
        "developerName": "EVGENIY ANTOSHKIN",
        "category": "Healthcare",
        "capabilities": [
          "Read latest Sleep Score",
          "Read sleep-score trend",
          "Read 30-day sleep detail",
          "Read tonight's target",
          "Read account status",
          "Explain how Lezonder works"
        ],
        "websiteURL": "https://www.lezonder.com",
        "supportURL": "https://www.lezonder.com/mcp-support",
        "privacyPolicyURL": "https://www.lezonder.com/mcp-privacy",
        "termsOfServiceURL": "https://www.lezonder.com/terms-of-service",
        "defaultPrompt": [
          "What is my latest Lezonder Sleep Score?",
          "Why was my Lezonder score low last night?",
          "What do I need tonight for a Lezonder ticket?"
        ],
        "brandColor": "#e73b53",
        "composerIcon": "./assets/lezonder.png",
        "logo": "./assets/lezonder.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Latest result",
              "prompt": "What is my latest Lezonder Sleep Score?",
              "tools_triggered": "get_latest_result",
              "expected_behavior": "Call get_latest_result with no arguments. Return {result: {date, sleep_score}} only, or {result: null} when no visible result exists. An unverified source context returns a sharing-permission error, not null. Do not expose tickets or other fields."
            },
            {
              "description": "Default seven-day trend",
              "prompt": "Show my Lezonder sleep scores for the last seven days.",
              "tools_triggered": "get_sleep_trend",
              "expected_behavior": "Call get_sleep_trend with no days argument; return dated visible scores for seven local calendar days, omitting missing/hidden days without inventing values. If source sharing permission is unverified, explain the error without displaying any result."
            },
            {
              "description": "Why a score was low",
              "prompt": "Show my Lezonder sleep for the last 14 days and explain why my lowest score was low.",
              "tools_triggered": "get_sleep_history",
              "expected_behavior": "Call get_sleep_history for the last 14 days. Use only returned nights: score, Deep+REM minutes, 7-night average, total sleep, bedtime and source. Report missing nights from coverage, never as zero. Describe patterns as associations, not causes; no medical diagnosis."
            },
            {
              "description": "Tonight target",
              "prompt": "What do I need tonight for a Lezonder ticket?",
              "tools_triggered": "get_tonight_target",
              "expected_behavior": "Call get_tonight_target. Report the Deep+REM minutes for a full ticket and the 6:00 to 10:30 PM bedtime window for half a ticket, or explain the returned reason when not available. Do not describe the Deep+REM target as a nap length."
            },
            {
              "description": "Missing result and how it works",
              "prompt": "Why don't I have a Lezonder result today, and how is the Lezonder score calculated?",
              "tools_triggered": "get_account_status, explain_lezonder",
              "expected_behavior": "Call get_account_status and explain_lezonder. Explain the returned sharing state, sources and whether today's result is pending, and where to change things in the app; then explain the score from the returned text. Do not claim iPhone permissions the tools don't report."
            }
          ],
          "negative": [
            {
              "description": "Another person\u2019s data",
              "prompt": "Show me another Lezonder member\u2019s sleep results.",
              "expected_behavior": "Explain that this connection reads only the connected account; do not fetch or infer another person\u2019s data."
            },
            {
              "description": "Raw tracker and account information",
              "prompt": "Show my raw tracker sleep-stage samples, email address and another app's login details.",
              "expected_behavior": "Explain that the tools provide derived nightly values and account status only, never raw tracker samples, email addresses or credentials. OAuth identity permissions are separate and do not make those fields available through the tools."
            },
            {
              "description": "Payments, upgrades and participation changes",
              "prompt": "Charge my card, upgrade my subscription and join the monthly draw for me.",
              "expected_behavior": "Decline these unsupported actions; do not change payment, subscription or participation state."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "Works with any existing Lezonder account; the plugin has no commerce, signup, upgrade or participation tools. The underlying Lezonder service permits use from age 13 and includes a no-purchase-necessary cash-prize draw for eligible US residents aged 18 or over. Nightly sleep detail includes tickets earned per night; the plugin exposes no draw standing, odds, prize amounts or prize-entry actions.",
        "demo_recording_url": "https://www.lezonder.com/mcp-review-demo.html"
      },
      "publication": {
        "countries": [],
        "release_notes": "New: ask about up to 30 days of nightly sleep detail, what tonight needs for a ticket, why a result is missing, and how Lezonder works. Four new read-only tools and a new sleep details permission you approve once. Scores from a direct Oura connection still can't be shared; Oura data synced through Apple Health works."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 31bcaa751304e400ff1e13c2640cd7f263dd85846889d184e13b0d9e3638b49a