Skip to main content
Glama

Gmail MCP 서버

Gmail API 통합을 위한 MCP(Model Context Protocol) 서버 구현으로 AI 어시스턴트가 Gmail 서비스와 상호 작용할 수 있습니다.

특징

핵심 기능

  • 이메일 운영

    • 고급 필터링으로 이메일 나열

    • 전체 내용이 포함된 특정 이메일을 읽어보세요

    • 새로운 이메일을 만들고 보내세요

  • 초안 관리

    • 새로운 초안 만들기

    • 기존 초안 나열

    • 초안 내용 읽기

    • 초안 내용 및 수신자 업데이트

    • 초안 삭제

  • 캘린더 작업

    • 예정된 캘린더 이벤트 나열

    • 자세한 이벤트 정보를 읽어보세요

    • 새 캘린더 이벤트 만들기

    • 이벤트 필터링 및 검색

    • 시간대 지원

    • iOS 캘린더 동기화 지원

검색 및 필터링

  • Gmail 검색어 지원

  • 레이블 기반 필터링

  • 사용자 정의 가능한 결과 제한

  • 캘린더 이벤트 검색 기능

보안

  • Google OAuth2.0 통합

  • 보안 자격 증명 관리

  • 토큰 처리 새로 고침

  • 다중 범위 권한 지원

Related MCP server: Enhanced Gmail MCP Server

빠른 시작

필수 조건

  • Node.js(v14 이상)

  • npm(v6 이상)

  • Gmail 및 캘린더 API가 활성화된 Google Cloud Platform 계정

  • 적절한 범위를 갖춘 OAuth 2.0 자격 증명

설치

  1. 종속성을 복제하고 설치합니다.

    지엑스피1

  2. 환경 구성:

    # Create .env file cp .env.example .env # Add your credentials: GOOGLE_CLIENT_ID="your_client_id" GOOGLE_CLIENT_SECRET="your_client_secret" REDIRECT_URI="http://localhost:4100/code" GOOGLE_REFRESH_TOKEN="your_refresh_token"
  3. 빌드하고 실행:

    npm run build npm start

개발

사용 가능한 스크립트

  • npm run dev - watch 모드로 빌드하고 실행

  • npm run build - 프로젝트 빌드

  • npm run clean - 빌드 아티팩트 정리

  • npm run watch - 변경 사항 확인

프로젝트 구조

gmail-mcp-server/ ├── src/ │ ├── config/ # Configuration and setup │ ├── services/ # Core business logic │ │ ├── gmail/ # Gmail services │ │ └── calendar/ # Calendar services │ ├── tools/ # MCP tool implementations │ │ ├── calendar/ # Calendar tools │ │ ├── drafts/ # Draft management tools │ │ └── messages/ # Email tools │ ├── types/ # TypeScript definitions │ └── index.ts # Server entry point ├── dist/ # Compiled JavaScript └── tests/ # Test files (pending)

API 인터페이스

메시지 목록

listEmails({ maxResults?: number, // Default: 10 query?: string, // Gmail search query labelIds?: string[], // Filter by labels verbose?: boolean // Include details })

메시지 읽기

readEmail({ messageId: string // Message ID to fetch })

초안 작업

// List Drafts listDrafts({ maxResults?: number, // Default: 10 query?: string, // Search query verbose?: boolean // Include details }) // Read Draft readDraft({ draftId: string // Draft ID to fetch }) // Create Draft draftEmail({ to: string[], subject: string, body: string, cc?: string[], bcc?: string[], isHtml?: boolean }) // Update Draft updateDraft({ draftId: string, // Draft ID to update to?: string[], // New recipients cc?: string[], // New CC recipients bcc?: string[], // New BCC recipients subject?: string, // New subject body?: string, // New body content isHtml?: boolean // Content type flag }) // Delete Draft deleteDraft({ draftId: string // Draft ID to delete })

이메일 보내기

sendEmail({ to: string[], subject: string, body: string, cc?: string[], bcc?: string[], isHtml?: boolean, draftId?: string // Optional: send existing draft })

캘린더 작업

// List Events listEvents({ maxResults?: number, // Default: 25 timeMin?: string, // Start time (ISO 8601) timeMax?: string, // End time (ISO 8601) query?: string, // Text search term timeZone?: string // Default: Australia/Brisbane }) // Read Event Details readEvent({ eventId: string, // Event ID to fetch details timeZone?: string // Default: Australia/Brisbane }) // Create Event createEvent({ summary: string, // Event title start: { dateTime: string, // ISO 8601 start time timeZone?: string // Start time timezone }, end: { dateTime: string, // ISO 8601 end time timeZone?: string // End time timezone }, description?: string, // Optional event description location?: string, // Optional event location attendees?: Array<{ // Optional attendees email: string, displayName?: string, optional?: boolean }>, status?: 'confirmed' | 'tentative' | 'cancelled', sendNotifications?: boolean })

오류 처리

서버는 다음에 대한 포괄적인 오류 처리를 구현합니다.

  • 인증 실패

  • API 속도 제한

  • 잘못된 요청

  • 네트워크 문제

  • 캘린더 동기화 문제

  • 이벤트 ID 검증

  • 시간대 검증

기여하다

자세한 내용은 CONTRIBUTING.md를 참조하세요.

변경 사항

버전 기록과 업데이트는 CHANGELOG.md에서 확인하세요.

로드맵

계획된 기능과 개선 사항은 Backlog.md를 참조하세요.

특허

MIT 라이센스 - 자세한 내용은 라이센스를 참조하세요.

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zacco16/gmail-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server