{
  "serverInfo": {
    "name": "seobandwagon",
    "title": "SEO Bandwagon",
    "version": "1.0.0"
  },
  "description": "Remote MCP server exposing read tools for the authenticated user's Google Search Console data and SEO Bandwagon rank-tracker keywords.",
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://seobandwagon.com/api/mcp"
  },
  "authentication": {
    "type": "http",
    "scheme": "bearer",
    "description": "HTTP Bearer token: an opaque SEO Bandwagon API key (format: sbw_ followed by 48 hex characters). Keys are issued per user — request one at https://seobandwagon.com/contact. Send it as: Authorization: Bearer sbw_<key>."
  },
  "capabilities": {
    "tools": {}
  },
  "tools": [
    {
      "name": "gsc_connection_status",
      "description": "Check whether the authenticated SEO Bandwagon user has a working Google Search Console connection (returns connected/needsReauth)."
    },
    {
      "name": "gsc_list_sites",
      "description": "List the Google Search Console properties the authenticated user has access to."
    },
    {
      "name": "gsc_search_analytics",
      "description": "Query Google Search Console search analytics for a property. Returns rows of clicks, impressions, CTR, and position grouped by the requested dimensions. Use gsc_list_sites first to find valid siteUrl values (e.g. 'sc-domain:example.com')."
    },
    {
      "name": "rank_tracker_keywords",
      "description": "List the authenticated user's tracked keywords from the SEO Bandwagon rank tracker, with last known Google position, search volume, and GSC metrics. Optionally filter by domain."
    },
    {
      "name": "rank_tracker_history",
      "description": "Get historical Google position checks (serp_history) for a domain the authenticated user tracks, optionally filtered to one keyword. Note: positions are only recorded when a rank check runs."
    }
  ],
  "documentation": "https://seobandwagon.com/docs/api"
}