Elasticsearch MCP server
Elasticsearch in any MCP client, through Memtro: Elasticsearch does not publish this server. Memtro's Elasticsearch connector reads Elasticsearch through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
Read-only Elasticsearch (or OpenSearch): cluster health, indices with document counts and sizes, field mappings, searches by query string or query DSL, counts, and terms, date-histogram and stats aggregations.
Reads
elasticsearch_clusterCluster info and health: name, version and distribution (Elasticsearch or OpenSearch), status (green/yellow/red), node counts and shard counts.elasticsearch_indicesIndices with health, status (open/closed), document count, deleted documents, primary and total size in bytes, and primary/replica shard counts…elasticsearch_mappingThe fields of an index (or every index matching a pattern) flattened to dotted names with their types — keyword, text, date, long, ip, nested…elasticsearch_searchSearch an index or pattern.elasticsearch_countHow many documents match a query string or DSL query in an index or pattern (exact, unlike a search total over 10,000).elasticsearch_aggregateAggregate over the documents matching a query: terms (top values of a keyword/numeric field with counts — use the .keyword sub-field for text)…
Connect it
First connect Elasticsearch on Dashboard → Connections, then add Memtro to your client once. The Elasticsearch tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Elasticsearch connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › How many documents in logs-* have status:500 in the last hour?
- › What are the top 10 hosts by error count today?
- › Show me errors per hour for the last 24 hours in logs-nginx-*
- › Which indices are over 50 GB, and is the cluster green?
- › Find the last 20 log lines mentioning 'connection refused' from payments-api
Questions
- Is this an official Elasticsearch MCP server?
- No. It is Memtro's MCP server with Memtro's Elasticsearch connector behind it: the connector reads Elasticsearch through its API with the credentials you connect on Dashboard → Connections, and Elasticsearch publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in Elasticsearch?
- Not yet. Today every Elasticsearch tool reads, searches or lists; when it gains actions, each is marked, granted by name and used only when you ask, so nothing is created, sent, updated or deleted until you say so.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.