# Algolia MCP connector

Connect Algolia to Elaichi and Claude, ChatGPT, Cursor, and any other MCP client can search your indices, browse records, tune settings and synonyms, and manage allowed sources, all as the person who signed in.

Source: https://elaichi.ai/connectors/algolia/

## Facts

| | |
| --- | --- |
| Application | Algolia |
| Category | Artificial Intelligence |
| AI tools | 57 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 57 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Algolia is connected

- Which Algolia indices gained the most records this week?
- List synonyms added to the products index this month.
- Show security sources allowed on the catalog index.

## Connect Algolia in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Algolia.
2. Optionally set Share with, then press Connect.
3. Paste an Algolia API key. One person generates a token in Algolia and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Algolia tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Algolia to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Algolia to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Algolia to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Algolia to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Algolia tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Algolia through Elaichi

### Check an index before a release

Engineering. Ask which indices exist, pull up the settings on one, and browse a sample of its records to confirm the latest push landed as expected.

### Find out why a search returns nothing

Product. Run the exact query a customer typed against the live index, look at the facets that come back, and see whether a synonym or a setting is getting in the way.

### Add a synonym so shoppers find it

Merchandising. When people search for "sneakers" and your catalog says "trainers", update the synonym in Algolia during the conversation instead of filing a ticket.

### Confirm a record made it into search

Support. A customer says their listing is missing from results. Search the index for it, browse the records around it, and give them a straight answer in minutes.

### Push a batch of new records

Content. Send a set of new articles or products into the right Algolia index in one go, then run a search to confirm they show up where they should.

### Review which sources are allowed

IT. List the security sources Algolia currently accepts, spot the ones that belong to an old office or vendor, and remove them without opening the dashboard.

## Frequently asked questions

### How do I connect Algolia to Claude?

First, connect Algolia in Elaichi by pasting an API key from your Algolia dashboard. There is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in as yourself and Algolia is ready to use.

### Does Algolia work with ChatGPT and Cursor as well as Claude?

Yes. Once Algolia is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Algolia once and every client picks it up.

### What can an AI agent actually do with my Algolia data?

With Algolia connected, an agent can list your indices, run a search or several at once, look through facets, browse the records in an index, and read or change index settings and synonyms. It can also add records in batches, clear or delete an index, and list, add, or remove the security sources Algolia accepts. Because Algolia has many capabilities, short concrete asks like "search the products index for red boots" work better than long instructions.

### Does connecting Algolia give the AI access to every index and setting?

No. Access follows the Algolia API key and the person who signed in, so the agent can only reach the indices, records, and settings that key already allows. Elaichi can narrow that further, for example to search and browse only, but it can never grant more than Algolia itself grants.

### Can my team share one Algolia connection?

Yes. One person connects Algolia in Elaichi and shares it with a team, and nobody else ever handles the API key. Each teammate still signs in to Elaichi as themselves, so every search, settings change, or batch push in the Algolia audit log is tied to a named person.

### Can I stop an agent from deleting or changing things in Algolia?

Yes. Restrictions in Elaichi apply per action, so you can allow searching and browsing in Algolia while blocking deleting an index, clearing records, or changing settings. A blocked action is never shown to Claude, ChatGPT, Cursor, or any other client, so no prompt can reach it.

### What happens to an Algolia connection when someone leaves?

Offboarding a person in Elaichi ends their access to Algolia at once, across every client they used. A shared Algolia connection keeps working for everyone else on the team. If you disconnect Algolia in Elaichi, it is removed from Claude, ChatGPT, Cursor, and every other client in one step.

## All 57 Algolia tools

Every tool below is callable through https://api.elaichi.ai/mcp once Algolia is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Algolia security sources** (List). List all allowed IP address sources for your Algolia application. Returns a collection of allowed IP address ranges in CIDR notation (e.g., 10.0.0.1/32).
- **Delete a Algolia security source by ID** (Delete). Delete an allowed source (IP address range) from Algolia. Returns: deletedAt.g. 10.0.0.1/32). Required: id.
- **Algolia security sources append** (Action). Add a source (allowed IP address range) to Algolia. Returns: createdAt.g. 10.0.0.1/32). Required: source.
- **Algolia security sources bulk update** (Update). Replace the complete list of allowed IP address sources in Algolia. Returns: updatedAt, description.
- **List all Algolia indices** (List). List all indices in the current Algolia application. Returns each index with its name, entries, pending, dataSize, fileSize, lastBuiltAt, createdAt, updatedAt, and primary.
- **Get single Algolia index by ID** (Get). Retrieve a single record from an Algolia index by its object ID. Returns the record as a schemaless object including its objectID and index-specific attributes. Required: id, index_name.
- **Create a Algolia index** (Create). Add a new record to an Algolia index, with auto-generated object ID if none is provided. If the record includes an object ID that already exists, the existing record is replaced. If the index doesn't exist, a new one is created. Returns: createdAt, taskID, objectID. Required: index_name.
- **Update a Algolia index by ID** (Update). Add or replace a record in an Algolia index by its object ID. If a record with the specified object ID exists, it is replaced; otherwise a new record is added. Returns: updatedAt, taskID, objectID. Required: id, index_name.
- **Algolia indices partial update** (Update). Partially update attributes of a record in an Algolia index by its object ID without replacing the full record. Supports built-in operations like Increment, Decrement, Add, and Remove. Only first-level attributes are supported. Returns: updatedAt, taskID, objectID. Required: id, index_name.
- **Delete a Algolia index by ID** (Delete). Delete a single record from an Algolia index by its object ID. Returns: deletedAt, taskID. Required: id, index_name.
- **Algolia indices delete index** (Delete). Delete an entire Algolia index and all its settings. Returns: deletedAt, taskID. Deleting a non-existing index is ignored without warning; replica indices become independent when their primary is deleted. Required: index_name.
- **Algolia indices batch** (Action). Add, update, or delete multiple records in an Algolia index with a single batch request. Returns: taskID, objectIDs. Actions are applied in the order specified and are subject to indexing rate limits. Required: index_name, requests.
- **Algolia indices clear** (Clear). Delete all records from an Algolia index while keeping settings, synonyms, and rules intact. Returns: updatedAt, taskID. This operation is resource-intensive and subject to indexing rate limits. Required: index_name.
- **Algolia indices delete by** (Delete). Delete records in an Algolia index that match a filter expression. Returns: updatedAt, taskID. This operation is resource-intensive, doesn't accept empty filters, and is subject to indexing rate limits. Required: index_name.
- **Algolia indices operation** (Action). Copy or move (rename) an Algolia index within the same application. Existing destination indices are overwritten except for analytics data. Returns: updatedAt, taskID. The optional scope parameter applies only to copy operations; if omitted, everything (records, settings, synonyms, rules) is copied. Required: index_name, operation, destination.
- **Algolia indices browse** (Action). Browse records from an Algolia index, up to 1,000 per request. Use browse instead of search when exporting records and ranking or analytics isn't important. Returns: objectID, _highlightResult, _snippetResult, _rankingInfo, _distinctSeqID. Browse ignores several search settings including advancedSyntax, distinct, enableRules, and facets. Required: index_name.
- **Algolia search search** (Search). Search a single Algolia index for matching records and return them as hits. Returns hits with objectID, _highlightResult, _rankingInfo, _snippetResult, and the record's own indexed attributes. Limited to 1,000 hits per search; use the browse operation for more. Required: index_name.
- **Algolia search multi search** (Search). Run multiple search queries against one or more Algolia indices in a single API request. Returns an array of per-query results, each containing hits, nbHits, page, hitsPerPage, processingTimeMS, query, and facets. Results are returned in the same order as the requests. Required: requests.
- **Algolia search facet search** (Search). Search for values of a specified facet attribute in an Algolia index. Returns facetHits with value, highlighted, and count for each matching facet value. The facet attribute must use the searchable() modifier in attributesForFaceting; this won't work with more than 65 searchable facets and searchable attributes combined. Required: index_name, facet_name.
- **List all Algolia objects** (List). Retrieve one or more Algolia records by their object IDs, potentially from different indices. Records are returned in the same order as the requests and may be null if a requested objectID doesn't exist in its index. Returns: objectID, attributes. Required: requests.
- **List all Algolia index settings** (List). Retrieve index settings. Returns: attributesForFaceting, replicas, paginationLimitedTo, unretrievableAttributes, disableTypoToleranceOnWords, attributesToTransliterate, camelCaseAttributes, decompoundedAttributes. Required: index_name.
- **Algolia index settings bulk update** (Update). Update the settings of an Algolia index by index name. Unspecified settings are left unchanged; pass null to reset a setting to its default value. Returns: updatedAt, taskID. For best performance, update settings before adding records to the index. Required: index_name.
- **Get single Algolia synonym by ID** (Get). Retrieve a synonym. Returns: objectID, type, synonyms, input, word, corrections, placeholder, replacements. Required: id, index_name.
- **Update a Algolia synonym by ID** (Update). Create or replace a synonym. Returns: taskID, updatedAt, id. Required: id, index_name, objectID, type.
- **Delete a Algolia synonym by ID** (Delete). Delete a synonym. Required: id, index_name.
- **Algolia synonyms search** (Search). Search for synonyms. Returns: objectID, type, synonyms, input, word, corrections, placeholder, replacements. Required: index_name.
- **Algolia synonyms batch** (Action). Create or replace synonyms. Required: index_name.
- **Algolia synonyms clear** (Clear). Delete all synonyms. Required: index_name.
- **Get single Algolia rule by ID** (Get). Retrieve a rule. Returns: objectID, conditions, consequence, description, enabled, validity, tags, scope. Required: id, index_name.
- **Update a Algolia rule by ID** (Update). Create or replace a rule. Required: id, index_name, objectID, consequence.
- **Delete a Algolia rule by ID** (Delete). Delete a rule. Required: id, index_name.
- **Algolia rules search** (Search). Search for rules. Returns: objectID, conditions, consequence, description, enabled, validity, tags, scope. Required: index_name.
- **Algolia rules batch** (Action). Create or update rules. Required: index_name.
- **Algolia rules clear** (Clear). Delete all rules. Required: index_name.
- **List all Algolia API keys** (List). List API keys. Returns: keys.
- **Create a Algolia API key** (Create). Create an API key. Returns: key, createdAt. Required: acl.
- **Get single Algolia API key by ID** (Get). Retrieve API key permissions. Returns: value, createdAt, acl, description, indexes, maxHitsPerQuery, maxQueriesPerIPPerHour, queryParameters. Required: id.
- **Update a Algolia API key by ID** (Update). Update an API key. Returns: key, updatedAt. Required: id, acl.
- **Delete a Algolia API key by ID** (Delete). Delete an API key. Returns: deletedAt. Required: id.
- **Algolia API keys restore** (Restore). Restore an API key. Returns: key, createdAt. Required: key.
- **Algolia dictionaries search** (Search). Search dictionary entries. Returns: hits, page, nbHits, nbPages. Required: dictionary_name, query.
- **Algolia dictionaries batch** (Action). Add or delete dictionary entries. Required: dictionary_name, requests.
- **Algolia dictionaries get settings** (Get). Retrieve dictionary settings. Returns: disableStandardEntries.
- **Algolia dictionaries get languages** (Get). List available languages.
- **Algolia dictionaries bulk update** (Update). Update dictionary settings. Required: disableStandardEntries.
- **List all Algolia cluster mappings** (List). List user IDs. Returns: userID, clusterName, nbRecords, dataSize.
- **Create a Algolia cluster mapping** (Create). Assign or move a user ID. Required: cluster.
- **Get single Algolia cluster mapping by ID** (Get). Retrieve user ID. Returns: userID, clusterName, nbRecords, dataSize. Required: id.
- **Delete a Algolia cluster mapping by ID** (Delete). Delete user ID. Returns: deletedAt. Required: id.
- **Algolia cluster mappings search** (Search). Search for user IDs. Returns: userID, clusterName, nbRecords, dataSize, objectID, _highlightResult. Required: query.
- **Algolia cluster mappings batch** (Action). Assign multiple userIDs. Required: cluster, users.
- **Algolia cluster mappings top users** (Action). Get top user IDs. Returns: topUsers.
- **Algolia cluster mappings list clusters** (List). List clusters. Returns: topUsers.
- **Algolia cluster mappings list pending** (List). Get migration and user mapping status. Returns: pending, clusters.
- **List all Algolia logs** (List). Retrieve log entries. Returns: logs.
- **Get single Algolia task by ID** (Get). Check application task status. Returns: status. Required: id.
- **Algolia tasks get index task** (Get). Check task status. Returns: status. Required: index_name, task_id.
