Imlewc_elasticsearch7 Mcp Server

Imlewc_elasticsearch7 Mcp Server

🚀 Elasticsearch 7.x MCP 服务器

本服务器专为 Elasticsearch 7.x 提供 MCP 协议接口,完美支持与 Elasticsearch 7.x 版本兼容,让你轻松访问 Elasticsearch 的各项功能。

🚀 快速开始

本服务器为 Elasticsearch 7.x 提供 MCP 协议接口,支持与该版本兼容。你可以通过 Smithery 自动安装或手动安装,配置好环境变量后,就能使用 MCP 客户端连接服务器进行操作。

✨ 主要特性

  • 提供 Elasticsearch 7.x 的 MCP 协议访问接口,方便快捷。
  • 支持基础 Elasticsearch 操作,如心跳检测、信息查询等,保障系统稳定运行。
  • 完全支持搜索功能,涵盖聚合查询、高亮显示、排序以及其他高级特性,满足多样化的搜索需求。
  • 可通过任何 MCP 客户端轻松访问 Elasticsearch 功能,使用灵活。

📦 安装指南

使用 Smithery 自动安装

通过 Smithery 自动安装 Elasticsearch 7.x MCP Server for Claude Desktop:

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 示例

基本搜索

# 基本搜索
search_response = client.call("es-search", {
"index": "my_index",
"query": {
"match": {
"title": "搜索关键词"
}
},
"size": 10,
"from": 0
})

聚合查询

# 聚合查询
agg_response = client.call("es-search", {
"index": "my_index",
"size": 0,  # 只需聚合结果,不需要文档内容
"aggs": {
"categories": {
"terms": {
"field": "category.keyword",
"size": 10
}
},
"avg_price": {
"avg": {
"field": "price"
}
}
}
})

高级搜索

# 带有高亮和排序的高级搜索
search_response = client.call("es-search", {
"index": "my_index",
"query": {
"multi_match": {
"query": "搜索关键词",
"fields": ["title", "content"]
}
},
"highlight": {
"pre_tag": "",
"post_tag": "",
"fields": {
"title": {},
"content": {}
}
},
"sort": [
{"price": { "order": "asc" }}
]
})

📚 详细文档

开发

在项目根目录下运行以下命令启动服务器:

python -m elasticsearch_mcp_server

默认情况下,服务器将在 http://localhost:9999 启动。

API 文档

当前支持的 MCP 方法:

  • es-ping:检查 Elasticsearch 连接状态
  • es-info:获取 Elasticsearch 集群信息
  • es-search:在 Elasticsearch 索引中搜索文档

📄 许可证

本项目的授权遵循 MIT License。

依赖项

属性 详情
模型类型 为 Elasticsearch 7.x 提供 MCP 协议接口的服务器
训练数据
依赖环境 Python 3.10+;Elasticsearch 7.x(推荐使用 7.17.x 版本)
  • 0 关注
  • 0 收藏,15 浏览
  • system 提出于 2025-09-22 21:27

相似服务问题

相关AI产品