Salta l'installazione. Attivo in meno di 2 minuti.
Avvia una prova gratuita su cloud.anythingmcp.com, aggiungi Contentful 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 lavorare la tua AI con i contenuti di Contentful: cerca entry e asset, leggi content type, locale e tag, e crea, modifica, pubblica o ritira le entry. Delivery token per leggere, management token per scrivere.
Prova a chiedere
Prompt di esempio per Contentful
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 → Contentful, inserisci le credenziali, genera una MCP API key e hai finito. Niente Docker, niente
git clone, niente server locale.
Contentful + Gemini
Fai lavorare la tua AI con i contenuti di Contentful: cerca entry e asset, leggi content type, locale e tag, e crea, modifica, pubblica o ritira le entry. Delivery token per leggere, management token per scrivere.
Prerequisiti
Le istruzioni di setup complete sono incluse nel connettore stesso (visibili nello store quando lo selezioni). Le variabili d'ambiente richieste sono:
CONTENTFUL_SPACE_ID, CONTENTFUL_ENVIRONMENT, CONTENTFUL_DELIVERY_URL, CONTENTFUL_DELIVERY_TOKEN
Step 1 — Ottieni le credenziali
- In Contentful (
https://app.contentful.com) apri il tuo space, poi Settings → API keys → Add API key. Dai un nome alla chiave (per esempio "AnythingMCP"), spunta gli environment che può leggere (almenomaster) e salva. - Copia lo Space ID in
CONTENTFUL_SPACE_IDe il Content Delivery API access token inCONTENTFUL_DELIVERY_TOKEN. - Imposta
CONTENTFUL_ENVIRONMENTsull'id dell'environment, di solitomaster. Gli altri environment sono elencati in Settings → Environments. - Imposta
CONTENTFUL_DELIVERY_URLsuhttps://cdn.contentful.com, oppurehttps://cdn.eu.contentful.comper uno space nella regione dati UE, senza slash finale. Per far leggere all'AI anche le bozze, usahttps://preview.contentful.com(ohttps://preview.eu.contentful.com) insieme al Content Preview API access token della stessa chiave. - Per scrivere, crea un personal access token: menu dell'avatar → Account settings → CMA tokens → Create personal access token. Scegli una scadenza e copia subito il token, perché Contentful lo mostra una sola volta. Incollalo in
CONTENTFUL_MANAGEMENT_TOKEN, senza la parola Bearer, e impostaCONTENTFUL_MANAGEMENT_URLsuhttps://api.contentful.com(ohttps://api.eu.contentful.com). Il token agisce a tuo nome, in ogni space che puoi modificare. - Se la tua organizzazione deve approvare i personal access token, un admin dell'organizzazione apre Organization settings, trova il token nelle impostazioni di accesso dei personal access token e gli concede l'accesso. Fino ad allora gli strumenti di scrittura rispondono 401
OrganizationAccessGrantRequired; la lettura con il delivery token non ne risente. - Installa il connettore e parti da
contentful_get_space: restituisce il nome dello space e i suoi locale, un controllo rapido che Space ID e delivery token vadano insieme.
Due token, di proposito: il delivery token legge i contenuti pubblicati e nient'altro (anche le bozze, con il preview token), quindi un connettore configurato solo con i quattro valori obbligatori può consultare tutto ma non cambia niente. Scritture, bozze non pubblicate, space ed environment passano dalla Content Management API con il personal access token. Se lasci vuoti CONTENTFUL_MANAGEMENT_URL e CONTENTFUL_MANAGEMENT_TOKEN, gli strumenti di gestione segnalano semplicemente che mancano.
Pubblicare cambia il sito live: contentful_publish_entry e contentful_unpublish_entry cambiano ciò che i visitatori vedono sul tuo sito o nella tua app, quindi l'AI indica l'entry e l'effetto e aspetta il tuo ok. contentful_delete_entry è disattivato all'installazione, perché un'entry eliminata non si può recuperare.
Come funzionano le modifiche: contentful_list_content_types fornisce gli id dei content type e dei campi, contentful_list_locales i codici dei locale. I valori dei campi sono organizzati per id del campo e poi per locale, per esempio {"title": {"en-US": "Hello"}}. Prima di ogni modifica l'AI legge l'entry con contentful_get_entry_for_editing per avere la sua sys.version attuale; se nel frattempo qualcun altro ha salvato, Contentful risponde 409 VersionMismatch e l'AI rilegge. contentful_update_entry sostituisce tutti i campi, quindi ciò che manca viene cancellato; per uno o due campi l'AI usa contentful_patch_entry. Una modifica va online solo quando la nuova versione viene pubblicata.
Ricerca: contentful_list_entries accetta un content_type, una ricerca full-text query e altri filtri come fields.slug=hello o fields.date[gte]=2026-01-01. Per filtrare o ordinare per un campo serve content_type. Entry e asset collegati tornano in includes, e gli URL degli asset iniziano con //, quindi l'AI aggiunge https:.
Paginazione: le liste restituiscono total, skip e limit (fino a 1.000); la pagina successiva parte da skip + limit.
Errori comuni: 401 AccessTokenInvalid indica un token sbagliato o scaduto, oppure un delivery token usato sull'host di preview (o viceversa). 404 NotFound è un id sbagliato, o uno space o environment non coperto dal token: qui Contentful risponde 404, non 403. 400 "A Content Type ID is required" indica un filtro su un campo senza content_type. 422 ValidationFailed indica il campo vuoto o che viola una validazione. 429 RateLimitExceeded: la management API consente circa 7 richieste al secondo, quindi attendi e riprova.
Il connettore non carica asset, non crea né modifica content type, non gestisce environment, webhook, ruoli e app e non usa l'API GraphQL.
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 Gemini
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.
Gemini CLI legge i server MCP da ~/.gemini/settings.json (su Windows %USERPROFILE%\.gemini\settings.json). Aggiungi:
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Crea una chiave API MCP in AnythingMCP da MCP Servers → il tuo server → API keys e incollala al posto di
YOUR_MCP_API_KEY. - Salva il file e riavvia
gemini. - Esegui
/mcpin Gemini CLI (oppuregemini mcp listdal terminale):anythingmcpdovrebbe risultare connesso. - Inizia a scrivere prompt: Gemini CLI ora può chiamare i tool di
Contentful.
Tool disponibili
| Tool | What it does |
|---|---|
contentful_get_space | Read the space the connector is set up for (Content Delivery API): its name and locales with the default locale |
contentful_list_content_types | List the content types of the environment (Content Delivery API): for each its sys.id (the id entries are filtered by), name, displayField… |
contentful_get_content_type | Read one content type by id (Content Delivery API): its fields with id, name, type (Symbol, Text, RichText, Integer, Number, Date, Boolean… |
contentful_list_entries | Search published entries (Content Delivery API) |
contentful_get_entry | Read one published entry by id (Content Delivery API): sys (id, contentType, createdAt, updatedAt, revision), metadata.tags and fields |
contentful_list_assets | Search published assets (images, documents, videos) via the Content Delivery API |
contentful_get_asset | Read one published asset by id (Content Delivery API): title, description and file with url (prefix https:), fileName, contentType, size… |
contentful_list_locales | List the locales of the environment (Content Delivery API): code (e.g. en-US, de-DE), name, default flag and fallbackCode |
contentful_list_tags | List the public content tags of the environment (Content Delivery API) with sys.id and name |
contentful_list_spaces | List the spaces the management token can reach (Content Management API), with sys.id and name |
contentful_list_environments | List the environments of the space (Content Management API), e.g. master, staging, with sys.id, name, status and aliases |
contentful_list_all_entries | Search all entries including drafts and changed-but-unpublished versions (Content Management API) |
contentful_get_entry_for_editing | Read the latest version of an entry, draft changes included (Content Management API): fields with every locale, metadata.tags and… |
contentful_create_entry | Create a draft entry of a content type (Content Management API). fields maps each field id to its values per locale, e.g. {"title"… |
contentful_update_entry | Replace the fields of an entry (Content Management API) |
contentful_patch_entry | Change single fields of an entry with JSON Patch operations (Content Management API), leaving the rest untouched |
contentful_publish_entry | Publish an entry, making its current version visible on the website or app through the delivery API (Content Management API). version must… |
contentful_unpublish_entry | Unpublish an entry: it disappears from the delivery API, so from the website or app, and stays as a draft (Content Management API) |
contentful_delete_entry | Delete an entry for good (Content Management API) |
contentful_create_tag | Create a content tag in the environment (Content Management API) |
Esempi di prompt
- "Trova gli articoli del blog pubblicati negli ultimi 30 giorni ed elenca per ognuno titolo, slug e autore."
- "Quali entry hanno modifiche salvate ma non ancora pubblicate?"
- "Elenca le immagini caricate questo mese, con dimensione del file e risoluzione."
- "Cambia il titolo della landing page dei saldi di primavera in 'Saldi di primavera: 20% su tutto' e pubblicala dopo la mia conferma."
FAQ
Dove cerca i server MCP Gemini CLI? In ~/.gemini/settings.json per il tuo utente, oppure in .gemini/settings.json dentro un progetto. gemini mcp list mostra ogni server e se si connette.
Prossimi passi
Questa guida ti è stata utile?