返回 MCP 目录
public公开dns本地运行

elasticsearch-mcp-server

Elasticsearch/OpenSearch的MCP服务器实现,提供文档搜索、索引分析和集群管理功能。

article

README

🚀 Elasticsearch/OpenSearch MCP 服务器

这是一个实现模型上下文协议(MCP)的服务器,可提供与Elasticsearch和OpenSearch交互的功能。借助一系列工具,该服务器支持搜索文档、分析索引以及管理集群。

smithery badge

🚀 快速开始

配置环境变量

# Elasticsearch 配置
ELASTICSEARCH_HOSTS=http://localhost:9200
ELASTICSEARCH_USERNAME=
ELASTICSEARCH_PASSWORD=

# OpenSearch 配置(如果需要)
OPENSEARCH_HOSTS=http://localhost:9200
OPENSEARCH_USERNAME=
OPENSEARCH_PASSWORD=

启动 Elasticsearch/OpenSearch 集群

使用 Docker 启动

# 启动 Elasticsearch
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 docker.elastic.co/elasticsearch/elasticsearch:7.17.2

# 启动 OpenSearch
docker run -d --name opensearch -p 9200:9200 -p 9300:9300 amazon/opensearch:1.5.0

在 Claude Desktop 中使用

安装方法

方法一:通过 uv 命令安装
# Elasticsearch 版本
uv run mcp_client/client.py src/server.py --elasticsearch

# OpenSearch 版本
uv run mcp_client/client.py src/server.py --opensearch

✨ 主要特性

索引操作

  • list_indices:列出集群中的所有索引。
  • create_index:创建一个新的索引。
  • delete_index:删除指定的索引。
  • update_mapping:更新索引的映射关系。

文档操作

  • search_docs:搜索指定索引中的文档。
  • get_doc:获取指定索引和 ID 的文档。
  • index_doc:向指定索引添加或更新文档。
  • delete_doc:删除指定索引和 ID 的文档。

集群操作

  • cluster_health:查看集群的健康状态。
  • cluster_stats:获取集群的统计信息。
  • nodes_info:列出集群中的所有节点及其信息。
  • nodes_stats:获取各个节点的详细统计信息。

别名操作

  • list_aliases:列出指定索引的所有别名。
  • create_alias:创建一个新的别名。
  • delete_alias:删除指定的别名。
  • update_alias:更新现有别名的配置。

📚 详细文档

演示

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

📄 许可证

此项目在 Apache License Version 2.0 下开源,具体信息请参阅 LICENSE 文件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端