{
  "schemaVersion": "2025-06-18",
  "serverInfo": {
    "name": "posterly",
    "version": "0.6.0",
    "title": "posterly",
    "description": "Schedule and publish social media posts to LinkedIn, Instagram, X, YouTube, Facebook, Threads, TikTok, Pinterest, and Google Business Profile from any MCP-compatible AI client.",
    "vendor": "posterly",
    "homepage": "https://www.poster.ly",
    "documentation": "https://www.poster.ly/mcp",
    "repository": "https://www.npmjs.com/package/posterly-mcp-server"
  },
  "transports": [
    {
      "type": "http",
      "url": "https://www.poster.ly/api/mcp",
      "wire_format": "json-rpc",
      "auth": "bearer",
      "documentation": "https://www.poster.ly/mcp"
    },
    {
      "type": "stdio",
      "install": {
        "command": "npx",
        "args": [
          "-y",
          "posterly-mcp-server"
        ],
        "env": {
          "POSTERLY_API_KEY": {
            "description": "Personal Access Token from https://www.poster.ly/dashboard/api (requires the API add-on, $3/month).",
            "required": true,
            "acquisition_url": "https://www.poster.ly/dashboard/api"
          }
        }
      },
      "documentation": "https://www.poster.ly/mcp"
    }
  ],
  "auth": {
    "type": "bearer",
    "protected_resource_metadata": "https://www.poster.ly/.well-known/oauth-protected-resource",
    "token_acquisition_url": "https://www.poster.ly/dashboard/api",
    "requires_subscription": true,
    "subscription_url": "https://www.poster.ly/dashboard/api?upgrade=api_addon"
  },
  "capabilities": {
    "tools": [
      {
        "name": "whoami",
        "description": "Authenticated user, scopes, and accessible workspaces."
      },
      {
        "name": "list_accounts",
        "description": "List connected social media accounts."
      },
      {
        "name": "list_brands",
        "description": "List brands/clients the caller can access."
      },
      {
        "name": "get_brand",
        "description": "Get one brand/client by ID."
      },
      {
        "name": "list_brand_accounts",
        "description": "List the social accounts assigned to a brand/client."
      },
      {
        "name": "get_brand_profile",
        "description": "Get the saved brand profile for a brand/client."
      },
      {
        "name": "create_post",
        "description": "Schedule or immediately publish a social media post."
      },
      {
        "name": "update_post",
        "description": "Update a scheduled or draft post."
      },
      {
        "name": "delete_post",
        "description": "Delete a scheduled or draft post."
      },
      {
        "name": "get_post",
        "description": "Get details of a specific post by ID."
      },
      {
        "name": "list_posts",
        "description": "List upcoming or recent posts (filter by status/platform/workspace)."
      },
      {
        "name": "find_available_slot",
        "description": "Find open posting slots respecting a 1h gap and preferred hours."
      },
      {
        "name": "upload_media",
        "description": "Upload an image or video to posterly storage."
      },
      {
        "name": "generate_image",
        "description": "Generate an AI image via posterly Nano Banana."
      },
      {
        "name": "get_account_analytics",
        "description": "Daily analytics snapshots + period summary for an account."
      },
      {
        "name": "get_post_analytics",
        "description": "Per-post engagement metrics for an account."
      }
    ],
    "resources": false,
    "prompts": false,
    "sampling": false
  },
  "rate_limits": {
    "requests_per_hour": 100,
    "scope": "per_api_key"
  },
  "legal": {
    "terms": "https://www.poster.ly/terms",
    "privacy": "https://www.poster.ly/privacy",
    "fair_usage": "https://www.poster.ly/fair-usage"
  }
}