← Files JamStationARCHIVED FILE

plugin.json

7.39 KB · Nov 4, 2026 · 00:13 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "jamstation",
  "version": "0.1.3",
  "description": "Manage background music, voice advertisements, and playback schedules for a business's connected JamStation store. Built for retail, restaurant, and other physical-store operators.",
  "author": {
    "name": "JamStation"
  },
  "homepage": "https://jamstation.ai/",
  "keywords": [
    "store",
    "music",
    "advertisements",
    "schedules"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "JamStation",
        "shortDescription": "Manage store music and ads",
        "longDescription": "JamStation helps business owners and store managers operate background music and voice advertising in retail stores, restaurants, and other physical business locations. Connect an existing JamStation account through OAuth and select a store, then browse and favorite playlists, manage music and volume schedules, create voice advertisements, and manage in-store ad schedules or ad distribution to other stores. You can inspect current settings and check schedule conflicts before making changes. Creating or updating advertisements and schedules, changing settings, and deleting items take effect in the connected JamStation service; the assistant requests confirmation before these actions. The plugin manages store audio operations and schedules. It cannot start individual songs on demand or report live device playback telemetry. An existing JamStation account with access to the selected store is required.",
        "developerName": "JamStation",
        "category": "Business & Operations",
        "capabilities": [
          "Browse and favorite playlists",
          "Manage advertisements",
          "Manage store schedules",
          "Manage volume settings"
        ],
        "websiteURL": "https://jamstation.ai/",
        "privacyPolicyURL": "https://app-line-bot.jamstation.ai/privacy",
        "supportURL": "https://jamstation.ai/contact-us",
        "termsOfServiceURL": "https://jamstation.ai/terms-of-service",
        "defaultPrompt": [
          "Find playlists suitable for my store.",
          "Show my in-store advertisement schedules.",
          "Check my current volume settings."
        ],
        "brandColor": "#6356E8",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/icon.png"
      },
      "review": {
        "prompts": [
          "Find playlists suitable for my store and help me schedule my choice after checking conflicts.",
          "Help me draft a voice advertisement and show me the voice options before creating it.",
          "Show my in-store ad schedules and explain any conflicts before making changes."
        ],
        "demo_recording_url": "https://youtu.be/MbpyRcalh-I",
        "test_cases": {
          "positive": [
            {
              "description": "Browse the music catalog and inspect a playlist before scheduling it.",
              "prompt": "Find playlists suitable for a coffee shop afternoon, list a few options, and show details of the playlist I choose.",
              "tools_triggered": "list_catalog_playlists, get_playlist_detail",
              "expected_behavior": "Returns relevant catalog playlists, then shows the selected playlist's details without changing favorites or schedules."
            },
            {
              "description": "Create a playlist schedule from a relative date after checking conflicts.",
              "prompt": "Schedule my selected playlist next Monday through Friday from 09:00 to 12:00. Check conflicts first and create it after I confirm.",
              "tools_triggered": "get_current_time, check_schedule_conflict, create_playlist_schedule",
              "expected_behavior": "Resolves the dates in Asia/Taipei, reports any conflicts, asks for confirmation, and creates the schedule only after approval."
            },
            {
              "description": "Generate ad copy and create a voice advertisement with quota and voice checks.",
              "prompt": "Generate ad copy for my coffee shop's weekend new-product event. Let me choose a candidate, then create an ad with a suitable Chinese voice.",
              "tools_triggered": "get_ad_edit_limits, list_voice_sources, generate_ad_script, create_advertisement, get_advertisement",
              "expected_behavior": "Discloses quota and logging effects, offers generated copy, confirms the selected voice and content, creates the ad after approval, and reports TTS status."
            },
            {
              "description": "Create an in-store ad schedule only after validating the ad and checking conflicts.",
              "prompt": "Schedule my existing lunchtime ad every day at 12:30. Verify its ID and schedule conflicts first, then create it after my approval.",
              "tools_triggered": "list_advertisements, check_instore_schedule_conflict, create_instore_schedule",
              "expected_behavior": "Identifies the requested ad, checks for overlapping in-store schedules, explains any blocker, and creates the schedule only after confirmation."
            },
            {
              "description": "Create an external broadcast after checking that the advertisement is ready.",
              "prompt": "I want to distribute the selected ad to other stores. Check TTS status and explain the effects first; create and enable the broadcast after I confirm.",
              "tools_triggered": "get_advertisement, create_external_ad_broadcast",
              "expected_behavior": "Verifies TTS readiness, clearly explains cross-store distribution, asks for explicit confirmation, and then creates the enabled broadcast."
            }
          ],
          "negative": [
            {
              "description": "Do not trigger for direct music playback requests.",
              "prompt": "Play a Jay Chou song right now.",
              "expected_behavior": "The app should not be invoked because it manages catalogs and schedules but cannot start song playback."
            },
            {
              "description": "Do not trigger for general public music research unrelated to the connected account.",
              "prompt": "Search for this year's ten most popular songs worldwide and summarize news sources.",
              "expected_behavior": "The app should not be invoked because it does not perform open-web music or news research."
            },
            {
              "description": "Do not trigger the excluded LINE account rebind workflow.",
              "prompt": "Relink my LINE account and change my sign-in password.",
              "expected_behavior": "The app should not invoke an MCP tool because LINE rebind and credential changes are not exposed through this connector."
            }
          ]
        },
        "commerce": false,
        "commerce_description": "The plugin manages music, advertisements, and schedules for an existing JamStation account. Its tools do not sell products, place orders, or process payments."
      },
      "publication": {
        "release_notes": "Added the JamStation store operations skill for playlists, voice advertisements, schedules, volume, and profile workflows, including write confirmation, conflict resolution, and retry guidance. Includes a 512-pixel PNG icon and example review prompts. Retains the existing OAuth MCP connection, five positive and three negative review cases, and demo recording URL."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: fe7f363d4fbb4e8f23085f610ac3a7449f60b88a3e6656599debdffd292c50f6