by algolia
An experimental MCP server for interacting with Algolia APIs, allowing AI agents to provision, configure, and query search indices.
The Algolia MCP project provides experimental Model Context Protocol (MCP) servers for interacting with Algolia's APIs. It enables AI agents to programmatically manage and query Algolia search indices. The repository contains a Go-based implementation, with a separate Node.js version also available. It is important to note that this is an experimental, unsupported project and is not covered by Algolia's SLA.
To use the Algolia MCP server, you need to have Go installed. First, clone the repository and build the server binary. Then, you need to configure your MCP client (like Claude Desktop) to point to the newly built server. This involves editing the client's settings file to add the server's command path and any necessary arguments, such as your Algolia Application ID and Admin API Key, which should be stored securely as environment variables.
No, this is an experimental project and is not officially supported by Algolia or covered by its SLA. It may be updated, broken, or removed at any time.
You need to have Go installed, and you will need your Algolia Application ID and Admin API Key to configure the server.
Using this experimental server in production is not recommended as it could affect your Algolia usage and is not guaranteed to be stable.
This repository contains experimental Model Context Protocol (or MCP) servers for interacting with Algolia APIs. This MCP repo is something we're sharing for you to explore and experiment with. Feel free to use it, fork it, or build on top of it — but just know that it's not officially supported by Algolia and isn't covered under our SLA. We might update it, break it, or remove it entirely at any time. If you customize or configure things here, there's a chance that work could be lost. Also, using MCP in production could affect your Algolia usage.
We also have a Node.js MCP Server that you can find here: https://github.com/algolia/mcp-node.
If you have feedback or ideas (even code!), we'd love to hear it. Just know that we might use it to help improve our products. This project is provided "as is" and "as available," with no guarantees or warranties. To be super clear: MCP isn't considered an "API Client" for SLA purposes.
First follow the quick start, which will install Claude Desktop and setup a sample Fileserver MCP server. This is a great introduction to using MCP and will let you debug things using the official guide if there are issues.
Requirements:
Clone the repo, amd build the mcp server:
$ git clone git@github.com:algolia/mcp.git
$ cd mcp/cmd/mcp
$ go build
We need to have the full path of the built server binary:
$ pwd
/path/to/the/repo/cmd/mcp
NOTE: When adding this command to your configuration, you must specify the binary along with the path (/path/to/the/repo/cmd/mcp/mcp
)
In Claude desktop edit the settings as per https://modelcontextprotocol.io/quickstart/user#2-add-the-filesystem-mcp-server and this time add the server definition for algolia (using the server path that you found earlier).
{
"mcpServers": {
"algolia": {
"command": "/path/to/the/repo/cmd/mcp/mcp",
"env": {
"ALGOLIA_APP_ID": "<APP_ID>",
"ALGOLIA_INDEX_NAME": "<INDEX_NAME>",
"ALGOLIA_API_KEY": "<API_KEY>",
"ALGOLIA_WRITE_API_KEY": "<ADMIN_API_KEY>", /* if you want to allow write operations, use your ADMIN key here */
"MCP_ENABLED_TOOLS": "", /* optional: specify which tools to enable (e.g., "search,collections") */
"MCP_SERVER_TYPE": "stdio", /* optional: server type, either "stdio" (default) or "sse". If not set, defaults to "stdio" */
"MCP_SSE_PORT": "8080" /* optional: port for SSE server, default is 8080 (only used when MCP_SERVER_TYPE is "sse") */
}
}
}
}
By default, all available tools are enabled when MCP_ENABLED_TOOLS is empty or not set. If you want to enable only specific tools, you can set this variable to a comma-separated list of tool names. Available tools are: abtesting, analytics, collections, monitoring, querysuggestions, recommend, search, search_read, search_write, usage.
search
: Enables all search operations (both read and write)search_read
: Enables only read operations (list indices, get settings, run queries, get objects)search_write
: Enables only write operations (clear, copy, delete, move, set settings, delete objects, insert objects)Restart Claude desktop, and you should see a new "algolia"
tool is available.
You can run the Inspector (see https://modelcontextprotocol.io/docs/tools/inspector) to check the MCP features and run them manually.
From the repo root, setup the environment
$ export ALGOLIA_APP_ID=""
$ export ALGOLIA_INDEX_NAME=""
$ export ALGOLIA_API_KEY=""
$ export ALGOLIA_WRITE_API_KEY="" # if you want to allow write operations, use your ADMIN key here
$ export MCP_ENABLED_TOOLS="" # if you want to restrict the tools activated you can optionally specify a list
$ export MCP_SERVER_TYPE="stdio" # optional: server type, either "stdio" (default) or "sse". If not set, defaults to "stdio"
$ export MCP_SSE_PORT="8080" # optional: port for SSE server, default is 8080 (only used when MCP_SERVER_TYPE is "sse")
Move into the server directory, and rebuild (if necessary):
$ cd cmd/mcp
$ go build # might already be up-to-date
Run the MCP inspector on the server:
$ npx @modelcontextprotocol/inspector ./mcp
You can actually run a local mcphost (which orchestrates the MCP servers for you), and then use them with other models locally via Ollama.
We are using https://github.com/mark3labs/mcphost for this.
As per the README you need a a config file, so you can copy the Claude one, and put it somewhere sensible so you can use it on the command line (for example ~/mcp.json
)
{
"mcpServers": {
"algolia": {
"command": "/path/to/the/repo/cmd/mcp/mcp",
"env": {
"ALGOLIA_APP_ID": "<APP_ID>",
"ALGOLIA_INDEX_NAME": "<INDEX_NAME>",
"ALGOLIA_API_KEY": "<API_KEY>",
"MCP_ENABLED_TOOLS": "", /* optional: specify which tools to enable (e.g., "search,collections") */
"MCP_SERVER_TYPE": "stdio", /* optional: server type, either "stdio" (default) or "sse". If not set, defaults to "stdio" */
"MCP_SSE_PORT": "8080" /* optional: port for SSE server, default is 8080 (only used when MCP_SERVER_TYPE is "sse") */
}
}
}
}
By default, all available tools are enabled when MCP_ENABLED_TOOLS is empty or not set. If you want to enable only specific tools, you can set this variable to a comma-separated list of tool names. Available tools are: abtesting, analytics, collections, monitoring, querysuggestions, recommend, search, search_read, search_write, usage. You can now run it directly (no need to check out the repo):
$ go run github.com/mark3labs/mcphost@latest --config ~/mcp.json -m ollama:qwen2.5:3b
Here are some sample prompts to seed your imagination:
Check out this blog post including an embedded demo video.
This is a weird one, since there is a bunch of content online showing the templates, maybe it's just not GA yet.
Reviews feature coming soon
Stay tuned for community discussions and feedback