{"data":{"slug":"elastic-mcp-server-elasticsearch","name":"mcp-server-elasticsearch","tagline":"Elasticsearch-based MCP server implementation in Rust","github_url":"https://github.com/elastic/mcp-server-elasticsearch","owner":"elastic","repo":"mcp-server-elasticsearch","owner_avatar_url":"https://avatars.githubusercontent.com/u/6764390?v=4","primary_language":"Rust","stars":705,"forks":146,"topics":["elasticsearch","mcp","mcp-server","vector-database"],"archived":false,"github_pushed_at":"2026-08-20T23:47:05+00:00","maintenance_label":"Very active","stars_delta_30d":8,"url":"https://www.graphcanon.com/tools/elastic-mcp-server-elasticsearch","markdown_url":"https://www.graphcanon.com/tools/elastic-mcp-server-elasticsearch.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/elastic-mcp-server-elasticsearch","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=elastic-mcp-server-elasticsearch","description":null,"homepage_url":"https://www.elastic.co/elasticsearch","license":"Apache-2.0","open_issues":15,"watchers":14,"ai_summary":"Provides functionalities to interact with Elasticsearch using the MCP protocol.","readme_excerpt":"# Elasticsearch MCP Server\n\n> [!CAUTION]\n> This MCP server is deprecated and will only receive critical security updates going forward.\n> It has been superseded by the [Elastic Agent Builder](https://ela.st/agent-builder-docs) [MCP endpoint](https://ela.st/agent-builder-mcp), which is available in Elastic 9.2.0+ and Elasticsearch Serverless projects.\n\n## Use the Elasticsearch MCP Server for AI Agents\n\nThe Elasticsearch MCP Server connects your AI agents to Elasticsearch data using the [Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro) (MCP).\nIt enables natural language interactions with your Elasticsearch indices, allowing agents to query, analyze, and retrieve data without custom APIs.\n\nFollow these steps to deploy and configure the Elasticsearch MCP Server container image from AWS Marketplace.\n\n### Before you begin\n\nBefore you start, ensure you have:\n\n- An Elasticsearch cluster (version 8.x or 9.x) accessible from your AWS environment\n- Elasticsearch authentication credentials:\n  - An [API key](https://www.elastic.co/docs/deploy-manage/api-keys), or\n  - A [username](https://www.elastic.co/docs/deploy-manage/users-roles) and password pair\n- Docker installed and running in your AWS environment (for example, on an EC2 instance or in a container service)\n- An MCP client configured (such as Claude Desktop, Cursor, VS Code, or another MCP-compatible tool)\n- Network connectivity between your deployment environment and your Elasticsearch cluster\n\n> [!NOTE]\n>\n> These instructions apply to Elasticsearch MCP Server 0.4.0 and later.\n> For versions 0.3.1 and earlier, refer to the [README for v0.3.1](https://github.com/elastic/mcp-server-elasticsearch/tree/v0.3.1).\n\n### Deploy the Elasticsearch MCP Server\n\nThe Elasticsearch MCP Server is provided as a Docker container image available from AWS Marketplace. You can run it using either the stdio protocol (for direct client connections) or the streamable-HTTP protocol (for web-based integrations).\n\n#### Choose a protocol\n\nThe server supports two protocols:\n\n- [stdio](https://modelcontextprotocol.io/specification/latest/basic/transports#stdio): Direct communication between the MCP client and server. Use this when your client supports stdio and runs in the same environment.\n- [streamable-HTTP](https://modelcontextprotocol.io/specification/latest/basic/transports#streamable-http): HTTP-based protocol recommended for web integrations, stateful sessions, and concurrent clients.\n\n> **Note:** Server-Sent Events (SSE) is deprecated. Use streamable-HTTP instead.\n\n### Configure the stdio protocol\n\nUse the stdio protocol when your MCP client connects directly to the server process.\n\n#### Set environment variables for stdio mode\n\nSet the following environment variables:\n\n- `ES_URL`: The URL of your Elasticsearch cluster (for example, `https://your-cluster.es.amazonaws.com:9200`)\n- For authentication, use one of these options:\n  - API key: Set `ES_API_KEY` to your Elasticsearch API key\n  - Basic authentication: Set `ES_USERNAME` and `ES_PASSWORD` to your Elasticsearch credentials\n- (Optional) `ES_SSL_SKIP_VERIFY`: Set to `true` to skip SSL/TLS certificate verification when connecting to Elasticsearch. Only use this for development or testing environments.\n\n#### Run the container in stdio mode\n\nStart the MCP server in stdio mode:\n\n```bash\ndocker run -i --rm \\\n  -e ES_URL \\\n  -e ES_API_KEY \\\n  docker.elastic.co/mcp/elasticsearch \\\n  stdio\n```\n\n#### Configure Claude Desktop\n\nAdd this configuration to your Claude Desktop configuration file:\n\n```json\n{\n  \"mcpServers\": {\n    \"elasticsearch-mcp-server\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"-i\", \"--rm\",\n        \"-e\", \"ES_URL\",\n        \"-e\", \"ES_API_KEY\",\n        \"docker.elastic.co/mcp/elasticsearch\",\n        \"stdio\"\n      ],\n      \"env\": {\n        \"ES_URL\": \"<elasticsearch-cluster-url>\",\n        \"ES_API_KEY\": \"<elasticsearch-API-key>\"\n      }\n    }\n  }\n}\n```\n\nReplace `<elasticsearch-cluster-url>` with your","github_created_at":"2025-03-24T11:59:18+00:00","created_at":"2026-07-11T11:27:41.972926+00:00","updated_at":"2026-08-22T00:00:58.373289+00:00","categories":[{"slug":"vector-databases","name":"Vector Databases","url":"https://www.graphcanon.com/categories/vector-databases","markdown_url":"https://www.graphcanon.com/categories/vector-databases.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/vector-databases"}],"tags":[{"slug":"elasticsearch","name":"elasticsearch"},{"slug":"mcp","name":"mcp"},{"slug":"rust","name":"rust"}],"trust":{"provenance":{"is_fork":false,"github_id":953992846,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-22T00:00:57.549Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":0,"days_since_push":1,"last_release_at":"2025-10-24T18:00:05Z","stars_delta_30d":8,"open_issues_delta_30d":0},"security_summary":{"status":"no_manifest","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:27:43.075Z","medium_count":0,"scan_profile":"mcp_manifest","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-22T00:00:58.018Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-08-22T00:00:58.018Z","managed_saas":false},"languages":{"value":["rust"],"source":"github.language","observed_at":"2026-08-22T00:00:58.018Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-08-22T00:00:58.018Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-08-22T00:00:58.018Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["- When your project is built with Rust and requires a specialized Elasticsearch server for efficient handling of vector databases, making it easier to integrate with existing Rust codebases.","- If you are working on applications that can benefit from the specific capabilities provided by mcp-server-elasticsearch in managing and querying large sets of vector data using Elasticsearch."],"when_not_to_use":["- It may not be suitable if your project is not developed in Rust since leveraging its full benefits requires a native, tightly integrated environment to function effectively.","- Avoid this tool if you are looking for a more generalized Elasticsearch setup that might offer broader compatibility with various languages and frameworks."],"source":"enrich:decision_facts","observed_at":"2026-07-11T22:27:22.585Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"A Rust-based Elasticsearch server component designed for integration into systems requiring robust vector database functionality."}]}}