{
  "name": "io.github.elastic/mcp-server-elasticsearch",
  "description": "The official Elasticsearch MCP connects an AI agent to an Elasticsearch or Elastic Cloud cluster. Lists indices, returns mappings and aliases, and executes Query DSL searches against a scoped index pattern. Designed for the \"what is in this index\" and \"why did this query return nothing\" debug loops where a developer would otherwise drop into Kibana.",
  "status": "active",
  "version": "latest",
  "_meta": {
    "com.top-mcps/lastVerified": "2026-06-02",
    "com.top-mcps/score": {
      "value": 85,
      "rubricVersion": "2026-04",
      "lastComputed": "2026-06-02T13:16:41.645Z",
      "methodology": "https://top-mcps.com/about/methodology"
    },
    "com.top-mcps/stats": {
      "fetchedAt": "2026-06-02T13:16:41.104Z",
      "githubStars": 667,
      "lastCommitAt": "2026-05-28T23:46:25Z"
    }
  },
  "repository": {
    "url": "https://github.com/elastic/mcp-server-elasticsearch",
    "source": "github"
  },
  "author": {
    "name": "Elastic"
  },
  "packages": [
    {
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "identifier": "run",
      "version": "latest",
      "transport": {
        "type": "stdio"
      },
      "runtimeArguments": [
        {
          "type": "positional",
          "value": "--rm"
        },
        {
          "type": "positional",
          "value": "-i"
        },
        {
          "type": "positional",
          "value": "-e"
        },
        {
          "type": "positional",
          "value": "ES_URL"
        },
        {
          "type": "positional",
          "value": "-e"
        },
        {
          "type": "positional",
          "value": "ES_API_KEY"
        },
        {
          "type": "positional",
          "value": "docker.elastic.co/mcp/server-elasticsearch:latest"
        }
      ],
      "environmentVariables": [
        {
          "name": "ES_URL",
          "description": "ES_URL — required credential for Elasticsearch.",
          "isRequired": true,
          "isSecret": true
        },
        {
          "name": "ES_API_KEY",
          "description": "ES_API_KEY — required credential for Elasticsearch.",
          "isRequired": true,
          "isSecret": true
        }
      ]
    }
  ],
  "capabilities": {
    "tools": [
      {
        "name": "list_indices",
        "description": "List indices and aliases visible to the API key.",
        "sideEffect": "read"
      },
      {
        "name": "get_mapping",
        "description": "Return field mappings for an index or alias.",
        "sideEffect": "read",
        "args": [
          {
            "name": "index",
            "type": "string",
            "required": true
          }
        ]
      },
      {
        "name": "search",
        "description": "Execute a Query DSL search.",
        "sideEffect": "read",
        "args": [
          {
            "name": "index",
            "type": "string",
            "required": true
          },
          {
            "name": "query",
            "type": "object",
            "required": true
          }
        ]
      },
      {
        "name": "esql",
        "description": "Execute an ES|QL query (Elasticsearch 8.11+).",
        "sideEffect": "read",
        "args": [
          {
            "name": "query",
            "type": "string",
            "required": true
          }
        ]
      }
    ],
    "security": {
      "scope": "read-only",
      "sandbox": "Authenticates with an Elastic API key. Read-only at the tool layer; pair with an API key scoped to a single index pattern for defence in depth.",
      "gotchas": [
        "API keys carry whatever privileges they were created with — always create a read-only key scoped to one index pattern.",
        "Search payloads can be unbounded; cap `size` in the agent prompt for high-cardinality indices.",
        "Elastic Cloud rate-limits aggressive queries — wide aggregations on cold tiers can take minutes."
      ]
    }
  },
  "_links": {
    "html": "https://top-mcps.com/mcp/elasticsearch",
    "markdown": "https://top-mcps.com/mcp/elasticsearch.md",
    "methodology": "https://top-mcps.com/about/methodology"
  }
}
