Skip to main content

MCP Server for Elasticsearch - index discovery, mapping, safe search/write execution

Project description

Elasticsearch MCP Server (elasticsearch-client-mcp-py)

Elasticsearch MCP Server:连接与索引发现、mapping、安全执行(搜索/写入由大模型产生 DSL,MCP 只做校验与执行)。

环境变量

单连接

变量 说明
ES_HOSTS 单 URL 形式,如 https://host:9200(推荐,自动解析 host/port/ssl)
ES_HOST 主机,如 localhost(与 ES_PORT 搭配)
ES_PORT 端口,默认 9200
ES_USER / ES_USERNAME 用户名,可选
ES_PASSWORD / ES_PWD 密码,可选
ES_USE_SSL 是否 HTTPS,默认 false(使用 ES_HOSTS 时由 URL 自动判断)
ES_SKIP_PRODUCT_CHECK 设为 1/true 时跳过 X-Elastic-Product 校验,兼容 ES 7.x、OpenSearch 等

多环境(TEST_ES_PROFILES / UAT_ES_PROFILES / PROD_ES_PROFILES)

每项可为:hosts(URL)或 host+portuser/usernamepassword/pwduse_ssldescriptionname。Profile 名为 test_0, prod_0 等。

示例:阿里云 Elasticsearch

# 单连接(注意:阿里云一般为 https,若你写的是 http1 请改为 https)
export ES_HOSTS="https://es-cn-0pp16vs4k000g76xq.elasticsearch.aliyuncs.com:9200"
export ES_USER="elastic"
export ES_PASSWORD="yunkc@123"

或使用 profile JSON(如 mcp.json 的 env):

"PROD_ES_PROFILES": "[{\"hosts\":\"https://es-cn-0pp16vs4k000g76xq.elasticsearch.aliyuncs.com:9200\",\"username\":\"elastic\",\"pwd\":\"yunkc@123\"}]"

安全

变量 默认 说明
ES_READ_ONLY false 为 true 时仅允许搜索
ES_MAX_SEARCH_SIZE 100 单次 search size 上限
ES_REQUEST_TIMEOUT 30 请求超时(秒)

安装与运行

uv sync && uv run python -m elasticsearch_client_mcp
# 或
elasticsearch-client-mcp-py

工具

工具 说明
list_connections 列出可用连接
list_indices 列出索引(支持 pattern)
get_mapping 指定索引的 mapping
analyze_request 分析请求(读/写/危险),不执行
execute_request 执行单条请求(method+path+body);写操作需 confirm

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elasticsearch_client_mcp_py-0.4.0.tar.gz (71.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elasticsearch_client_mcp_py-0.4.0-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

Details for the file elasticsearch_client_mcp_py-0.4.0.tar.gz.

File metadata

File hashes

Hashes for elasticsearch_client_mcp_py-0.4.0.tar.gz
Algorithm Hash digest
SHA256 0d41be3afd08220e84b321e8a5462d4e7be229a741e35ccbc0f38360ef502529
MD5 3c59ab2a8a14f248f21b3b7f761463ca
BLAKE2b-256 427841ce80c1e9ae7f35c0d59f30e7fa05fe08a6af112a8043b6bb7267be9a96

See more details on using hashes here.

File details

Details for the file elasticsearch_client_mcp_py-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for elasticsearch_client_mcp_py-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78329e4e2790dffe7f7ef451c7c8c0d4f18cc86e630cad8daf18defe2a16b2d1
MD5 04b8fecadaef6540bc7c2c782b37908a
BLAKE2b-256 786b2b15cd3ddfe07b0c992fc198cc0c1d6dcadb2ef6a0e22d209edd893dfd73

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page