MCP

MailFathom: IMAP 메일함을 자체 PostgreSQL에 동기화하는 MCP 검색 서비스

MailFathom은 직접 운영하는 PostgreSQL 메일 사본 위에서 AI가 메일을 검색하고, 전문을 가져오고, 메일 관련 질문에 답하기에 가장 적합합니다. 사용 전 알아둘 점: 메일함은 IMAP으로 자체 데이터베이스에 동기화되며, 표시·초안 작성·발송 같은 쓰기 작업은 기본적으로 꺼져 있고 계정별·자격증명별로 개별 승인해야만 켜집니다.

Official source · MailFathom

Install

git clone https://github.com/fathomise/MailFathom.git
cd MailFathom
scripts/quick-start-compose.sh

누구에게 맞나

MailFathom은 여러 IMAP 메일함을 직접 운영하는 PostgreSQL 데이터베이스에 동기화하고, 그 사본에 인덱스를 만든 뒤 MCP(Model Context Protocol) 도구로 AI에 제공합니다. 이런 분에게 맞습니다:

  • AI에게 메일 검색과 메일 관련 질문 답변을 맡기고 싶지만 웹메일을 반복해서 뒤지고 싶지 않은 사람;
  • 셀프 호스팅 환경이 있어 데이터베이스와 서비스 프로세스를 직접 운영할 수 있는 개인이나 소규모 팀;
  • 데이터 경계를 중시해 메일 사본과 인덱스가 자기 장비에만 남기를 원하는 사용자;
  • IMAP 메일함을 여러 개 갖고 있고 AI가 한곳에서 함께 검색해 주기를 바라는 사람: 여러 계정이 같은 데이터베이스로 동기화됩니다.

사용 전제와 맞지 않는 경우:

  • 관리형 서비스가 아닙니다: PostgreSQL과 MailFathom 자체를 모두 직접 운영하고 유지해야 하므로, 서버 관리를 원하지 않는 분에게는 맞지 않습니다;
  • 증거는 IMAP 메일함 동기화만 다루며, 다른 메일 프로토콜·캘린더·첨부파일 심층 파싱 지원 여부는 언급이 없어 확인되지 않습니다;
  • 표시, 초안 작성, 발송 같은 쓰기 작업은 모두 기본적으로 꺼져 있고, 계정마다·자격증명마다 개별 승인을 해야 켜집니다. 설치하자마자 AI가 메일함을 바로 건드리기를 기대한다면 이 승인 절차부터 받아들여야 합니다.

3분 만에 첫 시도

권장 경로는 하나뿐입니다: 공식 저장소를 복제하고 빠른 시작 스크립트를 실행하세요.

git clone https://github.com/fathomise/MailFathom.git
cd MailFathom
scripts/quick-start-compose.sh

전제: 제어할 수 있는 장비 한 대, 그리고 메일 사본이 직접 운영하는 PostgreSQL에 저장된다는 기본 동작을 받아들이는 것입니다. 스크립트에 필요한 포트, 환경 변수 등 세부 사항은 증거에 명시되지 않았으니 실행 전에 스크립트를 먼저 읽어 확인하세요. 이후 서비스를 MCP로 AI 클라이언트에 연결하면 되며, 연결 설정은 증거에 제시되지 않았으므로 저장소 안내를 따르세요.

첫 호출은 list_accounts를 권합니다: 읽기 도구라서 표시, 초안 작성, 발송 같은 쓰기 동작과는 무관합니다. 성공 신호는 AI가 동기화된 계정 목록을 돌려주는 것입니다. 한 걸음 더 나아가려면 search_emails에 키워드를 넣어 메일을 검색하세요. 결과는 어휘적으로 정렬되며, 임베딩 모델을 설정하면 의미 유사도도 정렬에 반영됩니다.

읽기가 조회하는 것은 어디까지나 데이터베이스에 동기화된 사본입니다. 동기화 주기와 실제 받은편지함과의 시차는 언급이 없어 확인되지 않습니다.

주의: 읽기 전용이 위험 제로는 아닙니다. 읽기 도구는 데이터베이스에 동기화된 모든 메일 내용을 볼 수 있습니다. 어떤 메일함이 사본에 들어가는지, 동기화 범위를 어떻게 통제하는지는 언급이 없어 확인되지 않습니다.

사용 사례

사례 1: 키워드로 오래된 메일 찾기. 상황: 어떤 메일이 특정 단어를 언급했던 것은 기억하지만 받은편지함을 페이지별로 넘기고 싶지 않습니다. 방법: AI에게 search_emails를 호출하게 하고 키워드를 전달합니다. 기대할 수 있는 결과: 어휘 정렬(임베딩 모델 설정 후에는 의미 유사도 포함)된 일치 메일 목록. 전문이 필요하면 get_email_content를 쓰며, 한 번에 최대 열 통의 전체 내용을 가져올 수 있습니다.

사례 2: 여러 메일에 걸친 질문. 상황: “이 건에서 앞뒤로 무슨 얘기가 오갔나”처럼 여러 메일을 종합해야 하는 질문입니다. 방법: ask_mail에 자연어 한 문장으로 질문합니다. 기대할 수 있는 결과: 동기화된 메일에 근거한 답변과, 근거로 삼은 메일을 하나하나 밝힌 인용. 답변이 닿는 범위는 데이터베이스에 동기화된 메일에 따라 정해집니다.

두 사례 모두 읽기 기능만 사용합니다. 표시, 초안 작성, 발송을 하려면 먼저 계정별·자격증명별로 해당 쓰기 권한을 따로 켜야 합니다. 이는 공식 설계이지 고장이 아닙니다.

사용 경계

  • 읽기·쓰기 성격: 읽기 도구(list_accounts, list_emails, search_emails, get_email_content, ask_mail)와 쓰기 작업(표시, 초안 작성, 발송)은 엄격히 분리됩니다. 쓰기 기능은 기본적으로 꺼져 있고, 계정별·자격증명별로 승인해야 켜집니다. 쓰기 작업이 실제 메일함에 작용하는지 로컬 동기화 사본에 작용하는지는 공식 언급이 없어 확인되지 않으며, 되돌리기 경로 제공 여부도 확인되지 않습니다.
  • 자격증명과 데이터: 동기화 대상은 사용자의 IMAP 메일함이며, 사본과 인덱스는 모두 자신의 PostgreSQL에 저장됩니다. IMAP 자격증명을 어떻게 제출·저장하고 암호화되는지는 언급이 없어 확인되지 않습니다.
  • 검색과 답변의 품질 경계: search_emails는 기본적으로 어휘 정렬이며, 의미 유사도는 임베딩 모델을 설정해야 적용됩니다. ask_mail의 답변과 인용은 동기화된 메일 위에 서 있으며, 동기화되지 않은 내용은 물을 수 없습니다.
  • 부작용과 확인 지점: 쓰기 권한을 하나씩 켜는 행위 자체가 숙고해야 할 확인 지점입니다. 정말 필요한 것만 켜세요. 쓰기 작업의 구체적 효과는 증거에 언급이 없으므로, 첫 시도에서는 쓰기 권한을 켜지 말고 읽기 도구만 쓰기를 권합니다.
  • 도구 범위: 공식 설명으로는 스물한 개의 도구가 표면의 전부이며, 그 너머의 기능을 뒷받침하는 증거는 없습니다. “아마 되겠지”로 기대하지 마세요.
  • 확인되지 않은 핵심 정보: 쓰기 작용 위치, IMAP 자격증명 저장 방식, 빠른 시작 스크립트 외의 설치 방법, 구체적 설정 항목과 성능 상한, 동기화 빈도는 증거가 다루지 않습니다. 라이선스 종류는 AGPL-3.0-only(출처 제목 표기)이며 전문은 수록되지 않았으니, 공식 저장소를 기준으로 하세요.