基于 Model Context Protocol (MCP),Elasticsearch 工具服务器提供了索引查询、映射检索和搜索等功能。
其他语言版本: 🇺🇸 英文 | 🇫🇷 法语 | 🇩🇪 德语 | 🇯🇵 日语
.
├── es_mcp_server/ # 服务器代码
│ ├── __init__.py # 包初始化
│ ├── server.py # 服务器主程序
│ ├── config.py # 配置管理
│ ├── client.py # ES客户端工厂
│ └── tools.py # ES MCP工具实现
├── es_mcp_client/ # 客户端代码
│ ├── __init__.py # 包初始化
│ └── client.py # 客户端测试程序
├── test/ # 单元测试
│ ├── __init__.py # 测试包初始化
│ └── test_server.py # 服务器单元测试
├── claude_config_examples/ # Claude配置示例
│ ├── elasticsearch_stdio_config.json # stdio模式配置
│ └── elasticsearch_sse_config.json # sse模式配置
├── .vscode/ # VSCode配置
│ └── launch.json # 调试配置
├── docs/ # 文档
│ └── requires.md # 需求文档
├── pyproject.toml # 项目配置文件
├── README.md # 中文说明文档
├── README.en.md # 英文说明文档
├── README.fr.md # 法语说明文档
├── README.de.md # 德语说明文档
├── README.jp.md # 日语说明文档
├── .gitignore # Git忽略文件
└── LICENSE # MIT许可证
Elasticsearch MCP 服务器提供以下工具:
# 从PyPI安装
pip install es-mcp-server
# 或从源码安装
pip install .
# 安装开发依赖
pip install ".[dev]"
服务器通过环境变量或命令行参数进行配置:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| ES_HOST | ES 主机地址 | localhost |
| ES_PORT | ES 端口 | 9200 |
| ES_USERNAME | ES 用户名 | None |
| ES_PASSWORD | ES 密码 | None |
| ES_API_KEY | ES API 密钥 | 无 |
| ES_USE_SSL | 是否使用 SSL | false |
| ES_VERIFY_CERTS | 验证证书 | True |
| ES_VERSION | ES 版本(7 或 8) | 8 |
# 使用默认配置
uvx es-mcp-server
# 自定义 ES 连接
uvx es-mcp-server --host 192.168.0.13 --port 9200 --es-version 8
# 启动 SSE 服务器
uvx es-mcp-server --transport sse --host 192.168.0.13 --port 9200
该项目包含一个用于验证服务器功能的客户端程序。
# 连接到默认 SSE 服务器 (http://localhost:8000/sse)
uvx es-mcp-client
# 自定义 SSE 服务器地址
uvx es-mcp-client --url http://example.com:8000/sse
Claude Desktop 可以通过MCP协议使用此服务来访问Elasticsearch数据。
在Claude Desktop中添加以下配置:
{
"mcpServers": {
"elasticsearch-mcp-server": {
"command": "uvx",
"args": ["es-mcp-server"],
"env": {
"ES_HOST": "your-es-host",
"ES_PORT": "9200",
"ES_VERSION": "8"
}
}
}
}
如果你已经启动了SSE模式服务器,可以使用以下配置:
{
"mcpServers": {
"elasticsearch-mcp-server": {
"url": "http://localhost:8000/sse"
}
}
}
运行单元测试以验证功能:
pytest
该项目包括VSCode调试配置。打开VSCode后,可以直接使用调试功能启动服务器或客户端。
本项目中的大部分代码、文档和配置示例基于cursor的claude-3.7-sonnet需求文档生成(提示:根据此文件生成项目的全部程序)。