The philosophy and practical benefits of agent fungibility in multi-agent software development. Why homogeneous, interchangeable agents outperform specialized role-based systems at scale.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
MCP Agent Mail for multi-agent coordination. Use when agents need file locks, messaging, inboxes, or conflict prevention. Handles macro_start_session, file_reservation_paths, send_message, threading, pre-commit guards.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
실행 점수 미검증
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Core Insight: Without coordination, multiple agents overwrite each other's work. Agent Mail provides identities, messaging, and file reservations to prevent conflicts.
| Situation | Action |
|---|---|
| Starting any agent session | macro_start_session |
| About to edit files | file_reservation_paths → edit → release_file_reservations |
| Need to tell another agent something | send_message with thread_id |
| Picking up someone else's work | macro_prepare_thread |
| Can't message an agent | request_contact → wait for approval |
| Server seems broken | Use health_check() first; CLI-only: doctor check --verbose → doctor repair --yes |
Call this at the start of every agent session:
macro_start_session(
human_key="/abs/path/to/project",
program="claude-code",
model="YOUR_MODEL",
task_description="Working on auth module"
)
Returns: {project, agent, file_reservations, inbox}
This single call: ensures project exists → registers your identity → fetches inbox.
| Task | Tool |
|---|---|
| Bootstrap session | macro_start_session(human_key, program, model, task_description) |
| Send message | send_message(project_key, sender_name, to, subject, body_md) |
| Reply in thread | reply_message(project_key, message_id, sender_name, body_md) |
| Check inbox | fetch_inbox(project_key, agent_name, limit=20) |
| Reserve files | file_reservation_paths(project_key, agent_name, paths, ttl_seconds) |
| Release files | release_file_reservations(project_key, agent_name) |
| Search messages | search_messages(project_key, "query") |
| Macro | When to Use |
|---|---|
macro_start_session | Bootstrap: project → agent → inbox |
macro_prepare_thread | Join existing thread with summary |
macro_file_reservation_cycle | Reserve → work → auto-release |
macro_contact_handshake | Cross-agent contact setup |
| Need | Resource |
|---|---|
| List agents | resource://agents/{project_key} |
| Inbox | resource://inbox/{agent}?project=/abs/path&limit=20 |
| Thread | resource://thread/{thread_id}?project=/abs/path&include_bodies=true |
| Ack-required | resource://views/ack-required/{agent}?project=/abs/path |
file_reservation_paths(
project_key="/abs/path/project",
agent_name="GreenCastle",
paths=["src/auth/**/*.ts"],
ttl_seconds=3600,
exclusive=true,
reason="bd-123"
)
Returns: {granted: [...], conflicts: [...]}
If conflicts exist:
exclusive=falserelease_file_reservations(project_key="/abs/path/project", agent_name="GreenCastle")
Use bead IDs as your threading anchor:
1. Pick work: br ready --json → choose bd-123
2. Reserve files: file_reservation_paths(..., reason="bd-123")
3. Announce: send_message(..., thread_id="bd-123", subject="[bd-123] Starting...")
4. Work: Reply in thread with progress
5. Complete: br close bd-123, release_file_reservations(...), final message
Bead ID (often bd-###) goes in: thread_id, subject prefix, reservation reason, commit message
| Error | Fix |
|---|---|
| "sender_name not registered" | Call macro_start_session first |
| "FILE_RESERVATION_CONFLICT" | Wait, coordinate, or use exclusive=false |
| "CONTACT_BLOCKED" | Use request_contact, wait for approval |
| Empty inbox | Check since_ts, urgent_only, agent name spelling |
| Server unreachable | Use health_check() or resource://config/environment to confirm MCP server is up; if CLI-only, check curl http://127.0.0.1:8765/health |
| Guard blocks commit | Set AGENT_NAME env var; bypass: AGENT_MAIL_BYPASS=1 git commit |
# Quick health check (CLI daemon)
curl http://127.0.0.1:8765/health
# Full diagnostics (CLI)
uv run python -m mcp_agent_mail.cli doctor check --verbose
# Preview repairs (dry run, CLI)
uv run python -m mcp_agent_mail.cli doctor repair --dry-run
# Apply repairs (CLI)
uv run python -m mcp_agent_mail.cli doctor repair --yes
Agents get adjective+noun names: GreenCastle, BlueLake, RedBear.
Best practice: Omit name parameter to auto-generate valid names.
register_agent(
project_key="/abs/path/project",
program="claude-code",
model="YOUR_MODEL",
task_description="Auth refactor"
) # name auto-generated
Send urgent messages to agents from the web UI at http://127.0.0.1:8765/mail:
importance: urgentAgents see urgent messages via fetch_inbox(..., urgent_only=true).
install_precommit_guard(project_key="/abs/path", code_repo_path="/abs/path")
AGENT_NAME env var so guard knows who you areAGENT_MAIL_BYPASS=1 git commit -m "fix"AGENT_MAIL_GUARD_MODE=warn"exact phrase"
prefix*
term1 AND term2
term1 OR term2
(auth OR login) AND NOT admin
| Topic | Reference |
|---|---|
| All MCP tools | TOOLS.md |
| Workflow patterns | WORKFLOWS.md |
| MCP resources | RESOURCES.md |
| Cross-project setup | CROSS-PROJECT.md |
| Doctor & recovery | RECOVERY.md |
| Installation | INSTALL.md |
| Fix MCP config | FIX-MCP-CONFIG.md |
| Product bus, build slots, internals | ADVANCED.md |
# Server health
curl http://127.0.0.1:8765/health
# → {"status": "healthy"}
# Start server if needed
am
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
The philosophy and practical benefits of agent fungibility in multi-agent software development. Why homogeneous, interchangeable agents outperform specialized role-based systems at scale.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Jeffrey Emanuel's multi-agent implementation workflow using NTM, Agent Mail, Beads, and BV. The execution phase that follows planning and bead creation. Includes exact prompts used.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Convert markdown plans into beads with dependencies using br CLI. Use when creating task graphs, polishing beads before implementation, or bridging planning to agent swarm execution.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Beads Viewer - Graph-aware triage engine for Beads projects. Computes PageRank, betweenness, critical path, and cycles. Use --robot-* flags for AI agents.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Manage AI coding CLI accounts with sub-100ms switching. Use when hitting rate limits on Claude Max, GPT Pro, or Gemini Ultra subscriptions and need instant account swapping without browser OAuth.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Mine past agent sessions for working prompts, decisions, and patterns. Use when "what did I ask?", "find that prompt", session archaeology, or agent history.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.