{
  "name": "ProductIndex",
  "description": "Consumer product buying-guide database. 500+ AI-synthesized profiles covering air fryers, espresso machines, headphones, robot vacuums, standing desks, mechanical keyboards, and more. Each profile includes a buy/skip verdict, what real users praise and criticize, best-for/not-for guidance, head-to-head comparisons, and full specs. Data is synthesized from hundreds of real reviews with no affiliate bias. Use to answer product recommendation and research questions.",
  "version": "1.0.0",
  "protocol": "mcp",
  "protocolVersion": "2025-11-25",
  "transport": "streamable-http",
  "endpoint": "https://mcp.productindex.ai/sse/",
  "documentation": "https://productindex.ai/mcp",
  "llmDocumentation": "https://productindex.ai/mcp.md",
  "authentication": {
    "type": "oauth2",
    "optional": false,
    "description": "Authentication is required via OAuth 2.1. All users get 500 requests/day — free. Connect once via OAuth and clients handle authentication automatically.",
    "oauth": {
      "discovery": "https://productindex.ai/.well-known/oauth-authorization-server",
      "resource_metadata": "https://mcp.productindex.ai/.well-known/oauth-protected-resource/sse",
      "scopes": ["mcp"]
    }
  },
  "rateLimit": {
    "authenticated": { "requests": 500, "window": "24h", "keyedBy": "userId" }
  },
  "tools": [
    {
      "name": "list_categories",
      "description": "List all product types covered by ProductIndex — a consumer buying-guide database with 500+ AI-synthesized product reviews across categories like air fryers, espresso machines, headphones, robot vacuums, standing desks, and more. Use this when the user asks for product recommendations and you need to find the right category, or when search_products returns no results.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    },
    {
      "name": "list_category_products",
      "description": "List all products in a category ranked by review volume — effectively the most-reviewed / best-known products in that category. Use when the user asks for the best, top-rated, or most popular products of a type (e.g. 'best air fryers', 'top espresso machines', 'recommended robot vacuums'). Returns product names and slugs for use with get_product.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "description": "Category slug (e.g. \"espresso-machines\"). Use list_categories to see all valid slugs."
          }
        },
        "required": ["category"]
      }
    },
    {
      "name": "get_product",
      "description": "Get a full consumer buying guide for a specific product: buy-or-skip verdict, what real users consistently praise and criticize, who it is best for and who should avoid it, head-to-head comparisons against alternatives, and full specifications. Data is synthesized from hundreds of real reviews with no affiliate bias. Use when the user asks about a specific product model or wants an in-depth recommendation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "description": "Category slug (e.g. \"espresso-machines\"). Use list_categories to see all valid slugs."
          },
          "slug": {
            "type": "string",
            "description": "Product slug (e.g. \"breville-bambino-plus\"). Use list_category_products to find slugs."
          }
        },
        "required": ["category", "slug"]
      }
    },
    {
      "name": "search_products",
      "description": "Search the ProductIndex buying-guide database by keyword across product names, features, brands, and review content. Use when the user mentions a specific brand, feature, price range, or use-case (e.g. 'Breville', 'dual boiler', 'under $200', 'noise cancelling', 'compact'). Returns matching products with slugs for use with get_product. If no results, try list_categories to browse by product type.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Search keywords (e.g. \"dual boiler\", \"noise cancelling headphones\", \"standing desk\")"
          },
          "category": {
            "type": "string",
            "description": "Optional: restrict results to a specific category slug"
          },
          "limit": {
            "type": "number",
            "description": "Maximum results to return (default: 10, max: 20)"
          }
        },
        "required": ["query"]
      }
    }
  ],
  "clientConfigs": {
    "grok": {
      "description": "In Grok: Settings → Connectors → Add MCP Server. Grok automatically handles OAuth sign-in — just paste the URL and follow the browser prompt.",
      "serverUrl": "https://mcp.productindex.ai/sse/"
    },
    "claudeDesktop": {
      "description": "Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\\Claude\\claude_desktop_config.json (Windows)",
      "config": {
        "mcpServers": {
          "productindex": {
            "url": "https://mcp.productindex.ai/sse/",
            "transport": "streamable-http"
          }
        }
      }
    },
    "cursor": {
      "description": "Add to ~/.cursor/mcp.json or project .cursor/mcp.json",
      "config": {
        "mcpServers": {
          "productindex": {
            "url": "https://mcp.productindex.ai/sse/",
            "transport": "streamable-http"
          }
        }
      }
    },
    "windsurf": {
      "description": "Add to ~/.codeium/windsurf/mcp_config.json",
      "config": {
        "mcpServers": {
          "productindex": {
            "serverUrl": "https://mcp.productindex.ai/sse/",
            "transport": "streamable-http"
          }
        }
      }
    }
  }
}
