← 返回公开榜单
el

cr7258/elasticsearch-mcp-server

A Model Context Protocol (MCP) server implementation that provides Elasticsearch and OpenSearch interaction.

本周新增
85 星
近 3 周倍数
—
距上次推送
278 天
距上次发布
278 天
许可证
Apache-2.0

星标增长

每根柱子是这个周期记录下来的 star 增长:优先取逐个 stargazer 到达时间分桶的到达数,还没被 stargazer 扫描覆盖的仓库改用该周期的 star 净增;两个写者都没记录的周期画成虚线空档,而不是当成 0。柱高按各自窗口的峰值归一,两张图不共用坐标轴。指向任意一根柱子, tooltip 里是该周期的九项指标:当前值与周期内的净增。

指向或点击一根柱子,看当天的九项指标。

12/1712/301/111/242/62/193/33/16

2026 年 3 月 16 日 新增 85 个星标

窗口内最高的一天是 2026 年 3 月 16 日,新增 85 个星标。

证据时间轴

  1. 第 2026 年第 12 周发布 13 次

    累计 21 个 release

README
该仓库存储的文档,若已生成中文翻译则一并显示

Elasticsearch/OpenSearch MCP 服务器

smithery 徽章

MseeP.ai 安全评估徽章

概述

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

Elasticsearch MCP 服务器

演示

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 集群:

# 对于 Elasticsearch
docker-compose -f docker-compose-elasticsearch.yml up -d

# 对于 OpenSearch
docker-compose -f docker-compose-opensearch.yml up -d

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

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

Stdio

选项 1:使用 uvx

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

// 对于 Elasticsearch
{
  "mcpServers": {
    "elasticsearch-mcp-server": {
      "command": "uvx",
      "args": [
        "elasticsearch-mcp-server"
      ],
      "env": {
        "ELASTICSEARCH_HOSTS": "https://localhost:9200",
        "ELASTICSEARCH_USERNAME": "elastic",
        "ELASTICSEARCH_PASSWORD": "test123"
      }
    }
  }
}

// 对于 OpenSearch
{
  "mcpServers": {
    "opensearch-mcp-server": {
      "command": "uvx",
      "args": [
        "opensearch-mcp-server"
      ],
      "env": {
        "OPENSEARCH_HOSTS": "https://localhost:9200",
        "OPENSEARCH_USERNAME": "admin",
        "OPENSEARCH_PASSWORD": "admin"
      }
    }
  }
}

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

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

// 对于 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"
      }
    }
  }
}

// 对于 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"
      }
    }
  }
}

SSE

选项 1:使用 uvx

# 导出环境变量
export ELASTICSEARCH_HOSTS="https://localhost:9200"
export ELASTICSEARCH_USERNAME="elastic"
export ELASTICSEARCH_PASSWORD="test123"

# 默认情况下,SSE MCP 服务器将在 http://127.0.0.1:8000/sse 上提供服务
uvx elasticsearch-mcp-server --transport sse

# 可以使用 --host、--port 和 --path 选项指定主机、端口和路径
uvx elasticsearch-mcp-server --transport sse --host 0.0.0.0 --port 8000 --path /sse

选项 2:使用 uv

# 默认情况下,SSE MCP 服务器将在 http://127.0.0.1:8000/sse 上提供服务
uv run src/server.py elasticsearch-mcp-server --transport sse

# 可以使用 --host、--port 和 --path 选项指定主机、端口和路径
uv run src/server.py elasticsearch-mcp-server --transport sse --host 0.0.0.0 --port 8000 --path /sse

Streamable HTTP

选项 1:使用 uvx

# 导出环境变量
export ELASTICSEARCH_HOSTS="https://localhost:9200"
export ELASTICSEARCH_USERNAME="elastic"
export ELASTICSEARCH_PASSWORD="test123"

# 默认情况下,Streamable HTTP MCP 服务器将在 http://127.0.0.1:8000/mcp 上提供服务
uvx elasticsearch-mcp-server --transport streamable-http

# 可以使用 --host、--port 和 --path 选项指定主机、端口和路径
uvx elasticsearch-mcp-server --transport streamable-http --host 0.0.0.0 --port 8000 --path /mcp

选项 2:使用 uv

# 默认情况下,Streamable HTTP MCP 服务器将在 http://127.0.0.1:8000/mcp 上提供服务
uv run src/server.py elasticsearch-mcp-server --transport streamable-http

# 可以使用 --host、--port 和 --path 选项指定主机、端口和路径
uv run src/server.py elasticsearch-mcp-server --transport streamable-http --host 0.0.0.0 --port 8000 --path /mcp

许可证

本项目根据 Apache License Version 2.0 授权 - 详细内容请参阅 LICENSE 文件。

页面上的每个数字都来自记录下来的 stargazer 到达时间,没有评分公式,也没有 AI 判定。 任何结论都可以用 /api/v1/repos/{id}/stats 里的原始增量自己重算。