skills/algolia-mcp/SKILL.md
Search Algolia indices via the Algolia MCP server, retrieve analytics (top searches, no-result rates, click positions, user counts), and get product recommendations (bought-together, related, trending). Triggers on search, indexing, analytics, Algolia, recommendations, MCP.
npx skillsauth add algolia/skills algolia-mcpInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Need to write/modify data? Use algolia-cli instead — it handles imports, exports, backups, settings changes, synonyms, rules, API keys, and all admin operations.
Use /algolia-mcp:mcp-connect to configure the MCP client with the Algolia MCP server.
For manual client setup, see connection-setup.
| Task | Tool |
|------------------------|-----------------------------------|
| Search an index | algolia_search_index |
| List available indices | algolia_search_list_indices |
| Explore facet values | algolia_search_for_facet_values |
| Task | Tool |
|--------------------------|-------------------------------------------------|
| Top searches | algolia_analytics_top_searches |
| Searches with no results | algolia_analytics_searches_no_results |
| No-results rate | algolia_analytics_no_results_rate |
| Click positions | algolia_analytics_click_positions |
| No-click rate | algolia_analytics_no_click_rate |
| Searches without clicks | algolia_analytics_top_searches_without_clicks |
| Search volume | algolia_analytics_number_of_searches |
| Top search results | algolia_analytics_top_search_results |
| Unique users | algolia_analytics_number_of_users |
| Top filters | algolia_analytics_top_filters |
| Filters with no results | algolia_analytics_top_filters_no_results |
| Top countries | algolia_analytics_top_countries |
| Task | Tool | model parameter |
|----------------------------|---------------------------|--------------------|
| Frequently bought together | algolia_recommendations | bought-together |
| Related products | algolia_recommendations | related-products |
| Trending items | algolia_recommendations | trending-items |
| Trending facets | algolia_recommendations | trending-facets |
| Visually similar items | algolia_recommendations | looking-similar |
Filters go in the algolia_search_index call alongside query:
facetFilters (array-based):
[["color:red", "color:blue"]] → OR (red OR blue)
[["brand:Nike"], ["category:running"]] → AND (Nike AND running)
[["size:10"], ["color:red", "color:blue"]] → mixed (size 10 AND (red OR blue))
Each inner array is OR'd; outer arrays are AND'd.
numericFilters (string-based):
["price < 100"] → single condition
["price >= 50", "price <= 200"] → range (AND'd)
Date filtering: Dates must be stored as Unix timestamps. Use numericFilters: ["timestamp >= 1704067200"].
Attribute selection: Use attributesToRetrieve: ["name", "price"] to limit response size.
clickAnalytics: true: Set this on algolia_analytics_top_searches or algolia_analytics_top_search_results to include CTR, conversion rate, and click count. Only these two tools support it.revenueAnalytics: true: Set on the same tools to also include add-to-cart rate, purchase rate, and revenue.| No-results rate | Assessment | |----------------|------------| | < 5% | Excellent | | 5–10% | Good | | 10–20% | Needs improvement | | > 20% | Poor |
Click positions: Healthy = 30–40% of clicks at position 1, decreasing through 10. Even distribution = poor relevance. Concentrated at positions 5–10 = ranking issues.
Low CTR + high search volume = poor result relevance. Common causes: missing synonyms, content gaps, mismatched query intent.
| Threshold | Behavior | |-----------|----------| | 50 | More results, lower relevance | | 60 | Balanced (good default) | | 75 | Fewer results, higher relevance |
Model parameter requirements:
bought-together, related-products, looking-similar → require objectIDtrending-items → does NOT require objectID. Use facetName + facetValue to filter by categorytrending-facets → requires facetNamealgolia_search_list_indices before other tools to resolve applicationId and indexName. The applicationId parameter is an enum — select from the values in the tool schema, never guess.algolia_search_list_indices.startDate and endDate in YYYY-MM-DD format. Default period is the last 8 days.algolia_search_list_indices → get applicationId and index namealgolia_analytics_no_results_rate → check overall health (< 5% is excellent)algolia_analytics_searches_no_results → find the specific failing queriesalgolia_analytics_top_searches with clickAnalytics: true → find high-volume queries with low CTRalgolia_analytics_click_positions → check if clicks are concentrated at position 1 (good) or spread evenly (poor relevance)algolia_search_index with that query to see what results look likealgolia_search_list_indices → resolve applicationIdtrending-items (requires least data) to verify Recommend is workingbought-together or related-products with a known product objectIDfacetFilters, numericFilters), paginationtools
Build production-quality search experiences (autocomplete, search results pages, faceted search) using InstantSearch. Use when user asks to add search, autocomplete, search-as-you-type, faceted filtering, or a search results page to a React, Vue, or vanilla JS application, or mentions Algolia, InstantSearch, or react-instantsearch. Do NOT use for backend index operations (records, synonyms, settings, API keys), use algolia-cli instead. Do NOT use for analytics, recommendations, or MCP server queries, use algolia-mcp instead. Do NOT use for AI/agent/conversational search, use algobot-cli instead.
tools
Use this skill whenever a user wants to execute operations against Algolia indices or accounts — deleting records, copying/migrating indices, backing up data, importing/exporting records, managing API keys, editing synonyms, configuring rules, changing settings like facets, clearing indices, or automating Algolia in CI/CD pipelines. The key signal is that the user wants to *act on* their Algolia data or configuration (server-side / backend / admin operations), regardless of whether they mention "CLI" or "command line." If someone names a specific Algolia index and wants to change, move, query, or manage it, use this skill. Do NOT use for frontend search UI work (InstantSearch, React components, autocomplete widgets), Algolia dashboard GUI questions, or evaluating Algolia vs. other providers.
tools
Use for anything AI/agent/conversational built on Algolia: algobot CLI, Agent Studio, RAG systems, conversational product discovery, genAI content generation from search results (carousels, descriptions, headers), chatbots or recommendation agents using Algolia as retrieval, config-as-code workflows, multi-environment deploy (dev/staging/prod), memory and personalization, MCP tool integrations, conversation history / GDPR retention, or adding a chat widget alongside InstantSearch. Trigger on: "algobot", "Agent Studio", "RAG with Algolia", "conversational experience", "AI agent" + Algolia, "genAI carousel", "chat widget", or building AI features on top of Algolia search. Do NOT use for raw index ops (records, synonyms, settings) — use algolia-cli. Do NOT use for pure frontend search UI (InstantSearch, autocomplete) with no AI/agent layer.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.