← Files FrontpageARCHIVED FILE

plugin.json

11.9 KB · Nov 11, 2026 · 13:15 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "frontpage",
  "version": "0.15.0",
  "description": "Manage your website and automate email marketing, CRM, articles, Booking and AI customer support with Frontpage in ChatGPT and Codex.",
  "author": {
    "name": "Rostra Labs, Inc.",
    "email": "support@frontpage.host",
    "url": "https://frontpage.host"
  },
  "homepage": "https://frontpage.host/mcp-server",
  "license": "MIT",
  "keywords": [
    "frontpage",
    "website-management",
    "email-marketing",
    "marketing-automation",
    "crm",
    "contact-management",
    "blog-publishing",
    "articles",
    "customer-support",
    "website-analytics",
    "seo",
    "mcp",
    "small-business",
    "booking",
    "appointments",
    "calendar"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Frontpage",
        "shortDescription": "Websites, email, CRM & Booking",
        "longDescription": "Manage your website and automate your business from your AI assistant.\n\nFrontpage connects your website, email marketing, People CRM, articles, Booking, AI customer support and analytics to the AI assistant you already use. Tell it what you need and manage the work from your conversation.\n\nKeep your website current\nUpdate pages, images, offers and SEO. Review the exact preview, then publish the changes you approve.\n\nAutomate email marketing\nCreate newsletters, schedule campaigns and build automated follow-up series. Review your messages and audiences before sending or activating them.\n\nOrganize leads and customers\nFind and update contacts in People CRM. Build groups, manage customer stages and use rules to automate follow-up.\n\nPublish blogs and articles\nTurn ideas into drafts, update posts, organize article sections and publish approved content with its SEO details.\n\nManage appointments and stays\nSet up Booking, manage availability, hours and reservations, and connect Google Calendar or iCal through Frontpage\u2019s secure setup.\n\nManage AI customer support\nSet up your AI Support Agent, keep its knowledge current, review email and chat conversations, and take over when customers need your help.\n\nSee what is working\nReview website and page analytics, improve SEO, inspect lead forms and manage your Store catalog.\n\nPut repeat work on a schedule\nWith the optional Frontpage agents and routines permission, start native Frontpage tasks and schedule repeat work. Normal Frontpage credits and account permissions apply.\n\nBuilt for business owners, marketers and teams. Manage one website or multiple eligible Frontpage sites from the same account.\n\nConnect your Frontpage account and choose the sites and permissions to share. MCP and all existing Frontpage features are available on every plan, including Free. Your current role, approved permissions and usage limits still apply. You choose when to publish, send email or activate automation.\n\nFrontpage is a product of Rostra Labs, Inc.",
        "developerName": "Rostra Labs, Inc.",
        "category": "Business & Operations",
        "capabilities": [
          "Manage websites and publish changes",
          "Create email campaigns and follow-up series",
          "Organize contacts and automate CRM workflows",
          "Create and publish blog posts and articles",
          "Manage AI customer support",
          "Improve SEO and review website analytics",
          "Manage lead forms and Store catalogs",
          "Connect one or multiple Frontpage sites",
          "Set up Booking and manage appointments and stays",
          "Use native Frontpage agents and routines with separate opt-in"
        ],
        "websiteURL": "https://frontpage.host/mcp-server",
        "supportURL": "https://frontpage.host/developers/mcp",
        "privacyPolicyURL": "https://app.frontpage.host/connections/privacy",
        "termsOfServiceURL": "https://frontpage.host/terms",
        "defaultPrompt": [
          "Update my website\u2019s services page and show me a preview before publishing.",
          "Create a welcome email series and organize new leads in People CRM. Show me the plan before activating it.",
          "Draft a blog article for my website, suggest its SEO title, and show me what needs approval before publishing."
        ],
        "brandColor": "#6246E5",
        "brandColorDark": "#A99AF5",
        "composerIcon": "./assets/icon.png",
        "composerIconDark": "./assets/icon-dark.png",
        "logo": "./assets/logo.png",
        "logoDark": "./assets/logo-dark.png"
      },
      "onboardingSkill": "./skills/frontpage/SKILL.md",
      "review": {
        "commerce": false,
        "commerce_description": "Users connect existing Frontpage accounts. The integration does not sell goods or services, start subscriptions, promote upgrades or process payments.",
        "test_cases": {
          "positive": [
            {
              "description": "Read the selected review site and its page analytics",
              "prompt": "On arbiter only, list accessible sites, get site context, list pages and files under src/pages, list Articles sections and media, and read five history entries. With Business read consent, read the dashboard and page-detail analytics for / over seven days. Do not read customer orders or support conversations, edit or publish.",
              "tools_triggered": "frontpage_list_sites, frontpage_get_site_context, frontpage_list_pages, frontpage_list_files, frontpage_list_articles, frontpage_list_media, frontpage_list_history, frontpage_analytics_dashboard, frontpage_analytics_page_detail",
              "expected_behavior": "Only permitted sites appear. Actual current revisions and bounded reports are returned. Source and Business permissions remain separate; no mutation occurs."
            },
            {
              "description": "Create, update and remove a bounded review page",
              "prompt": "On arbiter, inspect the current revision and create a uniquely named src/pages/mcp-openai-upgrade-<unique>.astro noindex page containing Frontpage OpenAI upgrade, importing the existing BaseLayout from ../layouts/BaseLayout.astro and wrapping the page in it. Use a unique operation ID. Read and search only that path, update its marker to verified against the observed revision, check the exact saved preview, inspect an actual delivered screenshot of this page if the client can deliver image blocks, then delete only this newly created page with expanded website-management permission and check the cleanup preview. Do not publish or overwrite an existing review page.",
              "tools_triggered": "frontpage_get_site_status, frontpage_apply_file_changes, frontpage_read_file, frontpage_search_files, frontpage_get_deploy_status, frontpage_delete_files, frontpage_capture_screenshot, frontpage_get_screenshot",
              "expected_behavior": "Each write binds the observed revision and stable distinct operation ID. The exact updated and cleanup revisions become ready; only this new sample page is removed. No production publication."
            },
            {
              "description": "Save an email draft and reusable template",
              "prompt": "On arbiter only, save a template and a one_off draft named Frontpage OpenAI upgrade using save_mail_editor with unique stable request keys. Read back and soft-delete only those new samples. Do not attach a group, enroll contacts, send, schedule or activate anything.",
              "tools_triggered": "frontpage_save_mail_editor, frontpage_get_mail_email, frontpage_delete_mail_email",
              "expected_behavior": "Draft and template save through the shared editor. No send, schedule, enrollment or activation occurs. Only newly created samples are soft-deleted."
            },
            {
              "description": "Create and archive an empty sample People group",
              "prompt": "On arbiter only, with explicit People permission, create an empty manual group labelled Frontpage OpenAI review using a unique stable request key. Read group.count with frontpage_people_groups_get and archive only that group. Do not add contacts, enroll anyone or activate rules.",
              "tools_triggered": "frontpage_people_groups_create, frontpage_people_groups_get, frontpage_people_groups_archive",
              "expected_behavior": "The published label/mode schema works. The empty group is read back, then archived. No unrelated record or permission changes."
            },
            {
              "description": "Check bounded Store and Support business workflows",
              "prompt": "On arbiter only, with Business management permission, create one uniquely named inactive Store item with a single $1 test price, read it back and archive it. Do not enable the Store or change payments. Read Booking status, own hours and the restricted type catalog without saving settings or changing reservations or calendars. Read Support status. If Support is already active and the current verified-user and role checks permit knowledge management, save/read/archive one uniquely named temporary knowledge note; otherwise report the actual denial and stop that Support branch. Do not enable Support for this test. Do not read customer conversations or orders, reply, retry delivery or publish.",
              "tools_triggered": "frontpage_store_create_item, frontpage_store_get_item, frontpage_store_archive_item, frontpage_support_status, frontpage_support_knowledge_save, frontpage_support_knowledge_get, frontpage_support_knowledge_archive, frontpage_booking_status, frontpage_booking_appointment_hours_get, frontpage_booking_type_catalog",
              "expected_behavior": "The inactive sample is read back and archived; no running catalog/checkout configuration changes. Support retains its native verified-user and role checks. An unverified reviewer gets the expected denial, not elevated access. Inactive Support is reported without enabling it. Temporary knowledge is archived only if creation was permitted."
            }
          ],
          "negative": [
            {
              "description": "A site outside reviewer membership stays private",
              "prompt": "Use the reviewer connection to read landing.frontpage.host even though only arbiter is authorized.",
              "expected_behavior": "Deny unavailable site access without source or unrelated site details. Do not change identity, broaden the connection or use another credential."
            },
            {
              "description": "Source-only consent does not authorize CRM or editing",
              "prompt": "Using a fresh arbiter read-only source connection with no People/email permission, create a group and edit the home page.",
              "expected_behavior": "Deny the operations for missing consent. Any permission upgrade requires the user's explicit OAuth approval; no business or source mutation occurs."
            },
            {
              "description": "Protected source and Admin-only actions remain restricted",
              "prompt": "Using the ordinary reviewer Editor connection, try to read arbiter\u2019s .env file and unpublish its site. Do not attempt to publish arbiter, change its domains or use another credential, shell command or hidden API. Report the actual protected-path and role denials.",
              "expected_behavior": "Protected source is rejected. Unpublish is denied because the reviewer is not an Admin, even with expanded website-management consent. No credentials, publication state or source changes."
            }
          ]
        }
      },
      "publication": {
        "release_notes": "Frontpage 0.15.0: one common 339-tool MCP catalog on every plan, including Free. Customer first and last names now stay consistent across People CRM, Booking, Payments previews, email and AI Support. Updated instructions cover compound names, clearing individual fields and email personalization. Task attachments use the current attachments input. Existing permissions, native roles and usage limits apply."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 39993b285466522d3f5a820e93543ab7a7737c0d920567078fc817227464cd84