EmDash tiene un servidor Model Context Protocol (MCP) integrado que permite a los asistentes de IA trabajar directamente con el contenido de tu sitio. Puedes pedir a Claude, ChatGPT u otras herramientas que redacten entradas, actualicen páginas, gestionen medios, busquen en tu contenido y más — todo mediante conversación natural.
El servidor MCP de tu sitio
El servidor MCP está habilitado por defecto. EmDash monta /_emdash/api/mcp a menos que lo desactives. El endpoint acepta OAuth o tokens bearer de acceso personal; una sesión de navegador de administración por sí sola no autentica una petición MCP. OAuth permite a la persona que conecta el cliente elegir scopes antes de que EmDash emita el token.
Para desactivarlo, establece mcp: false en tu configuración de Astro:
emdash({
mcp: false,
});
Conectar un cliente de IA
La URL del servidor MCP de tu sitio es:
https://example.com/_emdash/api/mcp
Sustituye example.com por tu dominio. Para desarrollo local, usa http://localhost:4321/_emdash/api/mcp.
Claude
Añade la URL como un conector personalizado remoto. Claude abre el flujo OAuth de EmDash para que puedas iniciar sesión y elegir permisos. Anthropic cambia las pantallas del conector de forma independiente de EmDash, así que sigue sus instrucciones actuales de conectores personalizados para los controles exactos y los requisitos del plan.
ChatGPT
El modo desarrollador de ChatGPT puede conectar un servidor MCP remoto y admite herramientas autenticadas con OAuth. La elegibilidad y las pantallas de ajustes pueden cambiar, así que sigue la guía oficial del modo desarrollador de ChatGPT y usa la URL MCP de tu sitio al crear la app. Revisa cada llamada de escritura antes de aprobarla.
Codex
Añade el servidor remoto desde la CLI de Codex y luego inicia su inicio de sesión OAuth:
codex mcp add emdash-site --url https://example.com/_emdash/api/mcp
codex mcp login emdash-siteLa app de escritorio de ChatGPT, la CLI de Codex y la extensión del IDE comparten la configuración MCP para el mismo host Codex. Consulta la documentación oficial de Codex MCP para archivos de configuración, OAuth y transportes admitidos.
Trabajar con el contenido del sitio
Una vez conectado, puedes pedir al asistente de IA que realice cualquiera de estas operaciones en lenguaje natural. No necesitas conocer los nombres de las herramientas — solo describe lo que quieres.
Content
- Explorar contenido — “Show me the latest 10 blog posts” o “Find all draft pages”
- Leer contenido — “Get the post called ‘hello-world’ and summarize it”
- Crear contenido — “Write a new blog post about our summer sale” o “Create a draft page for the About section”
- Editar contenido — “Update the pricing page to mention the new plan” o “Fix the typo in the FAQ post”
- Publicar y programar — “Publish the summer sale post”, “Schedule the announcement for June 1st at 9am” o “Cancel the schedule on the launch post”
- Comparar versiones — “Show me what changed in the homepage since it was last published”
- Gestionar borradores — “Discard the draft changes on the about page” o “Duplicate the newsletter template”
- Traducciones — “What translations exist for the welcome post?” o “Create a French draft linked to this English post” (cuando i18n está habilitado)
Bylines
- Explorar bylines — “List the guest contributors whose names contain ‘Lee’”
- Acreditar contenido — “Add Priya Shah as the primary byline on this post”
- Gestionar bylines — “Create a guest byline for Sam Rivera” o “Update this contributor’s bio”
- Traducir bylines — “Show the locale variants of this byline”
Crear, actualizar, eliminar y traducir bylines requiere el rol Editor. Las herramientas de escritura de contenido aceptan IDs de byline existentes cuando el llamador tiene permiso para crear o editar ese contenido.
Media
- Explorar medios — “List all uploaded images” o “Show me PDFs in the media library”
- Comprobar detalles — “Get the details for this media item”
- Subir archivos — “Upload this base64 image as
banner.png” - Confirmar subidas firmadas — “Confirm the upload with this storage key”
- Actualizar metadatos — “Set the alt text on the hero image to ‘Mountain sunset’”
- Eliminar archivos — “Delete the old banner image”
media_upload acepta bytes codificados en base64, almacena el archivo, registra el elemento de medios y devuelve el ID y la URL. Aplica los límites de tipo MIME y tamaño de subida del sitio.
media_create completa una subida pendiente creada mediante POST /_emdash/api/media/upload-url. Sube el archivo con la URL firmada devuelta y luego pasa su storageKey a media_create desde la misma cuenta de usuario. La confirmación comprueba que el archivo almacenado existe y coincide con el tamaño suministrado al solicitar la URL de subida. Este flujo requiere Author o un rol superior; los Contributors pueden usar media_upload.
Search
- Encontrar contenido — “Search for posts mentioning ‘accessibility’” o “Find anything about TypeScript across all collections”
Taxonomies
- Explorar — “List all categories” o “Show me the tags”
- Crear términos — “Add a ‘tutorials’ tag” o “Create a ‘Frontend’ subcategory under ‘Engineering’”
- Renombrar términos — “Rename the ‘frontend’ category to ‘Web Frontend’”
- Mover términos — “Move the ‘tutorials’ tag under the ‘guides’ category” o “Detach ‘react’ from its parent”
- Eliminar términos — “Delete the unused ‘archive’ tag”
Menus
- Ver menús — “Show me the main navigation menu” o “What’s in the footer menu?”
- Crear menús — “Create a new ‘sidebar’ menu”
- Editar menús — “Rename the ‘main’ menu to ‘Primary navigation’”
- Establecer elementos — “Replace the items in the main menu with Home, Blog, About, and Contact”
- Eliminar menús — “Delete the unused ‘mobile’ menu”
Site settings
- Inspeccionar — “What’s the current site title?” o “Show me the social links”
- Actualizar identidad — “Set the site title to ‘Acme Blog’ and tagline to ‘Stories from the team’”
- Establecer logo / favicon — “Use this image as the site logo” (después de subirlo con
media_upload) - Valores SEO predeterminados — “Set the default OG image to the new banner” o “Update the title separator to a vertical bar”
- Identificadores sociales — “Add our GitHub and YouTube links to the social settings”
Schema (solo Admin)
- Inspeccionar — “What collections exist?” o “Show me the fields on the posts collection”
- Crear colecciones — “Create a new ‘testimonials’ collection with name and quote fields”
- Modificar el esquema — “Add a ‘featured’ boolean field to posts”
Revisions
- Ver historial — “Show the revision history for this post”
- Restaurar — “Restore the post to its previous version”
Permisos
Cuando un cliente MCP abre la página de consentimiento OAuth, cada permiso que solicitó está seleccionado por defecto. Desmarca cualquier permiso que el cliente no necesite antes de aprobar el acceso. El token resultante se limita a los permisos que dejas seleccionados y a los permitidos por tu rol EmDash, de modo que conceder menos permisos nunca aumenta lo que el cliente puede hacer.
| Rol | Qué puede hacer la IA |
|---|---|
| Admin | Todo, incluidos cambios de esquema y actualizar la configuración del sitio |
| Editor | Gestionar todo el contenido, medios, bylines, taxonomías y menús. Ver el esquema y leer la configuración. |
| Author | Crear contenido; editar y publicar contenido propio; subir medios y gestionar medios propios. |
| Contributor | Crear contenido en borrador y subir medios, sin publicar. |
EmDash rechaza una llamada a la herramienta cuando el alcance del token o el rol del usuario es insuficiente. Un cliente puede explicar ese error, pero EmDash sigue siendo la autoridad que lo aplica.
Consejos
- Sé específico sobre las colecciones. Di «create a blog post» en lugar de «create a post» si tienes varias colecciones.
- Pide el esquema primero. Si no estás seguro de qué campos tiene una colección, pregunta «What fields does the posts collection have?» antes de crear o editar contenido.
- Revisa antes de publicar. Pide a la IA que cree contenido como borrador, revísalo en el panel de administración y luego pídele que lo publique — o publícalo tú.
- Usa compare para revisar. Antes de publicar, pregunta «Compare the live and draft versions of this post» para ver exactamente qué cambiará.
- Los campos de texto enriquecido usan Portable Text. La IA puede escribir contenido para campos de texto enriquecido, pero el formato complejo se hace mejor en el editor de administración.
Para desarrolladores
El endpoint del servidor MCP, los métodos de autenticación, el descubrimiento OAuth, los parámetros de las herramientas y el manejo de errores están documentados en la referencia del servidor MCP.