Build and validate Elasticsearch MCP server for search/indexing. Changes: - docker-compose.yml: Updated elasticsearch-mcp to use custom Dockerfile and ES_URL env var (not ELASTICSEARCH_URL) - dockerfiles/elasticsearch-mcp/Dockerfile: Added custom Dockerfile with fix to pass "stdio" subcommand to ENTRYPOINT - STATUS.md: Added elasticsearch-mcp as validated MCP (v0.2.1, 22MB) Validation: - Container builds successfully from Rust source (22MB) - Fixed Dockerfile to pass "stdio" subcommand to entry point - MCP protocol handshake verified with initialize request - Protocol version 2024-11-05 confirmed - Server name: rmcp, version 0.2.1 - Requires ES_URL environment variable (not ELASTICSEARCH_URL) - NOTE: Server is deprecated, superseded by Elastic Agent Builder - Tested with proper --name flag for container
29 lines
799 B
Docker
29 lines
799 B
Docker
# Copyright Elasticsearch B.V. and contributors
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
FROM rust:1.89@sha256:c50cd6e20c46b0b36730b5eb27289744e4bb8f32abc90d8c64ca09decf4f55ba AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
COPY Cargo.toml Cargo.lock ./
|
|
|
|
# Cache dependencies
|
|
RUN mkdir -p ./src/bin && \
|
|
echo "pub fn main() {}" > ./src/bin/elasticsearch-core-mcp-server.rs && \
|
|
cargo build --release
|
|
|
|
COPY src ./src/
|
|
|
|
RUN cargo build --release
|
|
|
|
#--------------------------------------------------------------------------------------------------
|
|
|
|
FROM cgr.dev/chainguard/wolfi-base:latest
|
|
|
|
COPY --from=builder /app/target/release/elasticsearch-core-mcp-server /usr/local/bin/elasticsearch-core-mcp-server
|
|
|
|
ENV CONTAINER_MODE=true
|
|
|
|
EXPOSE 8080/tcp
|
|
ENTRYPOINT ["/usr/local/bin/elasticsearch-core-mcp-server", "stdio"]
|