mcpField
E
Elasticsearch MCP 服务器

Elasticsearch MCP 服务器

ローカル
github.com/macgafデータベース473 週間前に更新

Elasticsearch MCP 服务器 について

Elasticsearch MCP Serverは、Elasticsearch 7または8を利用する開発者向けに、インデックスやクラスターを操作するツールを提供します。stdioとSSEに対応し、サーバー検証用のクライアントも含みます。

主な機能

  1. 01クラスターのインデックス一覧
  2. 02インデックスのフィールドマッピング取得
  3. 03ハイライト付き検索
  4. 04クラスターの健全性と統計の確認
  5. 05Elasticsearch 7と8に対応
  6. 06stdioとSSEのトランスポート

活用シーン

  1. 01Elasticsearchクラスターのインデックス確認
  2. 02マッピングの確認とドキュメント検索
  3. 03クラスターの健全性と稼働状況の監視

MCP 対応

MCPサーバーは、インデックス一覧、マッピング取得、検索、クラスター状態確認のツールをstdioまたはSSEで公開します。SSEサーバーに接続して検証するクライアントも含まれます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"es-mcp-server-macgaf": {
"command": "uvx",
"args": [
"es-mcp-server"
]
}
}
}
起動コマンドuvx es-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypies-mcp-server

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

プロジェクトの README より

Elasticsearch MCP 服务器

基于 Model Context Protocol (MCP) 的 Elasticsearch 工具服务器,提供索引查询、映射获取、搜索等功能。

其他语言版本: 🇺🇸 English | 🇫🇷 Français | 🇩🇪 Deutsch | 🇯🇵 日本語

项目目录结构

.
├── es_mcp_server/         # 服务器代码
│   ├── __init__.py        # 包初始化
│   ├── server.py          # 服务器主程序
│   ├── config.py          # 配置管理
│   ├── client.py          # ES客户端工厂
│   └── tools.py           # ES MCP工具实现
├── es_mcp_client/         # 客户端代码
│   ├── __init__.py        # 包初始化
│   └── client.py          # 客户端测试程序
├── test/                  # 单元测试
│   ├── __init__.py        # 测试包初始化
│   └── test_server.py     # 服务器单元测试
├── claude_config_examples/ # Claude配置示例
│   ├── elasticsearch_stdio_config.json # stdio模式配置
│   └── elasticsearch_sse_config.json   # sse模式配置
├── .vscode/               # VSCode配置
│   └── launch.json        # 调试配置
├── docs/                  # 文档
│   └── requires.md        # 需求文档
├── pyproject.toml         # 项目配置文件
├── README.md              # 中文说明文档
├── README.en.md           # 英文说明文档
├── README.fr.md           # 法语说明文档
├── README.de.md           # 德语说明文档
├── README.jp.md           # 日语说明文档
├── .gitignore             # Git忽略文件
└── LICENSE                # MIT许可证

服务器功能和使用说明

Elasticsearch MCP 服务器提供以下工具:

  1. list_indices - 显示 ES 集群的所有索引
  2. get_mappings - 返回指定索引的字段映射信息
  3. search - 在指定索引中执行搜索查询,支持高亮显示
  4. get_cluster_health - 获取 ES 集群的健康状态信息
  5. get_cluster_stats - 获取 ES 集群的运行状态统计信息
安装
# 从PyPI安装
pip install es-mcp-server

# 或从源码安装
pip install .

# 安装开发依赖
pip install ".[dev]"
配置

服务器通过环境变量或命令行参数进行配置:

环境变量说明默认值
ES_HOSTES 主机地址localhost
ES_PORTES 端口9200
ES_USERNAMEES 用户名无
ES_PASSWORDES 密码无
ES_API_KEYES API 密钥无
ES_USE_SSL是否使用 SSLfalse
ES_VERIFY_CERTS是否验证证书true
ES_VERSIONES 版本 (7 或 8)8
启动服务器
stdio 模式 (与 Claude Desktop 等客户端集成)
# 使用默认配置
uvx es-mcp-server

# 自定义 ES 连接
uvx es-mcp-server --host 192.168.0.13 --port 9200 --es-version 8
SSE 模式 (Web 服务器模式)
# 启动 SSE 服务器
uvx es-mcp-server --transport sse --host 192.168.0.13 --port 9200

客户端使用说明

项目包含一个用于验证服务器功能的客户端程序。

启动客户端
# 连接到默认 SSE 服务器 (http://localhost:8000/sse)
uvx es-mcp-client

# 自定义 SSE 服务器地址
uvx es-mcp-client --url http://example.com:8000/sse

对接其他工具

与 Claude Desktop 集成

Claude Desktop 可以通过 MCP 协议使用本服务,以便访问 Elasticsearch 数据。

stdio 模式配置

在 Claude Desktop 中添加以下配置:

{
  "mcpServers": {
    "elasticsearch-mcp-server": {
      "command": "uvx",
      "args": ["es-mcp-server"],
      "env": {
        "ES_HOST": "your-es-host",
        "ES_PORT": "9200",
        "ES_VERSION": "8"
      }
    }
  }
}
SSE 模式配置

如果您已经启动了 SSE 模式的服务器,可以使用以下配置:

{
  "mcpServers": {
    "elasticsearch-mcp-server": {
      "url": "http://localhost:8000/sse"
    }
  }
}

单元测试

运行单元测试以验证功能:

pytest

开发调试

本项目包含 VSCode 调试配置,打开 VSCode 后可直接使用调试功能启动服务器或客户端。

注意事项

  • 本项目同时支持 Elasticsearch 7 和 8 版本的 API
  • 服务器默认使用 stdio 传输模式,适合与 Claude Desktop 等客户端集成
  • SSE 模式适合作为独立服务启动

许可证

MIT License


本项目的大部分代码、文档、配置示例都是用cursor的claude-3.7-sonnet根据需求文档 生成出来的(提示词:基于本文件生成项目所有程序)。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。