Skip to main content
Glama

Elasticsearch MCP Server

Elasticsearch/OpenSearch MCP 服务器

铁匠徽章

概述

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

Related MCP server: OpenSearch MCP Server

演示

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

特征

常规操作

  • general_api_request :执行通用 HTTP API 请求。对于任何没有专用工具的 Elasticsearch/OpenSearch API,都可以使用此工具。

索引操作

  • 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_HOSTS": "https://localhost:9200", "ELASTICSEARCH_USERNAME": "elastic", "ELASTICSEARCH_PASSWORD": "test123" } } } } // For OpenSearch { "mcpServers": { "opensearch-mcp-server": { "command": "uvx", "args": [ "opensearch-mcp-server" ], "env": { "OPENSEARCH_HOSTS": "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_HOSTS": "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_HOSTS": "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文件。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cr7258/elasticsearch-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server