VOOZH about

URL: https://glama.ai/mcp/servers/zacco16/gmail-mcp-server?locale=zh-CN

⇱ Gmail MCP 服务器 by zacco16 | Glama


Gmail MCP 服务器

用于 Gmail API 集成的模型上下文协议 (MCP) 服务器实现,使 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. 克隆并安装依赖项:

    git clone [repository-url]
    cd gmail-mcp-server
    npm install
  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 - 使用监视模式构建并运行

  • 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 许可证 - 详情请参阅许可证

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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