Skip to main content
Glama
imlewc

Elasticsearch 7.x MCP Server

by imlewc

Elasticsearch 7.x MCP 服务器

铁匠徽章

Elasticsearch 7.x 的 MCP 服务器,提供与 Elasticsearch 7.x 版本的兼容性。

特征

  • 提供与 Elasticsearch 7.x 交互的 MCP 协议接口

  • 支持基本的 Elasticsearch 操作(ping、info 等)

  • 支持完整的搜索功能,包括聚合查询、突出显示、排序和其他高级功能

  • 通过任何 MCP 客户端轻松访问 Elasticsearch 功能

Related MCP server: Elasticsearch MCP Server

要求

  • Python 3.10+

  • Elasticsearch 7.x(推荐 7.17.x)

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Elasticsearch 7.x MCP 服务器:

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

手动安装

pip install -e .

环境变量

服务器需要以下环境变量:

  • ELASTIC_HOST :Elasticsearch 主机地址(例如http://localhost:9200

  • ELASTIC_USERNAME :Elasticsearch 用户名

  • ELASTIC_PASSWORD :Elasticsearch 密码

  • MCP_PORT :(可选)MCP 服务器监听端口,默认 9999

使用 Docker Compose

  1. 创建一个.env文件并设置ELASTIC_PASSWORD

ELASTIC_PASSWORD=your_secure_password
  1. 启动服务:

docker-compose up -d

这将启动一个三节点 Elasticsearch 7.17.10 集群、Kibana 和 MCP 服务器。

使用 MCP 客户端

您可以使用任何 MCP 客户端连接到 MCP 服务器:

from mcp import MCPClient

client = MCPClient("localhost:9999")
response = client.call("es-ping")
print(response)  # {"success": true}

API 文档

目前支持的 MCP 方法:

  • es-ping :检查 Elasticsearch 连接

  • es-info :获取 Elasticsearch 集群信息

  • es-search :在 Elasticsearch 索引中搜索文档

搜索 API 示例

基本搜索

# Basic search
search_response = client.call("es-search", {
    "index": "my_index",
    "query": {
        "match": {
            "title": "search keywords"
        }
    },
    "size": 10,
    "from": 0
})

聚合查询

# Aggregation query
agg_response = client.call("es-search", {
    "index": "my_index",
    "size": 0,  # Only need aggregation results, no documents
    "aggs": {
        "categories": {
            "terms": {
                "field": "category.keyword",
                "size": 10
            }
        },
        "avg_price": {
            "avg": {
                "field": "price"
            }
        }
    }
})

高级搜索

# Advanced search with highlighting, sorting, and filtering
advanced_response = client.call("es-search", {
    "index": "my_index",
    "query": {
        "bool": {
            "must": [
                {"match": {"content": "search term"}}
            ],
            "filter": [
                {"range": {"price": {"gte": 100, "lte": 200}}}
            ]
        }
    },
    "sort": [
        {"date": {"order": "desc"}},
        "_score"
    ],
    "highlight": {
        "fields": {
            "content": {}
        }
    },
    "_source": ["title", "date", "price"]
})

发展

  1. 克隆存储库

  2. 安装开发依赖项

  3. 运行服务器: elasticsearch7-mcp-server

执照

[LICENSE 文件中的许可证]

中文詳細

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

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/imlewc/elasticsearch7-mcp-server'

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