Skip to main content

AI Mailbox MCP Server — async communication between AI agents

Project description

mcp-master-of-puppets

Servidor MCP para comunicação assíncrona entre agentes de IA via caixas de entrada baseadas em arquivos.

Cada agente (Claude, GPT, Gemini, Deepseek…) tem seu próprio inbox. As mensagens são arquivos .md com frontmatter YAML. Um inbox-index.yaml por inbox mantém o uso da janela de contexto baixo — os agentes leem o índice primeiro e abrem apenas as mensagens relevantes.

Regra de naming dos subagents: o inbox deve seguir o formato agentname-role, com nomes em minúsculas e separados por hífen. Exemplo: claude-backend-senior.

Como funciona

Quando vários agentes de IA trabalham no mesmo projeto, eles não têm como se comunicar diretamente — cada um opera em sua própria sessão, sem memória compartilhada.

Este MCP resolve isso com um sistema de mailbox baseado em arquivos dentro do próprio repositório. Cada agente tem um inbox em .agents/mail/{agent-id}/. As mensagens são arquivos .md com frontmatter YAML. Um inbox-index.yaml por inbox evita que o agente precise abrir todas as mensagens de uma vez — ele lê o índice primeiro, filtra o que é relevante e só então abre as mensagens selecionadas.

O fluxo básico:

  1. Cada agente sabe seu agent-id (ex: claude, gpt, gemini)
  2. Ao iniciar, lê seu inbox e as tasks atribuídas a ele
  3. Executa a tarefa e envia mensagens para os outros agentes via mailbox
  4. Quando tem dúvida ou precisa de permissão, posta na fila review/ para o tech lead
  5. Ao finalizar sem pendências, gera um resumo do ciclo para o tech lead revisar

O resultado é um time de agentes que colabora de forma assíncrona, preserva histórico de decisões e evita conflitos de trabalho paralelo — tudo em arquivos rastreáveis pelo git.

Instalação e execução

uvx mcp-master-of-puppets

Ou com pip:

pip install mcp-master-of-puppets
mcp-master-of-puppets

Configuração no Claude Code

Adicione ao .claude/settings.json do seu projeto:

{
  "mcpServers": {
    "mail-agents": {
      "command": "uvx",
      "args": ["mcp-master-of-puppets"],
      "env": {
        "AGENTS_ROOT": "."
      }
    }
  }
}

AGENTS_ROOT é a raiz do projeto onde .agents/ será criado (padrão: diretório atual).

Configuração no Codex CLI

Adicione ao ~/.codex/config.toml:

[[mcp_servers]]
name = "mail-agents"
command = "uvx"
args = ["mcp-master-of-puppets"]

[mcp_servers.env]
AGENTS_ROOT = "."

Os subagents iniciados com CLI codex sobem com -a never, para não pedir aprovações interativas durante a execução em background.

Estrutura de pastas criada

.agents/
  mail/
    mailbox-rules.md
    all/                 ← broadcasts
    review/              ← fila do tech lead
    codex/               ← líder, se aplicável
    claude-backend-senior/
    gemini-qa/
  tasks/                 ← arquivos de tasks dos agentes

Regra para IDs de subagents

  • Todo subagent deve usar agentname-role, com pelo menos um hífen.
  • São aceitos apenas a-z, 0-9 e -.
  • Exemplos válidos: claude-backend-senior, gemini-qa, codex-frontend.
  • Exemplos inválidos: claude, Claude-QA, worker_1.

Essa validação é aplicada em mailbox_init_session e mailbox_spawn_agents.

Ferramentas disponíveis (16)

Ferramenta Descrição
mailbox_read_inbox Lê o índice do inbox de um agente
mailbox_read_message Abre uma mensagem específica
mailbox_mark_read Marca mensagem como lida
mailbox_send_message Envia mensagem para outro agente
mailbox_send_broadcast Broadcast para múltiplos agentes
mailbox_read_broadcast_inbox Lê o índice do all/ compartilhado
mailbox_read_broadcast Abre uma mensagem de broadcast
mailbox_create_review Posta na fila de revisão do tech lead
mailbox_read_review_inbox Lê o índice da fila de revisão
mailbox_read_review_message Abre uma mensagem da fila de revisão
mailbox_list_tasks Lista tasks de um agente
mailbox_read_task Lê um arquivo de task
mailbox_update_task_status Atualiza status da task e renomeia o arquivo
mailbox_create_task Cria uma nova task
mailbox_list_agents Lista agentes conhecidos (scan das pastas de inbox)
mailbox_read_rules Lê o mailbox-rules.md

Formato das mensagens

DD-MM-YYYY-HHmm-{from}-{to}-{assunto}.md
---
from: gpt
to: claude
date: 19-05-2026 14:30
subject: auth-refactor
status: unread
---

## Contexto
## Arquivos Alterados
## O Que Foi Feito
## Preciso Que Você Revise
## Problemas Encontrados
## Perguntas
## Próxima Ação Sugerida

Publicando atualizações

1. Edite o pyproject.toml e incremente a versão:

version = "0.1.1"

2. Reconstrua e publique no PyPI:

uv build
uv publish --token pypi-SEU_TOKEN

3. Faça commit e crie a tag da release no GitHub:

git add -A
git commit -m "chore: release v0.1.1"
git tag v0.1.1
git push && git push --tags

Após a publicação, usuários que usam uvx mcp-master-of-puppets receberão a versão mais recente automaticamente na próxima execução.

Licença

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_master_of_puppets-0.6.5.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_master_of_puppets-0.6.5-py3-none-any.whl (25.7 kB view details)

Uploaded Python 3

File details

Details for the file mcp_master_of_puppets-0.6.5.tar.gz.

File metadata

  • Download URL: mcp_master_of_puppets-0.6.5.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcp_master_of_puppets-0.6.5.tar.gz
Algorithm Hash digest
SHA256 91f91d27109dd233b305418ad16a9ef50d6fe6c89579deab612d0e0bf8e2d2a7
MD5 d5dec182876b96f74740d55056831ca2
BLAKE2b-256 ac61d9926b06592a4e89c1067bfbddc85c2c2af48737c711b056fc3e9d925486

See more details on using hashes here.

File details

Details for the file mcp_master_of_puppets-0.6.5-py3-none-any.whl.

File metadata

  • Download URL: mcp_master_of_puppets-0.6.5-py3-none-any.whl
  • Upload date:
  • Size: 25.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcp_master_of_puppets-0.6.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0d892d6e3159abac148a4a7d1583450d5ca245d270938095d94cd18f4dd43697
MD5 e4baf478b75b29dcb64e12531d462304
BLAKE2b-256 60f267ba67dd5d478926905ceb4bc9ac84e805d500fd8464470ca0f6972a7ccc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page