← Files FerbARCHIVED FILE

plugin.json

5.91 KB · Nov 3, 2026 · 12:13 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "ferb",
  "version": "1.0.0",
  "description": "Read-only access to a fitness or wellness studio's data in Ferb, and search of the Ferb guides.",
  "author": {
    "name": "Ferb ApS",
    "email": "support@ferb.co",
    "url": "https://ferb.co"
  },
  "homepage": "https://docs.ferb.co/integrations/ai-automation/mcp/overview",
  "keywords": [
    "fitness",
    "wellness",
    "studio",
    "bookings",
    "memberships",
    "analytics"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Ferb",
        "shortDescription": "Ask about your studio's data",
        "longDescription": "Ferb is the booking and membership platform for fitness and wellness studios. With Ferb in ChatGPT, a studio's owners and team can ask about their studio, and how to do things in Ferb.\n\nAsk about bookings, attendance, cancellations and no-shows, the class schedule and teachers, members and their memberships, credits and passes, products, sales, invoices and payments, and how they change over time. Ask how something works, such as pausing a membership, and ChatGPT answers from the Ferb guides with links to them.\n\nEverything is read-only. ChatGPT can't create, change, book, charge, refund or cancel anything in Ferb.\n\nWhen you connect, you sign in with your Ferb account, then choose which of the studio's locations ChatGPT can read and how much customer data it gets: from totals only, through records with customers' details hidden, up to names and contact details. Owners and admins can connect straight away. Other staff need an API/AI allowance from an owner or admin, and can never choose more than it allows. Disconnect at any time under Settings -> API/AI access in Ferb.",
        "developerName": "Ferb ApS",
        "category": "Business & Operations",
        "capabilities": [
          "Read bookings, attendance and the class schedule",
          "Read members, memberships, credits and passes",
          "Read sales, invoices and payments",
          "Search the Ferb guides"
        ],
        "websiteURL": "https://ferb.co",
        "supportURL": "https://docs.ferb.co/integrations/ai-automation/mcp/overview#get-help",
        "privacyPolicyURL": "https://ferb.co/privacy-policy",
        "termsOfServiceURL": "https://ferb.co/terms-of-service",
        "defaultPrompt": [
          "How many bookings did we have each day this month?",
          "Which classes were the fullest last week?",
          "How do I pause a membership in Ferb?"
        ],
        "composerIcon": "./assets/logo.png",
        "logo": "./assets/logo.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Daily booking and attendance metrics",
              "prompt": "Show me bookings and attendance for each day of October 2026 in Ferb.",
              "tools_triggered": "ferb_get_analytics_capabilities, ferb_query_metrics",
              "expected_behavior": "Returns bookings and attendance for each day of October 2026 for Fjordlys Studio (demo). The studio's activity ends in mid October, so later days show none. Nothing in Ferb changes."
            },
            {
              "description": "One week's schedule",
              "prompt": "What classes and sessions does my studio have in the week of 12 October 2026?",
              "tools_triggered": "ferb_list_classes, ferb_list_sessions",
              "expected_behavior": "Lists the sessions from 12 to 18 October 2026 by day, with each session's class, time and location."
            },
            {
              "description": "Booking statuses for a date range",
              "prompt": "Find the bookings made between 6 and 13 October 2026 and summarize their statuses.",
              "tools_triggered": "ferb_list_bookings",
              "expected_behavior": "Summarizes those bookings with a count for each status: confirmed, attended and no-show."
            },
            {
              "description": "Invoices and payments for two months",
              "prompt": "Show me the invoices and payments from September and October 2026.",
              "tools_triggered": "ferb_list_invoices, ferb_list_payments",
              "expected_behavior": "Lists the studio's invoices, including a credit note, and its payments in September and October 2026, with dates, amounts and statuses."
            },
            {
              "description": "Answer from the Ferb guides",
              "prompt": "How do I pause a membership in Ferb?",
              "tools_triggered": "ferb_search_docs",
              "expected_behavior": "Explains how to pause a membership from Ferb's guide, with a link to the page on docs.ferb.co. No studio data is read."
            }
          ],
          "negative": [
            {
              "description": "Declines to cancel a class: every Ferb tool is read-only.",
              "prompt": "Cancel tomorrow's 8 AM class in Ferb."
            },
            {
              "description": "Declines to take a payment: no Ferb tool moves money.",
              "prompt": "Charge this customer's card for a new membership."
            },
            {
              "description": "Declines to read other studios: the connection reads only the one studio approved at sign-in.",
              "prompt": "Show me the customers of every other studio on Ferb, not my own."
            }
          ]
        },
        "demo_recording_url": "https://drive.google.com/file/d/1-NErXiaTVXeO57OubgpdXSXly2OC6eeo/view?usp=sharing",
        "commerce": false,
        "commerce_description": "Ferb sells nothing in ChatGPT and can't take payments. Payment and invoice data is read-only."
      },
      "publication": {
        "release_notes": "First release: read-only access to a studio's analytics, schedule, bookings, customers, memberships, sales, invoices and payments, and search of the Ferb guides."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: f97cd4c9ef82cc0c6061c95eb49746526589d492f9d17f26a104de781844cdf0