EmDash tem um servidor Model Context Protocol (MCP) integrado que permite a assistentes de IA trabalhar diretamente com o conteúdo do seu site. Você pode pedir a Claude, ChatGPT ou outras ferramentas que redijam posts, atualizem páginas, gerenciem mídia, pesquisem no conteúdo e mais — tudo por conversa natural.
O servidor MCP do seu site
O servidor MCP está habilitado por padrão. EmDash monta /_emdash/api/mcp a menos que você o desative. O endpoint aceita OAuth ou tokens bearer de acesso pessoal; uma sessão de navegador de administração sozinha não autentica uma requisição MCP. OAuth permite que a pessoa que conecta o cliente escolha scopes antes de EmDash emitir o token.
Para desativá-lo, defina mcp: false na configuração Astro:
emdash({
mcp: false,
});
Conectar um cliente de IA
A URL do servidor MCP do seu site é:
https://example.com/_emdash/api/mcp
Substitua example.com pelo seu domínio. Para desenvolvimento local, use http://localhost:4321/_emdash/api/mcp.
Claude
Adicione a URL como um conector personalizado remoto. Claude abre o fluxo OAuth EmDash para você entrar e escolher permissões. A Anthropic altera as telas do conector independentemente do EmDash, então siga as instruções atuais de conectores personalizados para os controles exatos e requisitos do plano.
ChatGPT
O modo desenvolvedor do ChatGPT pode conectar um servidor MCP remoto e oferece suporte a ferramentas autenticadas com OAuth. Elegibilidade e telas de configurações podem mudar, então siga o guia oficial do modo desenvolvedor do ChatGPT e use a URL MCP do seu site ao criar o app. Revise cada chamada de escrita antes de aprová-la.
Codex
Adicione o servidor remoto pela CLI Codex e depois inicie o login OAuth:
codex mcp add emdash-site --url https://example.com/_emdash/api/mcp
codex mcp login emdash-siteO app desktop ChatGPT, a CLI Codex e a extensão IDE compartilham a configuração MCP para o mesmo host Codex. Veja a documentação oficial Codex MCP para arquivos de configuração, OAuth e transportes suportados.
Trabalhar com o conteúdo do site
Depois de conectado, você pode pedir ao assistente de IA que execute qualquer destas operações em linguagem natural. Não precisa conhecer os nomes das ferramentas — apenas descreva o que quer.
Content
- Explorar conteúdo — “Show me the latest 10 blog posts” ou “Find all draft pages”
- Ler conteúdo — “Get the post called ‘hello-world’ and summarize it”
- Criar conteúdo — “Write a new blog post about our summer sale” ou “Create a draft page for the About section”
- Editar conteúdo — “Update the pricing page to mention the new plan” ou “Fix the typo in the FAQ post”
- Publicar e agendar — “Publish the summer sale post”, “Schedule the announcement for June 1st at 9am” ou “Cancel the schedule on the launch post”
- Comparar versões — “Show me what changed in the homepage since it was last published”
- Gerenciar rascunhos — “Discard the draft changes on the about page” ou “Duplicate the newsletter template”
- Traduções — “What translations exist for the welcome post?” ou “Create a French draft linked to this English post” (quando i18n está habilitado)
Bylines
- Explorar bylines — “List the guest contributors whose names contain ‘Lee’”
- Creditar conteúdo — “Add Priya Shah as the primary byline on this post”
- Gerenciar bylines — “Create a guest byline for Sam Rivera” ou “Update this contributor’s bio”
- Traduzir bylines — “Show the locale variants of this byline”
Criar, atualizar, excluir e traduzir bylines exige a função Editor. Ferramentas de escrita de conteúdo aceitam IDs de byline existentes quando o chamador tem permissão para criar ou editar esse conteúdo.
Media
- Explorar mídia — “List all uploaded images” ou “Show me PDFs in the media library”
- Verificar detalhes — “Get the details for this media item”
- Enviar arquivos — “Upload this base64 image as
banner.png” - Confirmar uploads assinados — “Confirm the upload with this storage key”
- Atualizar metadados — “Set the alt text on the hero image to ‘Mountain sunset’”
- Remover arquivos — “Delete the old banner image”
media_upload aceita bytes codificados em base64, armazena o arquivo, registra o item de mídia e retorna o ID e a URL. Aplica os limites de tipo MIME e tamanho de upload do site.
media_create conclui um upload pendente criado via POST /_emdash/api/media/upload-url. Envie o arquivo com a URL assinada retornada e então passe seu storageKey para media_create da mesma conta de usuário. A confirmação verifica que o arquivo armazenado existe e corresponde ao tamanho fornecido quando a URL de upload foi solicitada. Este fluxo exige Author ou uma função superior; Contributors podem usar media_upload.
Search
- Encontrar conteúdo — “Search for posts mentioning ‘accessibility’” ou “Find anything about TypeScript across all collections”
Taxonomies
- Explorar — “List all categories” ou “Show me the tags”
- Criar termos — “Add a ‘tutorials’ tag” ou “Create a ‘Frontend’ subcategory under ‘Engineering’”
- Renomear termos — “Rename the ‘frontend’ category to ‘Web Frontend’”
- Mover termos — “Move the ‘tutorials’ tag under the ‘guides’ category” ou “Detach ‘react’ from its parent”
- Excluir termos — “Delete the unused ‘archive’ tag”
Menus
- Ver menus — “Show me the main navigation menu” ou “What’s in the footer menu?”
- Criar menus — “Create a new ‘sidebar’ menu”
- Editar menus — “Rename the ‘main’ menu to ‘Primary navigation’”
- Definir itens — “Replace the items in the main menu with Home, Blog, About, and Contact”
- Excluir menus — “Delete the unused ‘mobile’ menu”
Site settings
- Inspecionar — “What’s the current site title?” ou “Show me the social links”
- Atualizar identidade — “Set the site title to ‘Acme Blog’ and tagline to ‘Stories from the team’”
- Definir logo / favicon — “Use this image as the site logo” (depois de enviá-lo com
media_upload) - Padrões de SEO — “Set the default OG image to the new banner” ou “Update the title separator to a vertical bar”
- Handles sociais — “Add our GitHub and YouTube links to the social settings”
Schema (somente Admin)
- Inspecionar — “What collections exist?” ou “Show me the fields on the posts collection”
- Criar collections — “Create a new ‘testimonials’ collection with name and quote fields”
- Modificar o schema — “Add a ‘featured’ boolean field to posts”
Revisions
- Ver histórico — “Show the revision history for this post”
- Restaurar — “Restore the post to its previous version”
Permissões
Quando um cliente MCP abre a página de consentimento OAuth, cada permissão que solicitou fica selecionada por padrão. Desmarque qualquer permissão de que o cliente não precise antes de aprovar o acesso. O token resultante fica limitado às permissões que você deixa selecionadas e às permitidas pela sua função EmDash, de modo que conceder menos permissões nunca aumenta o que o cliente pode fazer.
| Função | O que a IA pode fazer |
|---|---|
| Admin | Tudo, incluindo alterações de schema e atualizar configurações do site |
| Editor | Gerenciar todo o conteúdo, mídia, bylines, taxonomias e menus. Ver schema e ler configurações. |
| Author | Criar conteúdo; editar e publicar conteúdo próprio; enviar mídia e gerenciar mídia própria. |
| Contributor | Criar conteúdo em rascunho e enviar mídia, sem publicar. |
EmDash rejeita uma chamada de ferramenta quando o scope do token ou a função do usuário é insuficiente. Um cliente pode explicar esse erro, mas EmDash permanece a autoridade que o aplica.
Dicas
- Seja específico sobre collections. Diga «create a blog post» em vez de «create a post» se tiver várias collections.
- Peça o schema primeiro. Se não tiver certeza dos campos de uma collection, pergunte «What fields does the posts collection have?» antes de criar ou editar conteúdo.
- Revise antes de publicar. Peça à IA para criar conteúdo como rascunho, revise no painel de administração e então peça à IA para publicar — ou publique você mesmo.
- Use compare para revisão. Antes de publicar, pergunte «Compare the live and draft versions of this post» para ver exatamente o que mudará.
- Campos de rich text usam Portable Text. A IA pode escrever conteúdo para campos de rich text, mas a formatação complexa fica melhor no editor de administração.
Para desenvolvedores
O endpoint do servidor MCP, métodos de autenticação, descoberta OAuth, parâmetros das ferramentas e tratamento de erros estão documentados na referência do servidor MCP.