Sáltate la instalación. Funcionando en menos de 2 minutos.
Inicia una prueba gratuita en cloud.anythingmcp.com, añade Elasticsearch con un clic y apunta tu cliente de IA (Claude, ChatGPT, Copilot o Cursor) al endpoint MCP generado. Sin Docker, sin git clone, sin experiencia de desarrollo.
Resumen
Deja que tu IA explore y consulte tu cluster de Elasticsearch en Elastic Cloud, Serverless o tus propios servidores: lista índices y data streams, lee mappings, busca, agrega, cuenta, ejecuta ES|QL y, con tu confirmación, escribe documentos.
Prueba a pedir
Prompts de ejemplo para Elasticsearch
Haz clic en un prompt para copiarlo. Pégalo en Claude, ChatGPT, Cursor, Gemini, Copilot u OpenClaw para ejecutarlo contra este conector.
Claude es IA y puede equivocarse. Verifica siempre las respuestas.
💡 ¿Sin instalación? Usa cloud.anythingmcp.com directamente. Inicia sesión, pulsa Connectors → Elasticsearch, pega tus credenciales, genera una MCP API key y listo. Sin Docker, sin
git clone, sin servidor local.
Elasticsearch + ChatGPT
Deja que tu IA explore y consulte tu cluster de Elasticsearch en Elastic Cloud, Serverless o tus propios servidores: lista índices y data streams, lee mappings, busca, agrega, cuenta, ejecuta ES|QL y, con tu confirmación, escribe documentos.
Requisitos previos
Las instrucciones de configuración completas están incluidas en el conector (visibles en el store al seleccionarlo). Las variables de entorno requeridas:
ELASTICSEARCH_URL, ELASTICSEARCH_API_KEY
Paso 1 — Obtener credenciales
- Busca el endpoint de Elasticsearch. Elastic Cloud Hosted: abre el deployment en
https://cloud.elastic.coy copia el Elasticsearch endpoint, por ejemplohttps://my-deployment.es.europe-west3.gcp.cloud.es.io. Serverless: abre el proyecto y copia su endpoint de Elasticsearch. Autogestionado: la dirección HTTPS y el puerto en los que responde tu cluster, por ejemplohttps://search.example.com:9200. Pégalo enELASTICSEARCH_URLsin barra final. Usa el endpoint de Elasticsearch, no la dirección de Kibana. - Crea una API key en Kibana en Stack Management → API keys → Create API key (Serverless: ajustes del proyecto → API keys). Ponle un nombre, por ejemplo
anythingmcp, una fecha de caducidad y activa Control security privileges para limitarla (ver abajo). - Copia el valor Encoded (base64): Elastic solo lo muestra una vez. Pégalo en
ELASTICSEARCH_API_KEYe instala el conector. Los valoresidyapi_keypor separado no funcionan, y no se admiten usuario y contraseña. - Comprueba la configuración con
elasticsearch_whoami: no necesita privilegios y muestra a quién pertenece la clave.
Dónde corre tu cluster: Elastic Cloud Hosted, Elastic Cloud Serverless y clusters autogestionados, desde la versión 8. AnythingMCP Cloud necesita un cluster accesible desde internet; un AnythingMCP autoalojado también puede llegar a un cluster de tu propia red cuando un administrador permite ese host.
Clave de solo lectura (recomendada): usa estos role descriptors en el formulario de Kibana, o ejecuta la petición en Kibana Dev Tools y copia encoded de la respuesta:
POST /_security/api_key
{
"name": "anythingmcp-read",
"expiration": "365d",
"role_descriptors": {
"anythingmcp_read": {
"cluster": ["monitor"],
"indices": [
{ "names": ["*"], "privileges": ["read", "view_index_metadata", "monitor"] }
]
}
}
}
Sustituye "*" por los patrones de índice que puede ver la IA, por ejemplo ["products", "logs-*"]. read cubre búsqueda, recuento, agregaciones, ES|QL y documentos individuales; view_index_metadata cubre mappings, alias y data streams; monitor cubre la lista de índices y el estado del cluster. Una clave nunca tiene más permisos que el usuario que la crea.
Qué puede hacer la IA: listar índices, alias y data streams; leer el mapping de campos de un índice antes de consultarlo; buscar con la Query DSL (10 resultados por defecto, como máximo 100 por llamada); ejecutar agregaciones como recuentos por valor, sumas, medias e histogramas por fecha; contar coincidencias; ejecutar consultas ES|QL para respuestas en tabla (como máximo 500 filas); y leer documentos individuales. Los campos vectoriales habituales se quedan fuera de los resultados. El estado del cluster no está disponible en Serverless, donde Elastic gestiona el cluster.
Las escrituras preguntan antes: elasticsearch_index_document crea o sustituye un documento entero, y elasticsearch_update_document cambia algunos campos de uno. Antes de cada una, la IA te muestra el índice, el _id y el contenido y espera tu sí. Ambas necesitan el privilegio write, así que con la clave de solo lectura de arriba fallan con 403, que es justo la red de seguridad prevista.
Desactivadas al instalar: elasticsearch_delete_document y elasticsearch_delete_by_query. Los borrados no se pueden deshacer, y un delete by query puede eliminar millones de documentos. Un administrador las activa de forma deliberada; después la IA cuenta primero los documentos afectados y pregunta antes de borrar.
Errores comunes: 401: la clave es incorrecta, ha caducado o se ha invalidado, o se pegó el id en lugar del valor Encoded. 403 security_exception: a la clave le falta el privilegio que indica el mensaje. 404 index_not_found_exception: nombre de índice desconocido. 400 parsing_exception o verification_exception: la consulta tiene un error; el mensaje indica el campo o la posición. 429: el cluster está sobrecargado; espera y vuelve a intentarlo.
El conector habla solo con Elasticsearch, no con Kibana. No crea ni borra índices, no cambia mappings ni ajustes y no cubre snapshots, ingest pipelines, administración de seguridad ni la bulk API.
Paso 2 — Instalar el adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Paso 3 — Añadir el conector en ChatGPT
La URL de tu servidor: en AnythingMCP abre MCP Servers → el servidor donde está este conector y copia su URL (
https://cloud.anythingmcp.com/mcp/…). Úsala donde esta guía muestraYOUR_SERVER_ID.
ChatGPT añade servidores MCP como plugins desde su página Plugins, en la web y en los planes de pago. Ya no hace falta el modo desarrollador. En un espacio Business solo pueden hacerlo los administradores y propietarios; en Enterprise y Edu un administrador puede conceder el permiso Create plugins with MCPs.
- Ve a chatgpt.com/plugins, pulsa + y luego Add custom MCP server.
- Escribe un nombre, por ejemplo Name:
Elasticsearch. - En Connection, introduce como Server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDy deja Authentication en OAuth. - Selecciona I understand and want to continue y después Create as a plugin. Cuando ChatGPT lo pida, inicia sesión en AnythingMCP y permite el acceso.
- Instala el nuevo plugin desde tus plugins personales; luego escribe @ en un chat y elígelo.
Herramientas disponibles
| Tool | What it does |
|---|---|
elasticsearch_whoami | Show who the connector is signed in as: the user behind the API key, the key's name and id and the authentication type |
elasticsearch_cluster_info | Get basic information about the cluster: name, uuid, Elasticsearch version and build flavor (serverless on Elastic Cloud Serverless) |
elasticsearch_cluster_health | Get the cluster health: status (green, yellow or red), node counts, active, relocating, initializing and unassigned shards and pending tasks |
elasticsearch_list_indices | List indices with their health, status, document count, store size, primary and replica shard counts and creation date, sorted by name (at… |
elasticsearch_get_mapping | Get the field mapping of an index or data stream: every field with its type (text, keyword, date, long, dense_vector...) |
elasticsearch_search | Search an index, data stream or alias with the Query DSL and get the matching documents (total, and per hit _index, _id, _score, _source… |
elasticsearch_aggregate | Run aggregations over an index or data stream without returning documents: counts per value (terms), sums and averages, date histograms… |
elasticsearch_count | Count the documents in an index, data stream or alias that match a query (all documents without a query) |
elasticsearch_esql_query | Run an ES|QL query, a piped language for filtering, aggregating and joining (Elasticsearch 8.11 or later, and Serverless) |
elasticsearch_get_document | Get one document by its _id from an index: found, _version and the _source, optionally only some fields |
elasticsearch_list_aliases | List index aliases: alias name, the index it points to, whether it has a filter and whether it is the write index |
elasticsearch_list_data_streams | List data streams (time series such as logs and metrics): name, health status, index template, generation, number of backing indices… |
elasticsearch_index_document | Create or replace a whole document under a given _id in an index |
elasticsearch_update_document | Change some fields of an existing document by _id, leaving the others as they are (a partial update with doc) |
elasticsearch_delete_document | Delete one document by _id |
elasticsearch_delete_by_query | Delete every document that matches a query |
Ejemplos de prompts
- "¿Qué índices tenemos, cuántos documentos tiene cada uno y cuánto ocupan?"
- "Busca en el índice products auriculares inalámbricos de menos de 100 euros y muestra nombre, marca y precio."
- "Con ES|QL, cuenta los errores por host en logs- de las últimas 24 horas y muéstrame los 10 primeros."*
- "¿Cuántos pedidos al día tuvimos en septiembre? Usa un histograma por fecha sobre el índice orders."
- "Pon a 0 el campo stock del producto 4711 en el índice products. Muéstrame el cambio antes de hacerlo."
FAQ
¿Funciona el plan gratuito de ChatGPT con servidores MCP personalizados? OpenAI documenta los servidores MCP personalizados solo para los planes de pago; el plan Free no aparece en su lista.
Siguientes pasos
¿Te ha sido útil esta guía?