MCP

DearAgent: AI 에이전트에 셀프 호스팅 이메일을 제공하는 MCP 서버

AI 에이전트가 인증 메일을 자동으로 수신하거나 전용 이메일을 관리하게 하려면 DearAgent가 가장 적합하지만, Cloudflare 계정과 전용 최상위 도메인을 갖추고 셀프 호스팅을 감수할 것을 전제로 하며, 수신은 무료이고 발송에는 Workers Paid가 필요합니다.

Official source · panda-sandeep/dearagent

Install

git clone https://github.com/panda-sandeep/dearagent && cd dearagent
npm install
npm run setup

DearAgent는 Cloudflare Workers에 셀프 호스팅되는 AI 에이전트용 이메일 API로, 메일은 D1에, 첨부 파일은 R2에 저장하며 오픈소스 AgentMail 대안으로 포지셔닝되어 있고, Worker의 /mcp 엔드포인트를 통해 스테이트리스 Streamable HTTP MCP 서버를 노출합니다.

누구에게 적합한가

  • AI 에이전트에 실제 수신 기능을 갖추고 싶은 개발자에게 적합합니다: 전형적인 흐름은 수신함 생성 → 인증 메일 대기 → 인증 링크 읽기입니다.
  • 전제 조건이 명확합니다: Cloudflare 계정, Cloudflare Email Routing용 전용 최상위 도메인, Node 20+ 그리고 npx wrangler login 실행이 필요합니다. 메일 수신은 무료이며, 메일 발송 시에만 Workers Paid가 필요합니다.
  • API와 MCP는 동일한 API_KEY를 유일한 bearer 토큰으로 사용하며, 하나의 키가 모든 권한을 갖습니다(단일 테넌트). 세분화된 권한 분리가 필요한 다중 사용자 시나리오에는 적합하지 않습니다.
  • 적합하지 않은 경우: 자신의 도메인이 없거나, 셀프 호스팅 배포 및 유지보수 책임을 감수할 수 없거나, 다중 테넌트 권한 분리가 필요한 사용자입니다. 공식 자료에서 언급되지 않은 사항(예: 데이터 보존, 삭제 정책)은 미확인이므로 직접 확인하세요.

3분 만에 첫 시도 완료하기

공식이 권장하는 유일한 메인 경로는 저장소를 클론한 뒤 대화형 설치 스크립트를 실행하는 것으로, 이 스크립트는 D1, R2, 시크릿, Email Routing/Sending을 자동 구성하고 배포를 완료한 뒤 catch-all 규칙을 생성합니다:

git clone https://github.com/panda-sandeep/dearagent && cd dearagent
npm install
npm run setup

전제 조건: npx wrangler login으로 Cloudflare에 로그인되어 있고, 도메인이 Email Routing에 사용 가능해야 합니다. 스크립트가 필수인 API_KEY 설정을 안내하며(npx wrangler secret put API_KEY로 설정할 수도 있음), 이 키는 API와 MCP의 유일한 bearer 토큰입니다.

첫 호출은 저위험 읽기 전용 도구인 list_inboxes를 권장합니다: MCP 클라이언트에서 Worker의 /mcp 엔드포인트를 가리키고 bearer 키를 포함하도록 구성한 뒤 list_inboxes를 호출하세요. 수신함 목록이 반환되면 배포와 인증이 성공한 것입니다. 이는 셀프 호스팅 서비스이며 원격 제3자 관리형 쓰기가 아님에 유의하세요. create_inbox는 여러분 자신의 D1 데이터베이스에 기록합니다.

메일 수신만 원한다면 Workers Paid가 필요 없습니다. send_message로 메일을 보낼 준비가 되었을 때에만 Workers Paid가 개설되어 있는지 확인하세요. 발송은 실제 외부 메일을 생성하며(MCP 계층에서 취소할 수 없고, Email Sending의 실제 동작에 따라 평가해야 합니다).

사용 사례

사례 1: 에이전트가 가입 인증을 자동으로 완료하도록 하기. create_inbox를 호출해 수신함을 만들고, 해당 주소를 대상 웹사이트의 가입 폼에 입력한 뒤, wait_for_message로 인증 메일 도착을 기다리고 메일 본문에서 인증 링크를 읽습니다. 이는 공식이 설명하는 전형적인 흐름이며, 도구가 반환하는 것은 여러분의 셀프 호스팅 서비스에 있는 실제 메일 내용입니다.

사례 2: 과거 메일 검색. search_messages를 호출해 키워드로 검색하거나, list_threads / get_thread로 스레드를 확인하고, get_message로 특정 메일을 읽고, get_attachment로 첨부 파일을 가져옵니다. 이들은 모두 여러분의 D1/R2에 이미 있는 데이터를 조회하는 쿼리성 작업으로, 에이전트가 이전에 수신한 메일을 조사하기에 적합합니다.

나머지 도구(send_message, reply_to_message, forward_message, list_webhooks, create_webhook 등)는 사용 가능한 도구로 나열되어 있지만, 각각의 파라미터 세부 사항은 자료에 제공되지 않았으므로 사용 전 저장소의 README를 기준으로 확인하세요.

사용 경계

  • 읽기/쓰기 성격: list_*, get_*, search_messages, wait_for_message는 조회류입니다. create_inbox, create_webhook, send_message, reply_to_message, forward_message는 데이터를 기록하거나 실제 발송 동작을 일으키므로 호출 전 확인이 필요합니다.
  • 자격 증명과 데이터: 단일 API_KEY만으로 전체 접근이 가능하므로 신중하게 보관하세요. 모든 메일 데이터는 여러분 자신의 Cloudflare D1/R2에 저장됩니다.
  • 부작용: 메일 발송에는 Workers Paid가 필요하며 실제로 발송됩니다. 공식 자료에는 발송 후 회수 메커니즘이 설명되어 있지 않으므로 취소 가능한 작업으로 간주해서는 안 됩니다.
  • 미확인 사항: 메일 보존 기간, 삭제 도구, 개인정보 처리 세부 사항은 공식 자료에 설명되어 있지 않으며 아직 확인되지 않았으므로, 무위험 판단의 근거가 되지 않습니다.