Skip to main content
Glama
darwinz

WorkMail MCP Server

by darwinz

WorkMail MCP 서버

Claude Desktop을 Amazon WorkMail에 연결하여 안전한 로컬 stdio 전송을 통해 이메일 및 캘린더 액세스를 제공하는 MCP(Model Context Protocol) 서버입니다.

기능

도구

설명

list_emails

페이지 매김을 사용하여 모든 폴더의 이메일 나열

read_email

ID별로 전체 이메일 내용 읽기

search_emails

AQS 쿼리 구문을 사용하여 이메일 검색

send_email

이메일 전송 (명시적 확인 필요)

list_calendar_events

날짜 범위 내의 캘린더 이벤트 나열

get_calendar_event

ID별로 전체 이벤트 세부 정보 가져오기

create_calendar_event

캘린더 이벤트 생성 (명시적 확인 필요)

Related MCP server: Gmail & Calendar Multi-Account MCP Server

보안

  • 자격 증명은 macOS 키체인(Apple Silicon에서 하드웨어 암호화됨)에 저장되며, 구성 파일이나 환경 변수에는 절대 저장되지 않습니다.

  • 전송은 stdio(로컬 파이프)를 사용하며, HTTP 서버나 열린 포트가 없습니다.

  • 통신 암호화는 WorkMail EWS 엔드포인트에 대한 HTTPS/TLS를 통해 이루어집니다.

  • 입력 유효성 검사는 Zod 스키마를 통해 모든 도구 호출에서 수행됩니다.

  • 출력 삭제는 모든 응답 및 오류 메시지에서 자격 증명 값을 삭제합니다.

  • 속도 제한은 무분별한 요청 루프를 방지합니다(구성 가능, 기본값 분당 30회).

  • 쓰기 보호 — send_email 및 create_calendar_event는 confirm: true 매개변수가 필요합니다.

사전 요구 사항

  • macOS (자격 증명 저장을 위해 키체인 사용)

  • Node.js 20 이상

  • 사용자 이름/비밀번호 인증을 사용하는 Amazon WorkMail 계정

설정

1. 종속성 설치

git clone https://github.com/your-username/workmail-mcp-server.git
cd workmail-mcp-server
npm install

2. 환경 구성

cp .env.example .env

WorkMail이 다른 리전에 있는 경우 .env를 편집하세요:

WORKMAIL_MCP_EWS_ENDPOINT=https://ews.mail.us-west-2.awsapps.com/EWS/Exchange.asmx

EWS 엔드포인트는 https://ews.mail.<region>.awsapps.com/EWS/Exchange.asmx 패턴을 따릅니다. 일반적인 리전: us-east-1, us-west-2, eu-west-1.

3. 자격 증명 저장

npm run setup-credentials

이 명령은 WorkMail 이메일과 비밀번호를 입력받아 macOS 키체인에 저장하고 연결을 확인합니다.

4. 빌드

npm run build

5. Claude Desktop에 등록

Claude Desktop 구성(~/Library/Application Support/Claude/claude_desktop_config.json)에 다음을 추가하세요:

{
  "mcpServers": {
    "workmail": {
      "command": "node",
      "args": ["/absolute/path/to/workmail-mcp-server/dist/index.js"]
    }
  }
}

Claude Desktop을 다시 시작하세요. WorkMail 서버가 연결된 것으로 표시되어야 합니다.

구성

모든 설정은 선택 사항이며 적절한 기본값이 있습니다. .env 또는 환경 변수로 설정하세요:

변수

기본값

설명

WORKMAIL_MCP_EWS_ENDPOINT

https://ews.mail.us-west-2.awsapps.com/EWS/Exchange.asmx

WorkMail EWS 엔드포인트 URL

WORKMAIL_MCP_MAX_EMAILS

25

요청당 반환되는 최대 이메일 수 (1-100)

WORKMAIL_MCP_MAX_CALENDAR_DAYS

30

일 단위 최대 캘린더 날짜 범위 (1-90)

WORKMAIL_MCP_RATE_LIMIT

30

분당 최대 요청 수 (1-60)

WORKMAIL_MCP_LOG_LEVEL

info

로그 상세 수준: error, warn, info, debug

claude_desktop_config.json에 설정된 환경 변수가 .env보다 우선합니다.

사용법

연결되면 Claude Desktop에 WorkMail과 상호 작용하도록 요청하세요:

  • "최근 이메일 나열해 줘"

  • "Q3 보고서에 관한 Sarah의 이메일 읽어 줘"

  • "배포에 관한 메시지를 받은 편지함에서 검색해 줘"

  • "이번 주에 어떤 회의가 있지?"

  • "team@example.com으로 상태 업데이트에 관한 이메일 보내 줘"

  • "내일 오후 2시에 Alex와 회의 생성해 줘"

개발

# Run directly from TypeScript (no build step)
npm run dev

# Rebuild after changes
npm run build

# Re-run credential setup
npm run setup-credentials

로그는 JSON 형식으로 stderr에 기록됩니다. Claude Desktop을 통해 실행하는 동안 로그를 확인하려면 Claude Desktop의 개발자 도구에서 MCP 서버 로그를 확인하세요.

아키텍처

Claude Desktop  <──stdio──>  MCP Server (Node.js)
                                  │
                                  ▼
                            EWS Client Layer
                                  │
                                  ▼
                  Amazon WorkMail (Exchange Web Services)

이 서버는 Amazon WorkMail에서 지원하는 버전인 Exchange2010_SP2 호환성 수준에서 EWS 프로토콜을 사용합니다.

라이선스

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Integrates mailbox.org email and calendar services with Claude, enabling email search, composition, management, calendar access, and Sieve email filter configuration through a secure, locally-hosted interface.
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Connects Claude Desktop to a local email client, enabling AI-powered email reading, searching, drafting, and organization while preventing sending or permanent deletion.
    1
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    A local MCP server that connects multiple Gmail accounts and Google Calendars to Claude Desktop, enabling email and calendar operations via natural language.
    -