anon.li

Crie, edite e exclua aliases de e-mail e gerencie compartilhamentos de arquivos criptografados com o anon.li MCP.

Documentação

Documentation Menu

Servidor MCP

Conecte agentes de IA (Claude, Cursor, MCP Inspector) ao anon.li com OAuth e gerencie aliases, destinatários e drops.

O servidor de Protocolo de Contexto de Modelo (MCP) do anon.li permite que agentes de IA leiam e modifiquem seus aliases, destinatários e drops por meio de um transporte MCP padrão. Ele usa OAuth 2.1 com PKCE, então você nunca cola uma chave de API em uma ferramenta de terceiros — o agente se conecta, você aprova a partir de um login normal do anon.li, e ele recebe um token bearer de curta duração com escopo limitado à sua conta.

Endpoint

Código

https://anon.li/api/mcp

O transporte é Streamable HTTP. O servidor fala as revisões de protocolo 2025-03-26, 2025-06-18 e 2025-11-25 (respostas JSON, sem sessão), bem como 2026-07-28.

Adicionando o servidor ao Claude

No Claude Desktop ou no Claude na web:

  1. Abra Configurações → Conectores → Adicionar conector personalizado.
  2. Defina a URL para https://anon.li/api/mcp.
  3. O Claude abre uma aba do navegador — faça login no anon.li (e complete a 2FA se você a tiver habilitada) e aprove a tela de consentimento.
  4. Uma vez conectado, pergunte ao Claude coisas como "liste meus aliases do anon.li" ou "crie um alias personalizado newsletters@anon.li e encaminhe-o para meu destinatário padrão."

O mesmo fluxo funciona para qualquer cliente compatível com MCP. Com o MCP Inspector:

Código

npx @modelcontextprotocol/inspector https://anon.li/api/mcp

Descoberta

O anon.li publica metadados de descoberta bem conhecidos na raiz, para que clientes MCP possam encontrar o transporte e a configuração OAuth sem configuração manual:

DocumentoCaminhoCartão do Servidor MCP (rascunho SEP-1649)/.well-known/mcp/server-card.jsonRFC 8414 — Metadados do Servidor de Autorização/.well-known/oauth-authorization-serverRFC 9728 — Metadados do Recurso Protegido OAuth/.well-known/oauth-protected-resource/api/mcp (também em /.well-known/oauth-protected-resource)

Fatos-chave que um cliente lerá:

  • Emissor: https://anon.li
  • Endpoints: /api/auth/oauth2/authorize, /api/auth/oauth2/token, /api/auth/oauth2/revoke; chaves de assinatura em /api/auth/jwks
  • Tipos de concessão: authorization_code, refresh_token
  • PKCE: obrigatório, apenas S256
  • Registro de cliente: Documentos de Metadados de ID de Cliente (um client_id HTTPS), ou RFC 7591 registro dinâmico em /api/auth/oauth2/register. URIs de redirecionamento devem ser HTTPS, ou http://localhost / 127.0.0.1 / [::1] para clientes nativos.
  • Indicador de recurso: tokens são vinculados a https://anon.li/api/mcp (RFC 8707); clientes que omitem o recurso o recebem preenchido.
  • Tokens de acesso: JWTs assinados com validade de 1 hora
  • Tokens de atualização: 14 dias, rotacionados a cada uso (uma atualização repetida dentro de 30 segundos recebe a mesma resposta)
  • Consentimento: toda autorização mostra a tela de consentimento do anon.li; a 2FA deve ser concluída primeiro se estiver habilitada na conta. Os aplicativos concedidos são listados e podem ser revogados em Configurações → Aplicativos conectados

Ferramentas

O servidor expõe doze ferramentas. Chamadas de ferramentas de alias, drop e formulário contam contra a mesma cota mensal de API que a API REST para seu nível (veja Preços para limites de nível). As ferramentas de destinatário (list_recipients, add_recipient) não consomem cota mensal; elas são apenas limitadas por taxa.

As ferramentas toggle_* recebem o estado alvo (active para aliases, disabled para drops e formulários) e o definem, espelhando a semântica do PATCH REST — repetir uma chamada é seguro e nunca inverte o estado. Os resultados das listas são ordenados do mais recente para o mais antigo com um desempate estável, então paginar com offset nunca repete ou pula um item.

Aliases

FerramentaO que fazlist_aliasesLista os aliases da conta, do mais recente para o mais antigo, 50 por página (limite até 100, offset para paginar). Retorna total mais id, email, active, contadores de encaminhados/bloqueados e timestamps. Rótulos e notas criptografados são omitidos intencionalmente — eles são criptografados no vault do lado do cliente e ilegíveis para um cliente de terceiros.create_aliasCria um alias. Passe local_part para um endereço personalizado (o formato assume "custom" quando é fornecido); omita-o — ou passe format: "random" — para gerar automaticamente a parte local. local_part com format: "random" é rejeitado. recipient_ids ou recipient_email opcionais (não ambos) escolhem o destino de encaminhamento — o padrão é seu destinatário principal. Rótulos/notas não podem ser definidos aqui; edite-os na interface web após a criação.toggle_aliasDefine o estado de um alias: active: true encaminha e-mails, active: false os descarta silenciosamente. Aceita um ID de alias ou o endereço de e-mail completo. Marcado como destrutivo (desabilitar interrompe o recebimento de e-mails) e idempotente. Reativar um alias que um administrador derrubou falha com FORBIDDEN.delete_aliasExclui permanentemente um alias. E-mails futuros para esse endereço são rejeitados.

Destinatários

FerramentaO que fazlist_recipientsLista suas caixas de entrada de destinatários (os endereços para os quais aliases podem encaminhar). Inclui flags verified e is_default.add_recipientAdiciona um novo e-mail de destinatário. O destinatário deve clicar no link de verificação antes que qualquer alias possa encaminhar para ele.

Drops

FerramentaO que fazlist_dropsLista drops de arquivos apenas com metadados — tamanho, expiração, downloads, downloads máximos, estado desabilitado/derrubado. Nomes de arquivos e conteúdos são criptografados de ponta a ponta e não podem ser retornados por esta API.toggle_dropDefine o estado de um drop: disabled: true rejeita todos os downloads, disabled: false restaura o acesso.delete_dropExclui permanentemente um drop e recupera sua cota de armazenamento.

toggle_drop e delete_drop atuam apenas na lista independente de drops que list_drops retorna. Anexos de formulários são gerenciados com seu formulário (delete_form os remove), e um drop já excluído não existe mais — ambos retornam NOT_FOUND.

Formulários

FerramentaO que fazlist_formsLista seus formulários apenas com metadados — título, contagens de envios, envios máximos, data de fechamento, estado ativo/desabilitado/derrubado. Conteúdos de envios são criptografados de ponta a ponta e não podem ser retornados por esta API.toggle_formDefine o estado de um formulário: disabled: true rejeita todos os novos envios, disabled: false os aceita novamente. O resultado espelha disabled_by_user de list_forms.delete_formExclui permanentemente um formulário junto com todos os seus envios e quaisquer drops de arquivos anexados.

Escopos

As ferramentas são controladas por escopos OAuth. O token que seu cliente recebe carrega uma string de escopo separada por espaços; chamar uma ferramenta sem seu escopo é recusado com um desafio de step-up HTTP 403 (veja Escopos ausentes). Solicitar nenhum escopo concede todos eles.

EscopoConcedeanon.li:aliasesTodas as ferramentas *_alias mais list_recipients / add_recipient.anon.li:dropsTodas as ferramentas *_drop.anon.li:formsTodas as ferramentas *_form.offline_accessTokens de atualização (permanecer conectado sem novo consentimento).

O que a IA não pode ver

Isso é por design. O anon.li é um serviço de conhecimento zero para as partes que importam:

  • Rótulos e notas de aliases são criptografados com uma chave derivada da sua senha do vault. Apenas seu navegador (ou CLI com sua chave embrulhada do vault) pode ler ou escrevê-los.
  • Conteúdos e nomes de arquivos de drops são criptografados no lado do cliente antes do upload. A chave de criptografia de um drop nunca sai do seu dispositivo — ela faz parte do fragmento de URL de compartilhamento.
  • Uploads de drops não são expostos via MCP pelo mesmo motivo: uma IA remota não tem suas chaves do vault.

O servidor MCP, portanto, permite que um agente gerencie o plano de controle (quais aliases existem, quais destinatários são verificados, quais drops ainda estão ativos) sem nunca tocar no plano de conteúdo.

Erros

Uma chamada de ferramenta com falha é retornada como um resultado de ferramenta MCP normal com isError: true — não como um erro de protocolo JSON-RPC. Isso inclui argumentos inválidos, que retornam VALIDATION_ERROR com uma lista de issues. Os detalhes estruturados estão disponíveis em dois lugares:

  • _meta["anon.li/error"] — { code, message, ... } legível por máquina para clientes que ramificam com base nos dados de erro.
  • O bloco de conteúdo de texto — a mensagem, seguida por um bloco JSON com o código e quaisquer campos extras. Isso é o que a maioria dos loops de agentes mostra ao modelo.

Código

{
"isError": true,
"content": [
{
"type": "text",
"text": "Monthly API quota exceeded\n\n{\n \"code\": \"QUOTA_EXCEEDED\",\n ..."
}
],
"_meta": {
"anon.li/error": {
"code": "QUOTA_EXCEEDED",
"message": "Monthly API quota exceeded",
"quota_type": "alias",
"limit": 500,
"remaining": 0,
"reset_at": "2026-05-01T00:00:00.000Z"
}
}
}

Os códigos de erro espelham os da API REST, então uma única tabela de erros cobre ambos:

CódigoSignificadoCampos extrasQUOTA_EXCEEDEDCota mensal de API esgotada para o bucket desta ferramenta.quota_type (alias / drop / form), limit, remaining, reset_atRATE_LIMITEDLimite de taxa por ferramenta atingido — tente novamente após reset_at.reset_atINSUFFICIENT_SCOPEO token não possui o escopo que esta ferramenta precisa. Reconecte e aprove. Normalmente respondido na camada HTTP (veja abaixo); este é o fallback.required_scope, granted_scopesUPGRADE_REQUIREDUm limite do plano foi atingido (ex.: contagem de aliases, contagem de destinatários).upgrade (scope, currentTier, suggestedTier, ...)VALIDATION_ERROROs argumentos falharam no esquema de entrada da ferramenta (ou o serviço rejeitou a entrada).issues (path, message) para falhas de esquemaACCOUNT_BANNEDA conta está suspensa.BAN_ALIAS_CREATIONA criação de aliases está desabilitada para esta conta (create_alias).NOT_FOUND, FORBIDDEN, CONFLICTA solicitação em si foi rejeitada (ID desconhecido, função organizacional insuficiente ou derrubada por administrador, duplicata).INVALID_TOKEN, ACCOUNT_NOT_ACTIVEO token não tem sujeito, ou a conta não existe mais.INTERNAL_ERRORErro inesperado do servidor. A chamada não foi repetida — verifique seu efeito antes de repeti-la.

Escopos ausentes (step-up)

Chamar uma ferramenta cujo escopo o token não possui é recusado antes da execução da ferramenta com HTTP 403 e um desafio de step-up, tanto no transporte MCP 2026-07-28 quanto nos transportes da era 2025:

Código

WWW-Authenticate: Bearer error="insufficient_scope",
scope="anon.li:aliases offline_access anon.li:drops",
resource_metadata="https://anon.li/.well-known/oauth-protected-resource/api/mcp"

scope lista os escopos que o token já possui mais o ausente, para que um cliente que reautorize com ele mantenha seu acesso existente. tools/list ainda lista todas as ferramentas, independentemente dos escopos do token.

Cota e limites de taxa

O uso do MCP compartilha o contador mensal por nível com o uso REST e CLI (por bucket: ferramentas de alias usam a cota de alias, ferramentas de drop a cota de drop, ferramentas de formulário a cota de formulário). Ferramentas de destinatário não são medidas contra a cota mensal.

As verificações são executadas nesta ordem: escopo, limite de taxa por ferramenta, validação de argumentos, verificações de banimento e, em seguida, a cota mensal. Uma chamada rejeitada por qualquer verificação anterior — incluindo uma com argumentos inválidos — não é cobrada contra a cota mensal.

Limites de taxa por ferramenta também se aplicam, compartilhando buckets com os endpoints REST correspondentes:

FerramentasLimitecreate_alias60 por horalist_aliases, toggle_alias, delete_alias, list_recipients100 por minutoadd_recipient60 por horalist_drops, list_forms60 por minutotoggle_drop, delete_drop, toggle_form, delete_form100 por hora

Segurança da conta

  • Ciente de 2FA. Se sua conta exigir 2FA, a etapa de autorização OAuth redireciona através dela antes da tela de consentimento.
  • Ciente de banimento. Uma conta suspensa recebe ACCOUNT_BANNED de todas as ferramentas, e uma conta com criação de aliases desabilitada (ex.: devido a violações de abuso) recebe BAN_ALIAS_CREATION de create_alias, em vez de falhar silenciosamente.
  • Revogação. Para cortar o acesso de um aplicativo ao anon.li, abra Configurações → Aplicativos conectados e escolha Revogar. Seus tokens de consentimento e atualização são excluídos, e qualquer token de acesso que ele ainda possua é rejeitado na próxima solicitação. Reconectar posteriormente mostra a tela de consentimento novamente. Remover um conector dentro do Claude (ou outro cliente MCP) não revoga necessariamente sua concessão com o anon.li, então use Aplicativos conectados para ter certeza.

Precisa de ajuda?

Nesta página