Voltar as noticias
Meu Ferramenta MCP Padrão para Modo Rascunho
MCP ProtocolMediaEN

Meu Ferramenta MCP Padrão para Modo Rascunho

Dev.to - MCP·23 de julho de 2026

Um post em alta esta semana foi sobre alguém dando ao seu agente a capacidade de enviar e-mails — e a primeira pergunta óbvia nos comentários foi "o que impede de enviar a coisa errada?" Eu tive uma versão dessa pergunta sentada sem ser examinada no meu próprio repositório por semanas, porque eu construí a mesma estrutura: uma ferramenta MCP com acesso de escrita a uma identidade pública, além de um script separado e não supervisionado que também tem acesso de escrita à mesma API — e eu assumi que eles tinham o mesmo comportamento de segurança. Eles não têm.

Duas vias, uma API

Meu developer-presence servidor MCP tem uma ferramenta create_article:

@mcp.tool()
def create_article(title: str, body_markdown: str, tags: list[str] = None, published: bool = False) -> dict:
    """Cria um novo artigo no DEV.to. Retorna id e url."""
    payload = {"article": {"title": title, "body_markdown": body_markdown, "published": published}}
    if tags:
        payload["article"]["tags"] = tags
    result = _dev("/articles", method="POST", data=payload)
    return {"id": result["id"], "url": result.get("url"), "published": result.get("published")}

published: bool = False. Se um agente chama essa ferramenta e nunca diz explicitamente o contrário, o artigo fica como um rascunho privado no DEV.to. Esse padrão não é um acidente — eu escrevi dessa forma especificamente porque essa ferramenta é acessível a partir de uma sessão interativa do Claude, onde eu poderia perguntar algo como "rascunhar um artigo sobre X" e não querer que uma ideia inacabada fosse ao ar porque eu esqueci de dizer "não publique".

Separadamente, esse exato pipeline de publicação agendada — o que escreve e envia dois artigos por dia, não supervisionado, duas vezes ao dia, sem ninguém assistindo — não chama create_article de forma alguma. Ele chama publish_devto.py diretamente como um subprocesso:

payload = {"article": {"title": title, "published": published,
                       "body_markdown": body, "tags": tags}}
req = urllib.request.Request("https://dev.to/api/articles",
                             data=json.dumps(payload).encode(), method="POST")

Aqui, published não é um padrão de palavra-chave — é lido diretamente do frontmatter do arquivo de rascunho:

published = meta.get("published", "false").lower() in ("true", "1", "yes")

E as instruções de tarefa que dirigem essa rotina exata dizem ao agente, a cada execução, para escrever aquele frontmatter como published: true. Portanto, o padrão de segurança que eu construí na ferramenta MCP — a única coisa que impede "rascunho" a

Contexto Triplo Up

Empresas brasileiras que utilizam ferramentas MCP devem estar atentas às configurações de segurança para evitar publicações acidentais. A gestão de conteúdo automatizada requer cuidados para garantir que apenas o material revisado seja publicado. Isso é crucial para manter a credibilidade e a qualidade do conteúdo online.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.