关于 Elasticsearch 7.x MCP Server
Elasticsearch 7.x MCP Server 为 Elasticsearch 7.x 提供 MCP 接口,面向需要通过 MCP 客户端访问集群的用户。它涵盖连接检查、集群信息和包含聚合等选项的搜索。
主要功能
- 01检查 Elasticsearch 连接
- 02获取集群信息
- 03搜索索引文档
- 04支持聚合、高亮与排序
适用场景
- 01确认 Elasticsearch 集群连通性
- 02通过 MCP 查询索引文档
- 03执行聚合或高亮搜索
MCP 相关
该 MCP 服务提供 ping、集群信息和搜索方法,供 MCP 客户端调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Elasticsearch 7.x MCP 服务
适用于 Elasticsearch 7.x 的 MCP 服务,兼容 Elasticsearch 7.x 版本。
功能
- 提供用于与 Elasticsearch 7.x 交互的 MCP 协议接口
- 支持基本的 Elasticsearch 操作(ping、info 等)
- 支持完整的搜索功能,包括聚合查询、高亮、排序及其他高级功能
- 可通过任何 MCP 客户端轻松使用 Elasticsearch 功能
要求
- Python 3.10+
- Elasticsearch 7.x(推荐 7.17.x)
安装
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 Elasticsearch 7.x MCP Server:
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
- 创建
.env文件并设置ELASTIC_PASSWORD:
ELASTIC_PASSWORD=your_secure_password
- 启动服务:
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"]
})
开发
- 克隆代码库
- 安装开发依赖项
- 运行服务:
elasticsearch7-mcp-server
许可证
[LICENSE 文件中的许可证]
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
