Elasticsearch MCP Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides Elasticsearch interaction allowing users to search documents, analyze indices, and manage clusters through natural language queries

  • Mentions that Kibana is accessible as part of the Elasticsearch cluster setup, though interaction is primarily through the Elasticsearch API

Elasticsearch/OpenSearch MCP 服务器

概述

一个模型上下文协议 (MCP) 服务器实现,提供 Elasticsearch 和 OpenSearch 交互。该服务器支持通过一组工具搜索文档、分析索引和管理集群。

演示

https://github.com/user-attachments/assets/f7409e31-fac4-4321-9c94-b0ff2ea7ff15

特征

索引操作

  • list_indices :列出所有索引。
  • get_index :返回有关一个或多个索引的信息(映射、设置、别名)。
  • create_index :创建一个新索引。
  • delete_index :删除索引。

文档操作

  • search_documents :搜索文档。
  • index_document :创建或更新索引中的文档。
  • get_document :通过 ID 获取文档。
  • delete_document :通过 ID 删除文档。
  • delete_by_query :删除与提供的查询匹配的文档。

集群操作

  • get_cluster_health :返回有关集群健康状况的基本信息。
  • get_cluster_stats :返回集群统计信息的高级概述。

别名操作

  • list_aliases :列出所有别名。
  • get_alias :获取特定索引的别名信息。
  • put_alias :为特定索引创建或更新别名。
  • delete_alias :删除特定索引的别名。

配置环境变量

.env.example文件复制到.env并相应地更新值。

启动 Elasticsearch/OpenSearch 集群

使用 Docker Compose 启动 Elasticsearch/OpenSearch 集群:

# For Elasticsearch docker-compose -f docker-compose-elasticsearch.yml up -d # For OpenSearch docker-compose -f docker-compose-opensearch.yml up -d

Elasticsearch 默认用户名为elastic ,密码为test123 。OpenSearch 默认用户名为admin ,密码为admin

您可以从http://localhost:5601访问 Kibana/OpenSearch 仪表板。

与 Claude Desktop 一起使用

选项 1:通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Elasticsearch Server:

npx -y @smithery/cli install elasticsearch-mcp-server --client claude

选项 2:使用 uvx

使用uvx将自动从 PyPI 安装软件包,无需将仓库克隆到本地。将以下配置添加到 Claude Desktop 的配置文件claude_desktop_config.json中。

// For Elasticsearch { "mcpServers": { "elasticsearch-mcp-server": { "command": "uvx", "args": [ "elasticsearch-mcp-server" ], "env": { "ELASTICSEARCH_HOST": "https://localhost:9200", "ELASTICSEARCH_USERNAME": "elastic", "ELASTICSEARCH_PASSWORD": "test123" } } } } // For OpenSearch { "mcpServers": { "opensearch-mcp-server": { "command": "uvx", "args": [ "opensearch-mcp-server" ], "env": { "OPENSEARCH_HOST": "https://localhost:9200", "OPENSEARCH_USERNAME": "admin", "OPENSEARCH_PASSWORD": "admin" } } } }

选项 3:使用 uv 进行本地开发

使用uv需要在本地克隆仓库并指定源代码路径。在 Claude Desktop 的配置文件claude_desktop_config.json中添加以下配置。

// For Elasticsearch { "mcpServers": { "elasticsearch-mcp-server": { "command": "uv", "args": [ "--directory", "path/to/src/elasticsearch_mcp_server", "run", "elasticsearch-mcp-server" ], "env": { "ELASTICSEARCH_HOST": "https://localhost:9200", "ELASTICSEARCH_USERNAME": "elastic", "ELASTICSEARCH_PASSWORD": "test123" } } } } // For OpenSearch { "mcpServers": { "opensearch-mcp-server": { "command": "uv", "args": [ "--directory", "path/to/src/elasticsearch_mcp_server", "run", "opensearch-mcp-server" ], "env": { "OPENSEARCH_HOST": "https://localhost:9200", "OPENSEARCH_USERNAME": "admin", "OPENSEARCH_PASSWORD": "admin" } } } }
  • 在 macOS 上: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json

重新启动 Claude Desktop 以加载新的 MCP 服务器。

现在,您可以使用自然语言命令通过 Claude 与您的 Elasticsearch/OpenSearch 集群进行交互,例如:

  • “列出集群中的所有索引”
  • “学生鲍勃多大了?”
  • “显示集群健康状态”

与 Anthropic MCP 客户端一起使用

uv run mcp_client/client.py src/server.py

执照

该项目根据 Apache 许可证版本 2.0 获得许可 - 有关详细信息,请参阅LICENSE文件。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

通过允许用户通过模型上下文协议服务器和自然语言命令执行索引操作、文档搜索和集群管理,促进与 Elasticsearch 集群的交互。

  1. Overview
    1. Demo
      1. Features
        1. Index Operations
        2. Document Operations
        3. Cluster Operations
        4. Alias Operations
      2. Configure Environment Variables
        1. Start Elasticsearch/OpenSearch Cluster
          1. Usage with Claude Desktop
            1. Option 1: Installing via Smithery
            2. Option 2: Using uvx
            3. Option 3: Using uv with local development
          2. Usage with Anthropic MCP Client
            1. License
              ID: b3po3delex