{
  "name": "bfd-cms-mcp",
  "version": "0.5.0",
  "status": "ok",
  "transport": "streamable_http",
  "auth": "clerk-oauth",
  "scope": "cms.admin",
  "capabilities": {
    "tools": true,
    "prompts": true,
    "resources": true
  },
  "safety": {
    "defaultWriteMode": "draft-only",
    "explicitPublishTools": [
      "cms_publish"
    ],
    "explicitUnpublishTools": [
      "cms_unpublish"
    ],
    "destructiveTools": [
      "cms_delete"
    ],
    "requireOperatorConfirmation": [
      "cms_publish",
      "cms_unpublish",
      "cms_delete",
      "cms_bulk_action",
      "cms_schedule_publish",
      "cms_cancel_scheduled_publish"
    ],
    "operatorOnlyHidden": "Content types whose mcpVisibility is 'operator-only' return a structured hidden error from every tool."
  },
  "endpoints": {
    "root": "https://cms-mcp-staging.poweradvice.com/",
    "mcp": "https://cms-mcp-staging.poweradvice.com/mcp",
    "authorize": "https://cms-mcp-staging.poweradvice.com/authorize",
    "callback": "https://cms-mcp-staging.poweradvice.com/callback",
    "token": "https://cms-mcp-staging.poweradvice.com/token",
    "register": "https://cms-mcp-staging.poweradvice.com/register",
    "protectedResourceMetadata": "https://cms-mcp-staging.poweradvice.com/.well-known/oauth-protected-resource",
    "authorizationServerMetadata": "https://cms-mcp-staging.poweradvice.com/.well-known/oauth-authorization-server"
  },
  "tools": {
    "read": [
      "cms_get_overview",
      "cms_list",
      "cms_get",
      "cms_validate",
      "cms_public_surface",
      "cms_list_saved_views",
      "cms_list_activity",
      "cms_list_presence"
    ],
    "draftWrites": [
      "cms_create",
      "cms_update",
      "cms_add_review_comment",
      "cms_resolve_review_comment",
      "cms_restore_version",
      "cms_save_view",
      "cms_attach_media",
      "cms_media_generate_image"
    ],
    "liveState": [
      "cms_publish",
      "cms_unpublish",
      "cms_bulk_action",
      "cms_schedule_publish",
      "cms_cancel_scheduled_publish"
    ],
    "destructive": [
      "cms_delete"
    ]
  },
  "prompts": [
    {
      "name": "cms-safe-draft-editing",
      "description": "Default operating guidance for editing CMS content without making it live accidentally."
    },
    {
      "name": "cms-content-edit-workflow",
      "description": "A guided draft-first workflow for any content type: read state, edit drafts, publish intentionally."
    },
    {
      "name": "cms-release-checklist",
      "description": "A release checklist for any registered content type before flipping draft → live."
    },
    {
      "name": "cms-image-generation-workflow",
      "description": "Layout/style/preset guidance for the cms_media_generate_image tool."
    },
    {
      "name": "cms-article-create-workflow",
      "description": "End-to-end guided flow for creating a PowerAdvice article: pick channel → set title/body → optionally attach a YouTube video, podcast episode, or Nano-Banana-generated hero image → validate → publish (with operator confirmation)."
    },
    {
      "name": "cms-attach-video-workflow",
      "description": "Attach a YouTube (or other embed) video to an existing article via the videoUrl + videoTitle fields. Sub-flow of the article workflow."
    },
    {
      "name": "cms-attach-podcast-workflow",
      "description": "Attach a podcast episode (audioUrl + transcript) to an existing article. The transcript is what the article-page captions track is built from, so include it."
    },
    {
      "name": "cms-attach-image-workflow",
      "description": "Generate a hero image with Nano Banana (cms_media_generate_image) and attach it to an existing article via cms_attach_media. Combines the image-generation prompt with the attach step."
    }
  ],
  "resources": {
    "docs": [
      {
        "uri": "bfdcms://docs/overview",
        "name": "CMS MCP Overview",
        "description": "What this MCP exposes and how it maps to the property's CMS.",
        "mimeType": "text/markdown"
      },
      {
        "uri": "bfdcms://docs/safe-writes",
        "name": "CMS Safe Writes",
        "description": "The draft/live model and which operations make content public.",
        "mimeType": "text/markdown"
      },
      {
        "uri": "bfdcms://docs/tool-catalog",
        "name": "CMS Tool Catalog",
        "description": "Grouped summary of the content-type-agnostic CMS tool surface.",
        "mimeType": "text/markdown"
      },
      {
        "uri": "bfdcms://docs/image-generation",
        "name": "CMS Image Generation",
        "description": "How to use cms_media_generate_image well — layouts, style presets, prompt discipline. READ before calling the tool.",
        "mimeType": "text/markdown"
      },
      {
        "uri": "bfdcms://docs/image-styles",
        "name": "CMS Image Style Presets (machine-readable)",
        "description": "The canonical style-preset catalog with their full prompt-injection strings.",
        "mimeType": "application/json"
      },
      {
        "uri": "bfdcms://docs/image-layouts",
        "name": "CMS Image Layouts (machine-readable)",
        "description": "The canonical layout catalog with aspect ratios and mobile-collapse rules.",
        "mimeType": "application/json"
      },
      {
        "uri": "bfdcms://docs/article-workflow",
        "name": "CMS Article Workflow",
        "description": "End-to-end article publishing playbook: required + optional fields, channel + author refs, attaching YouTube / podcast / Nano-Banana-generated images, validation, and the confirm-before-publish gate. READ before invoking any sequence that ends in cms_publish on an article.",
        "mimeType": "text/markdown"
      }
    ]
  },
  "notes": [
    "After tool-surface deployments, reconnect the MCP server or start a new session so clients reload tools, prompts, and resources."
  ]
}