Skip to main content
Glama
cr7258

Elasticsearch MCP Server

Servidor MCP de Elasticsearch/OpenSearch

insignia de herrería

Descripción general

Una implementación de servidor del Protocolo de Contexto de Modelo (MCP) que facilita la interacción entre Elasticsearch y OpenSearch. Este servidor permite la búsqueda de documentos, el análisis de índices y la gestión de clústeres mediante un conjunto de herramientas.

Related MCP server: OpenSearch MCP Server

Manifestación

https://github.com/user-attachments/assets/f7409e31-fac4-4321-9c94-b0ff2ea7ff15

Características

Operaciones generales

  • general_api_request : Realiza una solicitud general a la API HTTP. Use esta herramienta para cualquier API de Elasticsearch/OpenSearch que no tenga una herramienta dedicada.

Operaciones de índice

  • list_indices : enumera todos los índices.

  • get_index : devuelve información (asignaciones, configuraciones, alias) sobre uno o más índices.

  • create_index : Crea un nuevo índice.

  • delete_index : eliminar un índice.

Operaciones de documentos

  • search_documents : Buscar documentos.

  • index_document : Crea o actualiza un documento en el índice.

  • get_document : Obtener un documento por ID.

  • delete_document : Eliminar un documento por ID.

  • delete_by_query : elimina los documentos que coinciden con la consulta proporcionada.

Operaciones de clúster

  • get_cluster_health : devuelve información básica sobre el estado del clúster.

  • get_cluster_stats : devuelve una descripción general de alto nivel de las estadísticas del clúster.

Operaciones de alias

  • list_aliases : enumera todos los alias.

  • get_alias : obtiene información de alias para un índice específico.

  • put_alias : crea o actualiza un alias para un índice específico.

  • delete_alias : elimina un alias para un índice específico.

Configurar variables de entorno

Copie el archivo .env.example a .env y actualice los valores según corresponda.

Inicie el clúster Elasticsearch/OpenSearch usando Docker Compose:

# For Elasticsearch docker-compose -f docker-compose-elasticsearch.yml up -d # For OpenSearch docker-compose -f docker-compose-opensearch.yml up -d

El nombre de usuario predeterminado de Elasticsearch es elastic y la contraseña es test123 . El nombre de usuario predeterminado de OpenSearch es admin y la contraseña es admin .

Puede acceder a los paneles de control de Kibana/OpenSearch desde http://localhost:5601 .

Uso con Claude Desktop

Opción 1: Instalación mediante herrería

Para instalar Elasticsearch Server para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install elasticsearch-mcp-server --client claude

Opción 2: Uso de uvx

Usar uvx instalará automáticamente el paquete desde PyPI, sin necesidad de clonar el repositorio localmente. Agregue la siguiente configuración al archivo de configuración de Claude Desktop: claude_desktop_config.json .

// For Elasticsearch { "mcpServers": { "elasticsearch-mcp-server": { "command": "uvx", "args": [ "elasticsearch-mcp-server" ], "env": { "ELASTICSEARCH_HOSTS": "https://localhost:9200", "ELASTICSEARCH_USERNAME": "elastic", "ELASTICSEARCH_PASSWORD": "test123" } } } } // For OpenSearch { "mcpServers": { "opensearch-mcp-server": { "command": "uvx", "args": [ "opensearch-mcp-server" ], "env": { "OPENSEARCH_HOSTS": "https://localhost:9200", "OPENSEARCH_USERNAME": "admin", "OPENSEARCH_PASSWORD": "admin" } } } }

Opción 3: Uso de uv con desarrollo local

Usar uv requiere clonar el repositorio localmente y especificar la ruta al código fuente. Agregue la siguiente configuración al archivo de configuración de Claude Desktop: claude_desktop_config.json .

// For Elasticsearch { "mcpServers": { "elasticsearch-mcp-server": { "command": "uv", "args": [ "--directory", "path/to/src/elasticsearch_mcp_server", "run", "elasticsearch-mcp-server" ], "env": { "ELASTICSEARCH_HOSTS": "https://localhost:9200", "ELASTICSEARCH_USERNAME": "elastic", "ELASTICSEARCH_PASSWORD": "test123" } } } } // For OpenSearch { "mcpServers": { "opensearch-mcp-server": { "command": "uv", "args": [ "--directory", "path/to/src/elasticsearch_mcp_server", "run", "opensearch-mcp-server" ], "env": { "OPENSEARCH_HOSTS": "https://localhost:9200", "OPENSEARCH_USERNAME": "admin", "OPENSEARCH_PASSWORD": "admin" } } } }
  • En macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • En Windows: %APPDATA%/Claude/claude_desktop_config.json

Reinicie Claude Desktop para cargar el nuevo servidor MCP.

Ahora puedes interactuar con tu clúster Elasticsearch/OpenSearch a través de Claude usando comandos de lenguaje natural como:

  • "Enumerar todos los índices del clúster"

  • "¿Qué edad tiene el estudiante Bob?"

  • "Muéstrame el estado de salud del clúster"

Uso con el cliente Anthropic MCP

uv run mcp_client/client.py src/server.py

Licencia

Este proyecto está licenciado bajo la licencia Apache versión 2.0: consulte el archivo de LICENCIA para obtener más detalles.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cr7258/elasticsearch-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server