Mermail
Caixas de entrada de e-mail com foco em privacidade para agentes de IA. Leia, pesquise, rascunhe, envie e trie e-mails via Streamable HTTP MCP.
Documentação
MCP
Conecte assistentes de IA ao Mermail via Streamable HTTP MCP com OAuth ou uma chave de API.
O Mermail expõe um servidor Model Context Protocol que encapsula a API HTTP vendida. Os assistentes chamam os mesmos endpoints com escopo de workspace que os clientes autenticados — incluindo uso, workspaces, caixas de entrada, e-mail, conversas de agente e triagem de tarefas.
Endpoint
| Item | Valor |
|---|---|
| URL padrão do catálogo completo | https://console.mermail.app/mcp |
| URL recomendada para caixa de entrada do agente | https://console.mermail.app/mcp?profile=agent-inbox |
| Transporte | Streamable HTTP (JSON-RPC sobre POST) |
| Autenticação | OAuth 2.1 Bearer (interativo) ou x-api-key: sk-proj-… (automação) |
| Alternativa de cabeçalho | x-mermail-tool-profile: agent-inbox |
| Métodos | O tráfego de ferramentas usa POST. GET não autenticado pode retornar o desafio de descoberta OAuth; GET e DELETE autenticados retornam 405. |
O servidor é sem estado: não há assinatura SSE de longa duração. Uma resposta POST negociada pode usar application/json ou text/event-stream, portanto, os clientes devem aceitar ambos, tratando cada solicitação como sem estado.
A URL original /mcp permanece inalterada e continua expondo o catálogo completo.
Autenticação
OAuth (paridade com navegador)
Clientes MCP que suportam OAuth descobrem o Mermail via Protected Resource Metadata, abrem a página de autorização do console e recebem um token de acesso Bearer após o usuário entrar com Enoki (igual ao aplicativo web) e escolher um workspace. A interface de consentimento mostra um nome de cliente amigável (por exemplo, ChatGPT ou Cursor), não o id opaco mcp_client_….
| Item | Valor |
|---|---|
| PRM | https://console.mermail.app/.well-known/oauth-protected-resource |
| Metadados AS | https://console.mermail.app/.well-known/oauth-authorization-server |
| Escopos | mcp:tools, openid, offline_access |
Chamadas não autenticadas retornam 401 com um desafio WWW-Authenticate apontando para o documento PRM.
Acesso ao Agent Wallet
As ferramentas PayBox aparecem apenas na sessão OAuth padrão de perfil completo. Catálogos de chave de API e o perfil agent-inbox nunca as incluem. Um membro atual do workspace pode usar paybox_* ao vivo visível pelo modelo através da conexão ativa do proprietário do workspace; o gerenciamento de conexão e as ferramentas legadas de compatibilidade do Agent Wallet permanecem exclusivos do proprietário.
| Escopo | Propósito |
|---|---|
mcp:tools | Acesso principal às ferramentas Mermail. No perfil completo, isso pode expor ferramentas PayBox ao vivo para membros atuais do workspace através da conexão ativa do proprietário. |
wallet:read, wallet:transact | Rótulos legados de compatibilidade apenas. Não são necessários para visibilidade da carteira e não substituem mcp:tools. |
Conecte-se ao endpoint padrão /mcp com OAuth e selecione o workspace pretendido. Sempre tools/call get_paybox_connection uma vez como a primeira ação PayBox. Não espere que ele apareça em tools/list; a ausência de uma lista de hosts não significa "não exposto". Após uma sondagem utilizável/ACTIVE, continue mesmo que a primeira lista tenha omitido paybox_*. Reconecte o Mermail MCP somente após essa chamada retornar unknown-tool, method-not-found ou uma falha grave. Os proprietários podem receber connect_handoff ou reauth_handoff e abrir esse Mermail Agent Wallet console_url; os membros, em vez disso, recebem OWNER_ACTION_REQUIRED quando a conexão compartilhada precisa de reparo, sem transferência. Nesse caso, o proprietário deve conectar ou reautorizar o PayBox dentro do Mermail. Não adicione escopos legados de carteira, alterne identidades, construa uma URL ou reconecte as configurações do conector Claude, ChatGPT ou Codex para autorizar o PayBox.
As ferramentas PayBox não usam o fluxo prepare_destructive_action do Mermail. O PayBox é a autoridade para delegação, concessões permanentes, aprovação e assinatura. Uma concessão permanente pode permitir uma operação sem um clique novo; quando a interação for necessária, o MCP App do PayBox cuida disso. Pendente, SUBMISSION_UNKNOWN e paybox_continuation_origin_not_found não são sucesso.
Ferramentas PayBox ao vivo e UI
O Mermail retransmite o catálogo ao vivo de ferramentas e MCP Apps do PayBox em vez de manter uma lista de permissões revisada de nomes de ferramentas ou hashes de esquema. Ferramentas visíveis pelo modelo usam paybox_<upstream-name>; aliases somente de aplicativo mantêm o nome upstream exato e a visibilidade. Novas ferramentas válidas e mudanças de esquema podem, portanto, aparecer sem um lançamento do Mermail.
Hosts compatíveis renderizam a interface ui:// anunciada pelo PayBox inline para assinatura e outras etapas interativas. Se o host não puder renderizar MCP Apps, o Mermail retorna uma transferência autenticada para o navegador. O Mermail não mostra seu próprio prompt de Aprovar/Negar para nenhum dos caminhos. O host ainda pode solicitar ou bloquear uma operação financeira sob sua própria política, e o Mermail não pode contornar essa decisão.
Dados comerciais não secretos do PayBox estão disponíveis para o modelo e a UI. Tokens OAuth ou bearer, chaves privadas e sementes, credenciais de cartão, payloads assinados brutos e URLs de aprovação secretas são excluídos do contexto do modelo, persistência, logs e erros. Chamadas somente de aplicativo podem receber estado de assinatura efêmero dentro da interface isolada do PayBox sem expô-lo ao modelo.
Chave de API (automação / CLI)
- Crie uma chave de API do workspace em Configurações → Chaves de API. Consulte Autenticação.
- Envie-a em cada
POSTcomox-api-key. - Sessões de cookie / console sozinhas são rejeitadas para MCP.
Ambos os modos de autenticação limitam as ferramentas a um workspace e consomem o RPM e os créditos de API desse workspace.
Descubra o servidor
curl -sS https://console.mermail.app/.well-known/mcp/server-card.json | jq .
O cartão inclui transporte Streamable HTTP, autenticação OAuth 2.1 e chave de API opcional, serverInfo.description, ícones em https://console.mermail.app/brand/icon-primary.png e a lista completa de ferramentas.
Registro Oficial MCP
O Mermail é publicado como app.mermail/mcp no Registro Oficial MCP. Clientes e agregadores (PulseMCP, Smithery, Glama e outros) descobrem servidores remotos Streamable HTTP a partir desse feed.
| Item | Valor |
|---|---|
| Nome do registro | app.mermail/mcp |
| Site | mermail.app/agents |
| Prova de propriedade | https://mermail.app/.well-known/mcp-registry-auth |
Dica
Prefira a URL e a lista de ferramentas do cartão do servidor ao vivo para o seu host. Não codifique um host se você implantar em um domínio personalizado.
Conecte um assistente
Use o guia interativo em mermail.app/agents para etapas específicas do host.
| Host | Autenticação |
|---|---|
| Cursor e Claude | OAuth — adicione a URL hospedada quando conectores personalizados estiverem disponíveis no workspace. Para verificação focada em caixa de entrada, conecte-se a https://console.mermail.app/mcp?profile=agent-inbox; use /mcp quando a tarefa precisar do catálogo completo |
| ChatGPT custom MCP app | OAuth — habilite os controles de desenvolvedor e crie o Mermail quando aplicativos personalizados estiverem disponíveis no workspace |
| Codex | OAuth — codex mcp add mermail --url https://console.mermail.app/mcp, depois codex mcp login mermail |
| OpenClaw | OAuth — openclaw mcp add mermail --url https://console.mermail.app/mcp --transport streamable-http --auth oauth, depois openclaw mcp login mermail |
| ChatGPT / Codex Plugins Directory (quando publicado) | OAuth Apps Connected + Skills (estilo Linear) |
| Hermes Agent | OAuth — adicione url + auth: oauth em mcp_servers em ~/.hermes/config.yaml, depois hermes mcp login mermail de um terminal novo. Em um host remoto/sem cabeça, abra a URL impressa localmente e cole a URL de redirecionamento final de volta no prompt de login |
| CLI, jobs sem cabeça e fallbacks de pacote/plugin | Chave de API — Streamable HTTP + x-api-key; PayBox não está disponível |
Exemplo com chave de API:
{
"mcpServers": {
"mermail": {
"url": "https://console.mermail.app/mcp",
"headers": {
"x-api-key": "sk-proj-YOUR_KEY"
}
}
}
}
As chaves de configuração exatas variam por host. As partes importantes são a URL /mcp selecionada e o transporte Streamable HTTP, não SSE.
Para fluxos de trabalho empacotados, instale Mermail Skills (npx --yes skills add Nudgen-Marketing/mermail-skills) ou conecte-se via id de registro app.mermail/mcp quando seu host suportar instalação pelo Registro Oficial.
Perfil de caixa de entrada do agente com privilégios mínimos
Clientes hospedados comumente aceitam uma URL de servidor, mas não cabeçalhos personalizados fixos. Para esses clientes, selecione o perfil aditivo na URL:
{
"mcpServers": {
"mermail-agent-inbox": {
"url": "https://console.mermail.app/mcp?profile=agent-inbox",
"headers": {
"x-api-key": "sk-proj-YOUR_KEY"
}
}
}
}
Se o cliente suportar cabeçalhos fixos, a alternativa compatível com versões anteriores é a URL original /mcp mais x-mermail-tool-profile: agent-inbox em cada POST sem estado. Ambos os seletores expõem apenas:
get_api_credit_usage
list_workspaces
get_workspace
list_email_domains
list_workspace_mailboxes
list_mailboxes
create_mailbox
get_mailbox
list_emails
search_emails
get_email
get_email_context
Ele expõe uma escrita de provisionamento com escopo, create_mailbox, além de leituras seguras de caixa de entrada e e-mail. Não expõe envio, conta conectada, chat de agente, mutação administrativa, ferramentas destrutivas ou de carteira. O perfil completo de ferramentas permanece o padrão quando nem a URL nem o cabeçalho selecionam um perfil, preservando os clientes /mcp existentes. Um perfil não vazio desconhecido, ou valores conflitantes de URL e cabeçalho, retorna 400 com invalid_mcp_tool_profile.
Use este perfil focado para descoberta de caixa de entrada, provisionamento opcional,
monitoramento de verificação, leituras de mensagens e contexto de thread sanitizado e limitado.
Não use create_mailbox como teste de conexão. O perfil não expõe send_email, reply_to_email,
forward_email, rascunhos ou envios agendados. Conecte um fluxo de envio
explicitamente autorizado ao catálogo padrão /mcp em vez de alterar silenciosamente a
URL do perfil.
O perfil restringe o catálogo MCP do Mermail; ele não remove ferramentas de navegador, shell, pagamento ou outras fornecidas separadamente pelo host.
Como as ferramentas mapeiam para a API
Cada wrapper da API Sold mapeia para uma operação da API Sold. Ferramentas PayBox, por sua vez, mapeiam para a operação correspondente no catálogo ativo do PayBox:
| Argumento | Uso |
|---|---|
| Parâmetros de caminho | Strings de nível superior (mailboxId, workspaceId, …) correspondentes ao caminho OpenAPI. mailboxId aceita public_id (UUID), ID de alias hospedado ou e-mail atual — prefira public_id de list_mailboxes. |
query | Objeto opcional de valores de query string |
body | Corpo JSON opcional para POST / PUT / PATCH |
idempotencyKey | Opcional; enviado como Idempotency-Key |
confirmationToken | Obrigatório em ferramentas destrutivas de caixa de entrada, workspace e administrativas do Mermail (veja abaixo); nunca usado por ferramentas paybox_* |
Nomes de ferramentas e namespaces do host
O Mermail anuncia nomes de protocolo MCP simples, como list_emails,
search_emails e get_email. Um host pode qualificar esses nomes em sua interface ou
contexto de agente. Por exemplo, o Claude pode exibir Mermail:list_emails, enquanto
outro cliente pode usar um formato de namespace diferente.
O namespace pertence ao host, não ao contrato MCP do Mermail. Um
cliente MCP personalizado deve usar o nome exato retornado por tools/list — por exemplo,
tools/call.params.name: "list_emails". Não reescreva o nome da ferramenta do servidor para
Mermail:list_emails nem adicione aliases específicos do host. Em um assistente hospedado, use
a referência qualificada exata mostrada por esse host e deixe sua ponte MCP mapeá-la
de volta ao nome de protocolo simples.
O Mermail tem como alvo clientes MCP HTTP Streamable compatíveis com padrões. Carregamento de ferramentas, namespacing, controles de cache e suporte a Agent Skills permanecem como capacidades do cliente, portanto o comportamento pode variar por host e versão.
Argumentos nativos list_emails
Passe query como um objeto JSON nativo. Não passe uma string JSON escapada. Use
os campos canônicos sortColumn e sortDirection em vez de um valor combinado
sort:
{
"mailboxId": "MAILBOX_PUBLIC_ID_OR_EMAIL",
"query": {
"folder": "inbox",
"limit": 10,
"sortColumn": "date",
"sortDirection": "DESC",
"metadata_only": true
}
}
Para o perfil agent-inbox, o Mermail adicionalmente impõe
metadata_only=true, require_scan_status=clean e
agent_safe_content=true em operações de listagem. Os chamadores ainda devem enviar um
objeto em conformidade com o esquema para que a mesma solicitação permaneça portátil entre clientes MCP
e perfis.
Aninhe campos da API Sold sob o argumento MCP body. Se agentes passarem campos Sold no nível superior (to, subject, text, …), o Mermail os dobra em body.
create_mailbox exige body.email e body.name. body.workspaceId é
opcional quando a concessão OAuth ou a chave de API já vincula o MCP a um workspace. Se
você fornecê-lo, ele deve corresponder ao escopo dessa credencial. Uma criação bem-sucedida consome
10 créditos de provisionamento; esses são créditos de API do workspace, não um pagamento $10.
Passe idempotencyKey para uma tentativa de criação repetida com intenção idêntica. Isso não é
prova de execução de negócio exatamente uma vez. Após um conflito ou resposta
incerta, liste as caixas de entrada e resolva o endereço normalizado exato antes de
decidir se deve tentar novamente. Solicitações autenticadas com chave de idempotência
têm um limite de corpo de impressão digital de solicitação de 50 MiB; um corpo superdimensionado falha antes
da operação ser executada com 413 idempotency_payload_too_large.
Para uma caixa de entrada somente de verificação, inclua:
{
"settings": {
"agentInbox": {
"mode": "verification",
"automationsEnabled": false
}
}
}
O modo de verificação implicitamente exige uma varredura limpa antes que a classificação de entrada
ou automação baseada em modelo possa ser executada. Uma caixa de entrada padrão pode optar por esse
portão com agentInbox.requireCleanScanForAutomation: true. Quando a varredura é
ignorada ou indisponível, o e-mail permanece entregue e armazenado enquanto
o trabalho baseado em modelo é suprimido.
As respostas da caixa de entrada expõem can_receive e receiving_status para prontidão.
welcome_onboarding_status cobre onboarding de boas-vindas/demonstração e não deve ser usado
como um sinal de prontidão para recebimento. Para uma caixa de entrada de domínio personalizado, os dois campos
de prontidão também refletem o estado atual de verificação do MX de Recebimento do domínio, portanto, um
domínio pronto para envio, mas pendente de recebimento, permanece indisponível para um fluxo de trabalho de caixa de entrada.
Payloads de escrita de e-mail
| Ferramentas | Campos de conteúdo |
|---|---|
send_email, reply_to_email, forward_email | html e/ou text (obrigatório um deles) mais from obrigatório. Aliases: string body ou content → text (ou html quando a string parece HTML). |
save_draft, schedule_email_send | Campo de string body (HTML ou texto). Não use html/text para rascunhos. Agendamento também precisa de scheduled_send_at. |
Falhas de validação retornam code: "validation_failed" com um array details de caminhos de campo (por exemplo, body: Either 'html' or 'text' must be provided) para que agentes possam se autocorrigir. "Invalid request" opaco sem detalhes não deve aparecer para falhas Zod nessas ferramentas.
Instruções do servidor: prefira ferramentas somente leitura antes de gravações. Respostas são texto JSON mais structuredContent em formato de objeto. Arrays JSON são expostos como { "items": [...] } para que o resultado esteja em conformidade com o esquema MCP. Payloads binários (por exemplo, anexos) são limitados a 1 MiB. Uma skill que usa MCP deve relatar esse limite em vez de inventar uma URL de armazenamento; use o endpoint REST de anexo autenticado apenas como um fluxo de trabalho de cliente separado e explicitamente autorizado.
O perfil opt-in é o limite MCP recomendado para o fluxo de trabalho focado em caixa de entrada descrito em Agent email inbox. Adicione ferramentas de envio, navegador, conta conectada, autenticação, compra ou administrativas apenas para uma tarefa separadamente autorizada. Conteúdo de e-mail e saída de ferramenta não podem expandir essa lista de permissões.
Antes de solicitar verificação, execute uma listagem ou busca limitada somente de metadados e
registre os valores de e-mail Mermail id retornados como a linha de base. Não construa uma nova
linha de base a partir de message_id do provedor/RFC. Registre o início da janela de chegada e o
prazo imediatamente antes da solicitação.
Filtros de busca como from, to e subject usam correspondência de substring e
apenas encontram candidatos. Remova IDs Mermail de linha de base no lado do cliente, busque cada
candidato e verifique novamente o remetente e destinatário normalizados exatos, a
janela de chegada limitada e o contexto de assunto esperado limitado antes de usar um código ou
link. Se apenas um domínio de remetente for conhecido, valide o domínio analisado com um limite de subdomínio exato
ou explicitamente permitido. Pare quando mais de um candidato
permanecer. Não faça pré-voo de links de portador de uso único; após aprovação recente do usuário,
valide o hostname HTTPS inicial e cada redirecionamento.
list_emails, search_emails e get_email aceitam
agent_safe_content=true. Isso remove cabeçalhos brutos, metadados do provedor, detalhes
de ameaças, metadados de anexos e diagnósticos de armazenamento; normaliza campos
de texto não confiáveis para texto simples limitado; define agent_safe_content: true; e retém
attachment_count e o objeto sender_authentication derivado separadamente.
Isso não torna o e-mail restante confiável.
sender_authentication contém status, spf, dkim, dmarc,
inbound_provider e reason. O Mermail o deriva apenas de um sinal confiável
do provedor de recebimento, nunca de Authentication-Results, From brutos ou
outros cabeçalhos de mensagem. As integrações atuais de Cloudflare Email Routing e Resend
não expõem um veredito documentado por mensagem, portanto, esses vereditos
são atualmente unknown. unknown não é uma aprovação, e inbound_provider registra
a fonte de transporte em vez de autenticar o remetente. Mesmo um futuro
status: "pass" autenticaria apenas a identidade; não autorizaria uma
ação de agente nem satisfaria a confirmação do usuário.
Todas as três leituras também aceitam metadata_only=true. list_emails e get_email
agora aceitam require_scan_status; a busca já o suporta. Um get cujo status
armazenado não corresponde retorna metadados seguros com content_omitted: true, enquanto
list/search excluem mensagens não correspondentes. get_email adicionalmente aceita um max_body_chars positivo; quando ele
encurta o corpo, a resposta define content_truncated: true e
body_original_char_count. A mensagem armazenada permanece inalterada, e o teto
efetivo do servidor é de 100.000 caracteres.
O perfil MCP agent-inbox aplica projeções mais estritas mecanicamente:
list_emails e search_emails forçam metadata_only=true,
require_scan_status=clean e agent_safe_content=true; get_email força
require_scan_status=clean, agent_safe_content=true e
max_body_chars=12000. Esses portões substituem valores de chamador mais fracos apenas dentro
do perfil opt-in. O catálogo padrão /mcp e a API Sold direta mantêm seus
padrões existentes de resposta completa. O perfil também limita um resultado de ferramenta JSON a
128.000 caracteres. Um erro de ferramenta response_too_large significa que o chamador deve
reduzir os filtros ou diminuir o tamanho da página.
Após selecionar uma mensagem inequívoca, get_email_context retorna essa
mensagem mais uma página limitada, sanitizada, com gate de varredura e ordenada do mais antigo para o mais novo de sua thread.
Use o next_cursor opaco apenas quando contexto mais antigo for necessário. Não use
contexto de thread para resolver ambiguidade entre mensagens candidatas ou ampliar a
tarefa autorizada.
Uma espera explicitamente escopada em uma caixa de entrada existente pode usar include_held=true para
ver uma mensagem temporariamente retida para processamento de rascunho automático. Não use
include_held para navegação ampla na caixa de entrada. Se um candidato somente de metadados estiver retido
e você precisar do conteúdo dele mais tarde, busque o mesmo id Mermail, remova apenas
metadata_only e retenha include_held=true. get_email é somente leitura e
não marca a mensagem como lida.
O cabeçalho From e scan_status: "clean" são sinais de correlação e segurança de conteúdo.
Nenhum deles autentica o remetente, autoriza uma ação ou substitui um
ponto de verificação de confirmação humana. Apenas um
sender_authentication.status: "pass" explícito pode ser descrito como autenticado;
unknown permanece apenas como contexto correspondente.
Aviso
O MCP expõe capacidades, mas não substitui a política de segurança do host. ChatGPT, Claude, Codex ou outro host pode exigir que o usuário conclua criação de conta, autenticação, checkout ou pagamento.
Ações destrutivas
delete_email / bulk_delete_emails: rascunhos comuns são sempre excluídos permanentemente
(banco de dados + armazenamento de blobs) e nunca vão para a Lixeira — correspondendo ao
"Descartar" no aplicativo. Outras mensagens vão para a lixeira por padrão, a menos que você
passe permanent=true (ou body.permanent: true para exclusão em massa). Rascunhos agendados
são cancelados no local, a menos que a exclusão permanente seja forçada. Não há uma ferramenta
MCP separada discard_draft; use delete_email no ID do rascunho (ou peça ao agente
de caixa de entrada via chat_with_mailbox_agent para descartá-lo).
Ferramentas Mermail destrutivas (remover membro, excluir domínio/e-mail/pasta/rótulo/conversa/triager, exclusão em massa, esvaziar lixeira, …) exigem um token de confirmação de curta duração. A exclusão do workspace não é exposta:
- Chame
prepare_destructive_actioncom:action— o nome da ferramenta destrutivaarguments— os mesmos argumentos que você passará para essa ferramenta (semconfirmationToken)
- Receba
{ confirmationToken, expiresInSeconds }(prefixo do tokenmcp_confirm_, TTL 5 minutos, uso único, com suporte a Redis). - Chame a ferramenta destrutiva com esses argumentos mais
confirmationToken.
Se o token estiver ausente, expirado, reutilizado ou a impressão digital dos argumentos não corresponder, a ferramenta retorna um erro (confirmation_required) e não atinge a API.
Esse mecanismo não se aplica a paybox_*, aliases PayBox somente para aplicativos, ou às ferramentas de compatibilidade de transferência da Agent Wallet descontinuadas. Essas chamadas vão diretamente para o PayBox após o Mermail verificar a associação atual ao workspace; as ferramentas legadas de wallet também verificam a propriedade.
Aviso
Confirmações exigem Redis. Se o Redis/cache estiver desabilitado,
prepare_destructive_actionfalha com503confirmation_unavailable.
Solução de problemas
Ferramenta não encontrada ou Finding tools
Um erro como Tool 'Mermail:list_emails' not found seguido por
Finding tools geralmente significa que o host não carregou a referência qualificada da ferramenta
na conversa atual, ou está usando um catálogo de ferramentas em cache. Isso
não significa por si só que o Mermail removeu a ferramenta de protocolo list_emails.
Para Claude:
- Deixe uma etapa
Finding toolsterminar e tente a leitura novamente uma vez. - Na conversa atual, abra Conectores → Acesso a ferramentas e torne o Mermail Sempre disponível quando precisar dele de forma consistente.
- Confirme que o Mermail está habilitado para essa conversa.
- Para verificação ou leituras de caixa de entrada, prefira
https://console.mermail.app/mcp?profile=agent-inbox. Seu catálogo de 12 ferramentas reduz a descoberta adiada de ferramentas. - Se você alterou a URL ou o Claude reteve um esquema mais antigo, remova o Mermail em Personalizar → Conectores, adicione-o novamente com a URL pretendida, conclua o OAuth e inicie uma nova conversa.
Para outro IDE ou host MCP, reconecte ou recarregue o servidor/plugin MCP, limpe
as definições de ferramentas MCP em cache quando o host expuser esse controle e inicie uma nova
sessão. Inspecione a visualização tools/list do host antes de tentar novamente. Mantenha o nome
da ferramenta list_emails; não contorne um cache do cliente renomeando a
ferramenta ou adicionando um alias de servidor específico do host.
Após a descoberta ser bem-sucedida, verifique os argumentos da chamada de forma independente. Em
particular, query deve ser um objeto e a ordenação do mais recente primeiro usa
sortColumn: "date" mais sortDirection: "DESC".
| Resultado | O que verificar |
|---|---|
Tool '<namespace>:list_emails' not found / Finding tools | Recarregue as ferramentas do conector para a conversa atual e confirme que o nome simples descoberto é list_emails. Use o perfil focado para trabalho de leitura/verificação e o perfil padrão somente quando ferramentas mais amplas forem necessárias. |
401 | Conclua a autenticação OAuth novamente e siga o desafio WWW-Authenticate Protected Resource Metadata, ou verifique se x-api-key contém uma chave válida e não revogada. Cookies de console não autenticam MCP. |
403 | Confirme o escopo do workspace e a função da credencial. Ferramentas de domínio personalizado restritas a desenvolvedores retornam 403 em workspaces Free. |
413 idempotency_payload_too_large | Uma solicitação autenticada com Idempotency-Key excedeu o limite de impressão digital de 50 MiB. Reduza o corpo antes de tentar novamente; a operação não foi executada. |
400 email_send_recipient_limit_exceeded | Um envio externo Free excede 10 destinatários To+Cc+Bcc no total. Não divida nem altere silenciosamente o payload; exija uma nova aprovação exata de destinatário. |
429 | O RPM do workspace ou a janela de destinatários de e-mail externos foi excedida. Apresente Retry-After; nunca tente novamente automaticamente uma escrita do tipo envio. As janelas de destinatários Free são 10/minuto, 50/hora e 200/dia. |
429 email_send_rate_limit_exceeded | Pare após a única chamada e apresente Retry-After. Uma entrega agendada pode ser restaurada para scheduled e adiada; não a relate como enviada nem crie outro agendamento. |
503 email_send_rate_limit_unavailable | O envio externo falha de forma segura porque o limitador de destinatários está indisponível. Não alterne credenciais/superfícies nem afirme a entrega. |
response_too_large | Reduza os filtros, diminua o tamanho da página ou reduza max_body_chars. O perfil da caixa de entrada do agente limita um resultado JSON de ferramenta a 128.000 caracteres. |
503 confirmation_unavailable | A confirmação de ação destrutiva baseada em Redis está indisponível. Não chame a ferramenta destrutiva; restaure Redis/cache e prepare uma nova confirmação. |
400 paybox_amount_requires_decimal / paybox_amount_scale_mismatch | Uma transferência de catálogo enviou unidades base. Reenvie com o valor humano em amount_decimal e sem amount. Consulte transferências de tokens de catálogo. |
400 paybox_amount_below_dust_floor | Mermail tem um preço unitário confiável e a transferência implica menos de cerca de US$ 0,01. Peça ao usuário um valor de pelo menos US$ 0,01 e tente novamente com esse amount_decimal. Consulte erros e recuperação. |
400 paybox_amount_value_mismatch | O valor USD implícito discorda de value_cents. Reafirme o valor ou corrija value_cents. |
409 agent_approval_asset_missing | O cartão de aprovação é anterior à correção de transferência de ativos. Inicie uma nova transferência para que um novo cartão seja criado. |
503 agent_approval_persist_timeout | Mermail não conseguiu registrar a aprovação a tempo. Não envie novamente; verifique primeiro o status da solicitação. |
502 paybox_tool_error | PayBox rejeitou a operação e Mermail encaminha um motivo sanitizado, como um nonce muito baixo. Inicie um novo paybox_request_transfer em vez de reutilizar a solicitação estacionada. |
502 paybox_upstream_uncertain | O resultado do envio é desconhecido. Nunca tente novamente automaticamente; verifique com PayBox e a rede de destino. |
422 paybox_signing_unsupported | A continuação do MCP App não pode usar com segurança o plano de assinatura retornado. Pare; não exponha o plano nem tente novamente/substitua o pagamento. |
paybox_continuation_origin_not_found | O PayBox Submit falhou porque a continuação da assinatura não tinha pay_x402 / transferência / origem de swap. Não aguardando assinatura. Reconcilie paybox_get_request uma vez; se a origem estiver ausente, aguarde um novo paybox_pay_x402 autorizado. Não chame reopen_signing_window. Consulte erros e recuperação. |
Host vazio tools/list para paybox_* | Sempre tools/call get_paybox_connection uma vez antes de qualquer cópia de reconexão MCP. A ausência da lista não é "não exposto". Reconecte somente após essa chamada retornar ferramenta desconhecida, método não encontrado ou falha grave. |
OWNER_ACTION_REQUIRED em get_paybox_connection.status | Um membro não pode reparar a conexão compartilhada do proprietário. Peça ao proprietário do workspace para conectar/reautorizar o PayBox no Mermail; nenhuma transferência é retornada. |
PAYBOX_UNAVAILABLE em connection.status | PayBox não respondeu a essa leitura. A conexão delegada ainda está ativa, então leia novamente mais tarde em vez de reconectar. |
Catálogo de ferramentas
No momento da publicação, uma sessão com chave de API expõe 72 ferramentas:
prepare_destructive_action mais 71 wrappers da API Sold. Sessões OAuth de perfil completo
com mcp:tools principal podem expor ferramentas adicionais do PayBox além
dessa linha de base. O catálogo ao vivo depende do runtime e é aditivo; não
fixe seu total. Agrupado por área:
Estes acessam caminhos REST restritos a desenvolvedores. Workspaces Free recebem `403` quando a ferramenta é executada.
`list_workspace_mailboxes`, `list_mailboxes`, `create_mailbox`, `get_mailbox`, `update_mailbox_settings`, `get_mailbox_storage`
`list_emails`, `send_email`, `get_email`, `get_email_context`, `update_email`, `delete_email`, `bulk_delete_emails`, `bulk_mark_emails_read`, `bulk_move_emails`, `move_email`, `reply_to_email`, `forward_email`, `download_attachment`, `save_draft`, `regenerate_draft`, `schedule_email_send`, `empty_trash`, `get_thread`, `mark_thread_read`, `list_folders`, `create_folder`, `update_folder`, `delete_folder`, `search_emails`, `list_custom_labels`, `create_custom_label`, `update_custom_label`, `delete_custom_label`
`list_agent_conversations`, `create_agent_conversation`, `rename_agent_conversation`, `delete_agent_conversation`, `list_agent_messages`, `chat_with_mailbox_agent`, `list_task_triagers`, `create_task_triager`, `list_recent_triager_runs`, `update_task_triager`, `delete_task_triager`, `set_default_task_triager`, `get_or_create_triager_conversation`
`list_composio_toolkits`, `connect_composio_toolkit`, `disconnect_composio_toolkit`, `list_composio_connections`, `sync_composio_connections`, `search_composio_tools`, `get_composio_tool_schema`, `execute_composio_tool`, `get_composio_calendar_account`
Catálogo completo apenas. Conecte aplicativos de terceiros (Apollo, GitHub, Slack, Calendar e outros) e depois pesquise e execute ferramentas. Os kits de ferramentas Composio do Gmail e Outlook permanecem desativados. Consulte [Composio](/integrations/composio).
Os membros atuais do workspace podem receber `get_paybox_connection`, `get_paybox_invocation`, recursos do MCP App e o catálogo ao vivo `paybox_*` visível ao modelo por meio da conexão ativa do proprietário. Os proprietários também recebem `get_agent_wallet`, ferramentas legadas de credenciais/portfólio/solicitações, transferências de conexão e aliases de compatibilidade obsoletos de proposta/envio/rejeição.
Não disponível para chaves de API ou perfil de caixa de entrada do agente. Requer o núcleo `mcp:tools`; os rótulos legados `wallet:read` / `wallet:transact` são apenas de compatibilidade. Os membros usam a identidade de invocação para auditoria enquanto o PayBox executa por meio da conexão do proprietário. Somente proprietários podem conectar/reautorizar ou usar ferramentas legadas de carteira. URLs de Checkout / MoonPay permanecem apenas no navegador (`[redacted]`); use os `funding_handoff.console_url` retornados para Funding, `signing_handoff.console_url` para transferências pendentes e `connect_handoff` / `reauth_handoff` exclusivos do proprietário para reparo do PayBox dentro do Mermail — nunca hospede configurações de conector. Hosts compatíveis renderizam os recursos `ui://` do PayBox inline; outros hosts recebem uma transferência autenticada pelo navegador. Credenciais secretas e planos de assinatura permanecem apenas no navegador. Se um resultado x402 do terminal incluir `x_payment`, trate-o como prova de pagamento sensível: use-o apenas para repetir o recurso pago exato e nunca cite, registre, persista ou exponha. Consulte [Agent Wallet](/agent-wallet/overview).
Use `paybox_request_transfer` para cada nova transferência, incluindo USDC e ativos nativos; use `paybox_request_swap` para trocas de tokens; use `paybox_pay_x402` apenas para um recurso/ação paga selecionada pelo usuário e limite de gasto exato. Não pague com `paybox_use_service` — essa ferramenta é `mode: "probe"` não paga apenas quando o esquema ao vivo a possui. Linhas do catálogo ao vivo, como `paybox_discover_services` e `paybox_get_contract`, podem aparecer sem uma linha de cobertura separada. Leia cada esquema ao vivo em vez de reutilizar campos legados de proposta. Consulte [transferências de tokens do catálogo](/agent-wallet/catalog-transfers) e [trocas e x402](/agent-wallet/swaps-and-x402).
`prepare_destructive_action` — emite tokens de confirmação para ferramentas destrutivas de caixa de entrada, workspace e administrativas do Mermail; não se aplica ao PayBox
Ferramentas de mundo aberto (e-mail de saída / convites / chat de agente) são anotadas como openWorldHint para clientes MCP que exibem esse sinal.
Ferramentas de rótulo personalizado gerenciam definições de classificador (name, linguagem natural
rules e color opcional). Elas não rotulam manualmente um e-mail existente,
reordenam definições ou alternam a detecção de rótulos. update_email altera apenas
o estado de leitura/com estrela; não invente um campo ou ferramenta de atribuição de rótulo.
Para o perfil completo padrão, os clientes devem verificar os nomes de ferramentas necessários em vez de
exigir um total exato. Versões futuras do Mermail podem adicionar ferramentas compatíveis
sem remover ou renomear a linha de base existente. O perfil opcional agent-inbox
permanece o subconjunto exato de 12 ferramentas documentado acima.
Para formas de solicitação/resposta de cada rota HTTP subjacente, use a Referência da API.