EmDash ha un server Model Context Protocol (MCP) integrato che consente agli assistenti IA di lavorare direttamente con i contenuti del tuo sito. Puoi chiedere a Claude, ChatGPT o altri strumenti di redigere post, aggiornare pagine, gestire i media, cercare nei contenuti e altro — tutto tramite conversazione naturale.
Il server MCP del tuo sito
Il server MCP è abilitato per impostazione predefinita. EmDash monta /_emdash/api/mcp a meno che tu non lo disattivi. L’endpoint accetta OAuth o token bearer di accesso personale; una sessione browser di amministrazione da sola non autentica una richiesta MCP. OAuth consente a chi collega il client di scegliere gli scope prima che EmDash emetta il token.
Per disabilitarlo, imposta mcp: false nella configurazione Astro:
emdash({
mcp: false,
});
Collegare un client IA
L’URL del server MCP del tuo sito è:
https://example.com/_emdash/api/mcp
Sostituisci example.com con il tuo dominio. Per lo sviluppo locale, usa http://localhost:4321/_emdash/api/mcp.
Claude
Aggiungi l’URL come connettore personalizzato remoto. Claude apre il flusso OAuth EmDash così puoi accedere e scegliere i permessi. Anthropic modifica le schermate del connettore indipendentemente da EmDash, quindi segui le sue istruzioni attuali sui connettori personalizzati per i controlli esatti e i requisiti del piano.
ChatGPT
La modalità sviluppatore di ChatGPT può collegare un server MCP remoto e supporta strumenti autenticati con OAuth. L’idoneità e le schermate delle impostazioni possono cambiare, quindi segui la guida ufficiale alla modalità sviluppatore di ChatGPT e usa l’URL MCP del tuo sito quando crei l’app. Rivedi ogni chiamata di scrittura prima di approvarla.
Codex
Aggiungi il server remoto dalla CLI Codex, poi avvia il suo login OAuth:
codex mcp add emdash-site --url https://example.com/_emdash/api/mcp
codex mcp login emdash-siteL’app desktop ChatGPT, la CLI Codex e l’estensione IDE condividono la configurazione MCP per lo stesso host Codex. Vedi la documentazione ufficiale Codex MCP per file di configurazione, OAuth e trasporti supportati.
Lavorare con i contenuti del sito
Una volta collegato, puoi chiedere all’assistente IA di eseguire qualsiasi di queste operazioni in linguaggio naturale. Non devi conoscere i nomi degli strumenti — descrivi semplicemente cosa vuoi.
Content
- Esplorare i contenuti — “Show me the latest 10 blog posts” o “Find all draft pages”
- Leggere i contenuti — “Get the post called ‘hello-world’ and summarize it”
- Creare contenuti — “Write a new blog post about our summer sale” o “Create a draft page for the About section”
- Modificare i contenuti — “Update the pricing page to mention the new plan” o “Fix the typo in the FAQ post”
- Pubblicare e pianificare — “Publish the summer sale post”, “Schedule the announcement for June 1st at 9am” o “Cancel the schedule on the launch post”
- Confrontare le versioni — “Show me what changed in the homepage since it was last published”
- Gestire le bozze — “Discard the draft changes on the about page” o “Duplicate the newsletter template”
- Traduzioni — “What translations exist for the welcome post?” o “Create a French draft linked to this English post” (quando i18n è abilitato)
Bylines
- Esplorare le byline — “List the guest contributors whose names contain ‘Lee’”
- Accreditare i contenuti — “Add Priya Shah as the primary byline on this post”
- Gestire le byline — “Create a guest byline for Sam Rivera” o “Update this contributor’s bio”
- Tradurre le byline — “Show the locale variants of this byline”
Creare, aggiornare, eliminare e tradurre le byline richiede il ruolo Editor. Gli strumenti di scrittura dei contenuti accettano ID byline esistenti quando il chiamante ha il permesso di creare o modificare quel contenuto.
Media
- Esplorare i media — “List all uploaded images” o “Show me PDFs in the media library”
- Controllare i dettagli — “Get the details for this media item”
- Caricare file — “Upload this base64 image as
banner.png” - Confermare i caricamenti firmati — “Confirm the upload with this storage key”
- Aggiornare i metadati — “Set the alt text on the hero image to ‘Mountain sunset’”
- Rimuovere file — “Delete the old banner image”
media_upload accetta byte codificati in base64, memorizza il file, registra l’elemento media e restituisce l’ID e l’URL. Applica i limiti di tipo MIME e dimensione di caricamento del sito.
media_create completa un caricamento in sospeso creato tramite POST /_emdash/api/media/upload-url. Carica il file con l’URL firmato restituito, poi passa il suo storageKey a media_create dallo stesso account utente. La conferma verifica che il file memorizzato esista e corrisponda alla dimensione fornita quando è stato richiesto l’URL di caricamento. Questo flusso richiede Author o un ruolo superiore; i Contributor possono usare media_upload.
Search
- Trovare contenuti — “Search for posts mentioning ‘accessibility’” o “Find anything about TypeScript across all collections”
Taxonomies
- Esplorare — “List all categories” o “Show me the tags”
- Creare termini — “Add a ‘tutorials’ tag” o “Create a ‘Frontend’ subcategory under ‘Engineering’”
- Rinominare termini — “Rename the ‘frontend’ category to ‘Web Frontend’”
- Spostare termini — “Move the ‘tutorials’ tag under the ‘guides’ category” o “Detach ‘react’ from its parent”
- Eliminare termini — “Delete the unused ‘archive’ tag”
Menus
- Visualizzare i menu — “Show me the main navigation menu” o “What’s in the footer menu?”
- Creare menu — “Create a new ‘sidebar’ menu”
- Modificare menu — “Rename the ‘main’ menu to ‘Primary navigation’”
- Impostare gli elementi — “Replace the items in the main menu with Home, Blog, About, and Contact”
- Eliminare menu — “Delete the unused ‘mobile’ menu”
Site settings
- Ispezionare — “What’s the current site title?” o “Show me the social links”
- Aggiornare l’identità — “Set the site title to ‘Acme Blog’ and tagline to ‘Stories from the team’”
- Impostare logo / favicon — “Use this image as the site logo” (dopo averlo caricato con
media_upload) - Valori SEO predefiniti — “Set the default OG image to the new banner” o “Update the title separator to a vertical bar”
- Handle social — “Add our GitHub and YouTube links to the social settings”
Schema (solo Admin)
- Ispezionare — “What collections exist?” o “Show me the fields on the posts collection”
- Creare collection — “Create a new ‘testimonials’ collection with name and quote fields”
- Modificare lo schema — “Add a ‘featured’ boolean field to posts”
Revisions
- Visualizzare la cronologia — “Show the revision history for this post”
- Ripristinare — “Restore the post to its previous version”
Permessi
Quando un client MCP apre la pagina di consenso OAuth, ogni permesso richiesto è selezionato per impostazione predefinita. Deseleziona qualsiasi permesso di cui il client non ha bisogno prima di approvare l’accesso. Il token risultante è limitato ai permessi che lasci selezionati e a quelli consentiti dal tuo ruolo EmDash, quindi concedere meno permessi non aumenta mai ciò che il client può fare.
| Ruolo | Cosa può fare l’IA |
|---|---|
| Admin | Tutto, incluse le modifiche allo schema e l’aggiornamento delle impostazioni del sito |
| Editor | Gestire tutti i contenuti, media, byline, tassonomie e menu. Visualizzare lo schema e leggere le impostazioni. |
| Author | Creare contenuti; modificare e pubblicare i contenuti di proprietà; caricare media e gestire i media di proprietà. |
| Contributor | Creare contenuti in bozza e caricare media, senza pubblicare. |
EmDash rifiuta una chiamata allo strumento quando lo scope del token o il ruolo dell’utente è insufficiente. Un client può spiegare quell’errore, ma EmDash resta l’autorità che lo applica.
Consigli
- Sii specifico sulle collection. Di’ «create a blog post» piuttosto che «create a post» se hai più collection.
- Chiedi prima lo schema. Se non sei sicuro di quali campi abbia una collection, chiedi «What fields does the posts collection have?» prima di creare o modificare contenuti.
- Rivedi prima di pubblicare. Chiedi all’IA di creare i contenuti come bozza, rivedili nel pannello di amministrazione, poi chiedi all’IA di pubblicarli — o pubblicali tu.
- Usa compare per la revisione. Prima di pubblicare, chiedi «Compare the live and draft versions of this post» per vedere esattamente cosa cambierà.
- I campi di testo avanzato usano Portable Text. L’IA può scrivere contenuti per i campi di testo avanzato, ma la formattazione complessa si fa meglio nell’editor di amministrazione.
Per gli sviluppatori
L’endpoint del server MCP, i metodi di autenticazione, la discovery OAuth, i parametri degli strumenti e la gestione degli errori sono documentati nel riferimento al server MCP.