README
🚀 Elasticsearch MCP 服务器
本项目实现了一个用于 Elasticsearch 的 MCP(模型上下文协议)服务器,提供了一系列工具和资源,方便与 Elasticsearch 集群进行交互,助力用户高效管理和操作 Elasticsearch 数据。
🚀 快速开始
先决条件
- Python 3.7+
- Elasticsearch Python 客户端
- MCP SDK
- Elasticsearch 集群凭证(Cloud ID 和 API Key)
设置步骤
- 克隆仓库:
git clone https://github.com/yourusername/elasticsearch-mcp-server.git cd elasticsearch-mcp-server - 安装所需的依赖项:
pip install -r requirements.txt - 配置环境变量:
- 复制示例环境文件:
cp .env.example .env - 编辑
.env文件并添加您的 Elasticsearch 凭证。 或直接在 shell 中设置:
export ES_CLOUD_ID=your_elasticsearch_cloud_id export ES_API_KEY=your_elasticsearch_api_key - 复制示例环境文件:
配置 MCP 服务器以供 Claude 使用
configure_mcp_server.py 脚本可帮助您在 Claude 的 MCP 配置文件中设置 Elasticsearch MCP 服务器,使 Claude 能够通过 MCP 服务器连接到您的 Elasticsearch 集群。
python configure_mcp_server.py your_cloud_id your_api_key
此脚本的执行步骤如下:
- 使用命令行参数获取您的 Elasticsearch Cloud ID 和 API Key。
- 查找或创建 Claude 的 MCP 设置文件。
- 添加或更新 Elasticsearch MCP 服务器配置。
- 设置服务器连接到您的 Elasticsearch 集群所需的环境变量。
运行此脚本后,重启 VS Code 以应用更改,Claude 即可通过 MCP 服务器与您的 Elasticsearch 集群进行交互。
✨ 主要特性
工具
list_indices:可列出 Elasticsearch 集群中的所有索引。get_mappings:用于获取特定索引的映射信息。search:能使用提供的查询 DSL 执行 Elasticsearch 搜索。search_with_query_string:支持使用简单的查询字符串执行搜索。get_index_stats:可获取特定索引的统计信息。
资源
elasticsearch://indices:可列出所有 Elasticsearch 索引。elasticsearch://index/{index_name}:能获取特定索引的详细信息。elasticsearch://mapping/{index_name}:可获取特定索引的映射信息。
📦 安装指南
克隆仓库
git clone https://github.com/yourusername/elasticsearch-mcp-server.git
cd elasticsearch-mcp-server
安装依赖
pip install -r requirements.txt
配置环境变量
可通过复制示例环境文件并编辑,或者直接在 shell 中设置的方式来配置环境变量。
🔧 技术细节
所有资源都包含适当的错误处理和验证机制:
- 若索引不存在,资源将返回适当的错误消息。
- 若连接到 Elasticsearch 时出现问题,资源将返回错误消息。
- 所有异常都会被捕获并作为可读的错误消息返回。
🤝 贡献
欢迎大家为项目贡献力量,贡献方式如下:
- 叉克隆仓库。
- 创建功能分支:
git checkout -b feature/your-feature-name - 提交更改:
git commit -am 'Add some feature' - 推送到分支:
git push origin feature/your-feature-name - 提交拉取请求。
📂 GitHub 仓库
此项目已准备好上传到 GitHub,仓库包含以下文件:
.gitignore文件:用于排除敏感信息和日志。.env.example文件:指导用户设置环境变量。requirements.txt文件:列出项目依赖项。LICENSE文件:包含 MIT 许可。- 文档完整的
README.md。
📄 许可证
此项目在 MIT 许可证下发布,更多详细信息请参阅 LICENSE 文件。
Scan to join WeChat group