Salta l'installazione. Attivo in meno di 2 minuti.
Avvia una prova gratuita su cloud.anythingmcp.com, aggiungi Elasticsearch con un clic, poi punta il tuo client AI (Claude, ChatGPT, Copilot o Cursor) all'endpoint MCP generato. Niente Docker, niente git clone, nessuna esperienza di sviluppo richiesta.
In breve
Fai esplorare e interrogare alla tua AI il tuo cluster Elasticsearch su Elastic Cloud, Serverless o sui tuoi server: elenca indici e data stream, leggi i mapping, cerca, aggrega, conta, esegui ES|QL e, con la tua conferma, scrivi documenti.
Prova a chiedere
Prompt di esempio per Elasticsearch
Clicca su un prompt per copiarlo. Incollalo in Claude, ChatGPT, Cursor, Gemini, Copilot o OpenClaw per eseguirlo contro questo connettore.
Claude è un'AI e può sbagliare. Verifica sempre le risposte.
💡 Niente installazione? Vai direttamente su cloud.anythingmcp.com. Accedi, clicca Connectors → Elasticsearch, inserisci le credenziali, genera una MCP API key e hai finito. Niente Docker, niente
git clone, niente server locale.
Elasticsearch + Microsoft Copilot
Fai esplorare e interrogare alla tua AI il tuo cluster Elasticsearch su Elastic Cloud, Serverless o sui tuoi server: elenca indici e data stream, leggi i mapping, cerca, aggrega, conta, esegui ES|QL e, con la tua conferma, scrivi documenti.
Prerequisiti
Le istruzioni di setup complete sono incluse nel connettore stesso (visibili nello store quando lo selezioni). Le variabili d'ambiente richieste sono:
ELASTICSEARCH_URL, ELASTICSEARCH_API_KEY
Step 1 — Ottieni le credenziali
- Trova l'endpoint di Elasticsearch. Elastic Cloud Hosted: apri il deployment su
https://cloud.elastic.coe copia l'Elasticsearch endpoint, per esempiohttps://my-deployment.es.europe-west3.gcp.cloud.es.io. Serverless: apri il progetto e copia il suo endpoint Elasticsearch. Self-managed: l'indirizzo HTTPS e la porta su cui risponde il tuo cluster, per esempiohttps://search.example.com:9200. Incollalo inELASTICSEARCH_URLsenza barra finale. Usa l'endpoint di Elasticsearch, non l'indirizzo di Kibana. - Crea una API key in Kibana da Stack Management → API keys → Create API key (Serverless: impostazioni del progetto → API keys). Dalle un nome, per esempio
anythingmcp, una scadenza e attiva Control security privileges per limitarla (vedi sotto). - Copia il valore Encoded (base64): Elastic lo mostra una sola volta. Incollalo in
ELASTICSEARCH_API_KEYe installa il connettore. I valoriideapi_keyda soli non funzionano, e utente e password non sono supportati. - Verifica la configurazione con
elasticsearch_whoami: non richiede privilegi e mostra a chi appartiene la chiave.
Dove gira il tuo cluster: Elastic Cloud Hosted, Elastic Cloud Serverless e cluster self-managed, dalla versione 8 in poi. AnythingMCP Cloud ha bisogno di un cluster raggiungibile da internet; un AnythingMCP self-hosted può raggiungere anche un cluster nella tua rete, dopo che un amministratore ha autorizzato quell'host.
Chiave in sola lettura (consigliata): usa questi role descriptor nel modulo di Kibana, oppure esegui la richiesta in Kibana Dev Tools e copia encoded dalla risposta:
POST /_security/api_key
{
"name": "anythingmcp-read",
"expiration": "365d",
"role_descriptors": {
"anythingmcp_read": {
"cluster": ["monitor"],
"indices": [
{ "names": ["*"], "privileges": ["read", "view_index_metadata", "monitor"] }
]
}
}
}
Sostituisci "*" con i pattern di indice che l'AI può vedere, per esempio ["products", "logs-*"]. read copre ricerca, conteggi, aggregazioni, ES|QL e singoli documenti; view_index_metadata copre mapping, alias e data stream; monitor copre l'elenco degli indici e lo stato del cluster. Una chiave non ha mai più diritti dell'utente che la crea.
Cosa può fare l'AI: elencare indici, alias e data stream; leggere il mapping dei campi di un indice prima di interrogarlo; cercare con la Query DSL (10 risultati per impostazione predefinita, al massimo 100 per chiamata); eseguire aggregazioni come conteggi per valore, somme, medie e istogrammi per data; contare le corrispondenze; eseguire query ES|QL per risposte in tabella (al massimo 500 righe); e leggere singoli documenti. I campi vettoriali più comuni restano fuori dai risultati. Lo stato del cluster non è disponibile su Serverless, dove il cluster lo gestisce Elastic.
Le scritture chiedono prima: elasticsearch_index_document crea o sostituisce un intero documento, e elasticsearch_update_document ne modifica alcuni campi. Prima di ognuna l'AI ti mostra indice, _id e contenuto e aspetta il tuo sì. Entrambe richiedono il privilegio write, quindi con la chiave in sola lettura qui sopra falliscono con 403: è proprio la rete di sicurezza voluta.
Disattivati all'installazione: elasticsearch_delete_document e elasticsearch_delete_by_query. Le eliminazioni non si possono annullare, e un delete by query può rimuovere milioni di documenti. Un amministratore li attiva consapevolmente; l'AI poi conta prima i documenti corrispondenti e chiede prima di eliminare.
Errori comuni: 401: la chiave è errata, scaduta o invalidata, oppure è stato incollato l'id invece del valore Encoded. 403 security_exception: alla chiave manca il privilegio indicato nel messaggio. 404 index_not_found_exception: nome di indice sconosciuto. 400 parsing_exception o verification_exception: la query contiene un errore; il messaggio indica il campo o la posizione. 429: il cluster è sovraccarico; attendi e riprova.
Il connettore parla solo con Elasticsearch, non con Kibana. Non crea né elimina indici, non modifica mapping o impostazioni e non copre snapshot, ingest pipeline, amministrazione della sicurezza e la bulk API.
Step 2 — Installa l'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
Step 3 — Aggiungi il connettore in Microsoft Copilot
L'URL del tuo server: in AnythingMCP apri MCP Servers → il server su cui si trova questo connettore e copia il suo URL (
https://cloud.anythingmcp.com/mcp/…). Usalo ovunque questa guida mostraYOUR_SERVER_ID.
Microsoft Copilot usa i server MCP tramite gli agenti creati in Copilot Studio: aggiungi AnythingMCP a un agente come strumento, poi pubblichi l'agente in Microsoft 365 Copilot e in Teams. Copilot Studio si collega dal cloud di Microsoft via Streamable HTTP, che AnythingMCP supporta.
- In Copilot Studio apri il tuo agente (o creane uno), vai su Tools e scegli Add a tool → New tool → Model Context Protocol.
- Inserisci un Server name (per esempio
AnythingMCP), una Server description che dica cosa fa il connettore e il Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio usa la descrizione per decidere quando chiamare il server. - Come autenticazione scegli API key, imposta Type su Header e come nome dell'header
X-API-Key, poi seleziona Create. - In Add tool scegli Create a new connection, incolla una chiave API MCP di AnythingMCP (MCP Servers → il tuo server → API keys) e seleziona Add to agent.
- Provalo nel riquadro Test dell'agente: chiedi qualcosa che richiede i tool di
Elasticsearch. - Seleziona Publish, poi Channels → Microsoft 365 and Microsoft Teams, lascia selezionato Make agent available in Microsoft Copilot e scegli Add channel. See agent in Teams lo installa per te; in Microsoft 365 Copilot scrivi @ e scegli l'agente.
Preferisci un accesso per ogni utente? Al posto della chiave API scegli OAuth 2.0 → Dynamic discovery: ogni persona accede ad AnythingMCP la prima volta che l'agente lo chiama.
Usi il self-hosting? Usa l'indirizzo HTTPS pubblico della tua istanza al posto di https://cloud.anythingmcp.com. Copilot Studio si collega dal cloud di Microsoft, quindi localhost non funziona.
Tool disponibili
| 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 |
Esempi di prompt
- "Quali indici abbiamo, quanti documenti contiene ciascuno e quanto sono grandi?"
- "Cerca nell'indice products le cuffie wireless sotto i 100 euro e mostra nome, marca e prezzo."
- "Con ES|QL conta gli errori per host in logs- nelle ultime 24 ore e mostrami i primi 10."*
- "Quanti ordini al giorno abbiamo ricevuto a settembre? Usa un istogramma per data sull'indice orders."
- "Imposta a 0 il campo stock del prodotto 4711 nell'indice products. Mostrami la modifica prima di farla."
FAQ
Per quale Copilot vale? Per Microsoft 365 Copilot in azienda, tramite gli agenti di Copilot Studio. L'app Microsoft Copilot per account personali non permette di aggiungere un proprio server MCP.
Cosa mi serve? Un account di lavoro con accesso a Copilot Studio (licenza o prova) per creare l'agente. Chi lo usa in Microsoft 365 Copilot o in Teams deve avere accesso all'agente: condividilo, oppure chiedi a un amministratore di pubblicarlo per l'organizzazione. Se la tua organizzazione applica criteri sui dati ai connettori di Power Platform, valgono anche per i server MCP.
L'agente non chiama i tool. Controlla che il nome dell'header sia esattamente X-API-Key e che la chiave appartenga allo stesso server MCP dell'URL, e scrivi una Server description precisa: Copilot Studio la usa per decidere quando chiamare il server. Dopo ogni modifica pubblica di nuovo l'agente; in una chat già aperta scrivi "start over" per passare alla nuova versione.
Prossimi passi
- Landing del connettore
- Collegare a Claude
- Collegare a ChatGPT
- Collegare a Cursor
- Collegare a Gemini
- Collegare a Meta Muse
Questa guida ti è stata utile?