by algolia
Enables interaction with Algolia APIs through experimental Model Context Protocol servers written in Go.
Mcp provides experimental Model Context Protocol (MCP) servers that act as a bridge between Claude Desktop (or other MCP‑compatible tools) and Algolia's search, analytics, and recommendation APIs. It lets users run a local Go binary to expose Algolia functionality as AI‑accessible tools.
git clone git@github.com:algolia/mcp.git
cd mcp/cmd/mcp
go build
mcp
executable and the required environment variables.algolia
tool will appear and can be invoked via natural‑language prompts.npx @modelcontextprotocol/inspector ./mcp
to test tools manually.MCP_ENABLED_TOOLS
(comma‑separated list).MCP_SERVER_TYPE="sse"
).ALGOLIA_WRITE_API_KEY
(admin key).Q: Is this server production‑ready? A: The repository is experimental and not covered by Algolia's SLA. Use it for exploration, prototypes, or local development only.
Q: Do I need a Node.js version of the server? A: A Go implementation is provided here; a separate Node.js server exists at https://github.com/algolia/mcp-node.
Q: How do I enable only specific tools?
A: Set the MCP_ENABLED_TOOLS
environment variable to a comma‑separated list of tool names (e.g., search,collections
). Leaving it empty enables all tools.
Q: Can I run Mcp with Ollama?
A: Yes. Use mcphost
(https://github.com/mark3labs/mcphost) with a JSON config that points to the built binary, then launch it with an Ollama model.
Q: Where can I learn more? A: See the Algolia blog post https://www.algolia.com/blog/engineering/algolia-mcp-server and the official MCP documentation at https://modelcontextprotocol.io.
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.
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "algolia": { "command": "/path/to/the/repo/cmd/mcp/mcp", "args": [], "env": { "ALGOLIA_APP_ID": "<APP_ID>", "ALGOLIA_INDEX_NAME": "<INDEX_NAME>", "ALGOLIA_API_KEY": "<API_KEY>", "ALGOLIA_WRITE_API_KEY": "<ADMIN_API_KEY>", "MCP_ENABLED_TOOLS": "", "MCP_SERVER_TYPE": "stdio", "MCP_SSE_PORT": "8080" } } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by exa-labs
Provides real-time web search capabilities to AI assistants via a Model Context Protocol server, enabling safe and controlled access to the Exa AI Search API.
by elastic
Enables natural‑language interaction with Elasticsearch indices via the Model Context Protocol, exposing tools for listing indices, fetching mappings, performing searches, running ES|QL queries, and retrieving shard information.
by graphlit
Enables integration between MCP clients and the Graphlit platform, providing ingestion, extraction, retrieval, and RAG capabilities across a wide range of data sources and connectors.
by mamertofabian
Fast cross‑platform file searching leveraging the Everything SDK on Windows, Spotlight on macOS, and locate/plocate on Linux.
by cr7258
Provides Elasticsearch and OpenSearch interaction via Model Context Protocol, enabling document search, index management, cluster monitoring, and alias operations.
by liuyoshio
Provides natural‑language search and recommendation for Model Context Protocol servers, delivering rich metadata and real‑time updates.
by ihor-sokoliuk
Provides web search capabilities via the SearXNG API, exposing them through an MCP server for seamless integration with AI agents and tools.
by fatwang2
Provides web and news search, URL crawling, sitemap extraction, deep‑reasoning, and trending topic retrieval via Search1API, exposed as an MCP server for integration with AI clients.
by cnych
Provides SEO data retrieval via Ahrefs, exposing MCP tools for backlink analysis, keyword generation, traffic estimation, and keyword difficulty, with automated CAPTCHA solving and response caching.