article
README
🚀 Elasticsearch/OpenSearch MCP 服务器
这是一个实现模型上下文协议(MCP)的服务器,可提供与Elasticsearch和OpenSearch交互的功能。借助一系列工具,该服务器支持搜索文档、分析索引以及管理集群。
🚀 快速开始
配置环境变量
# Elasticsearch 配置
ELASTICSEARCH_HOSTS=http://localhost:9200
ELASTICSEARCH_USERNAME=
ELASTICSEARCH_PASSWORD=
# OpenSearch 配置(如果需要)
OPENSEARCH_HOSTS=http://localhost:9200
OPENSEARCH_USERNAME=
OPENSEARCH_PASSWORD=
启动 Elasticsearch/OpenSearch 集群
使用 Docker 启动
# 启动 Elasticsearch
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 docker.elastic.co/elasticsearch/elasticsearch:7.17.2
# 启动 OpenSearch
docker run -d --name opensearch -p 9200:9200 -p 9300:9300 amazon/opensearch:1.5.0
在 Claude Desktop 中使用
安装方法
方法一:通过 uv 命令安装
# Elasticsearch 版本
uv run mcp_client/client.py src/server.py --elasticsearch
# OpenSearch 版本
uv run mcp_client/client.py src/server.py --opensearch
✨ 主要特性
索引操作
- list_indices:列出集群中的所有索引。
- create_index:创建一个新的索引。
- delete_index:删除指定的索引。
- update_mapping:更新索引的映射关系。
文档操作
- search_docs:搜索指定索引中的文档。
- get_doc:获取指定索引和 ID 的文档。
- index_doc:向指定索引添加或更新文档。
- delete_doc:删除指定索引和 ID 的文档。
集群操作
- cluster_health:查看集群的健康状态。
- cluster_stats:获取集群的统计信息。
- nodes_info:列出集群中的所有节点及其信息。
- nodes_stats:获取各个节点的详细统计信息。
别名操作
- list_aliases:列出指定索引的所有别名。
- create_alias:创建一个新的别名。
- delete_alias:删除指定的别名。
- update_alias:更新现有别名的配置。
📚 详细文档
演示
https://github.com/user-attachments/assets/f7409e31-fac4-4321-9c9c
📄 许可证
此项目在 Apache License Version 2.0 下开源,具体信息请参阅 LICENSE 文件。
Scan to contact