邮件与表格集成服务

一个集成Gmail和Google Sheets的MCP服务器,用于AI驱动的邮件管理和职位申请跟踪。

  • by dtyutyunik
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dtyutyunik/my-mcp-server

使用说明

MCP服务器-Gmail和谷歌表格集成

一个模型上下文协议(MCP)服务器,将Gmail和Google表格与Claude Desktop集成在一起,实现了人工智能驱动的电子邮件管理和工作申请跟踪。

特性

  • Gmail集成:阅读电子邮件,过滤工作申请,添加/删除标签,创建和更新带有颜色的标签
  • 谷歌表格:读取、写入和列出电子表格
  • Google 云端硬盘:列出驱动器中的所有Google表格
  • 职位申请跟踪:自动检测和跟踪工作申请电子邮件

可用工具

Gmail工具

  • read_emails -阅读过去N天的电子邮件
  • read_job_application_emails -过滤和阅读求职确认电子邮件
  • open_email -在浏览器中打开Gmail电子邮件
  • add_email_label -在电子邮件中添加标签
  • remove_email_label -从电子邮件中删除标签
  • create_label -使用可选颜色创建新的Gmail标签
  • list_labels -列出所有Gmail标签
  • update_label -更新标签名称和/或颜色

谷歌表格工具

  • read_google_sheet -从谷歌表格中读取数据
  • write_google_sheet -将数据写入谷歌表格
  • list_google_sheets -列出电子表格中的所有工作表(选项卡)
  • list_all_google_sheets -列出驱动器中的所有Google表格
  • open_google_sheets -在浏览器中打开Google表格

设置

先决条件

  • Node.js(v18或更高版本)
  • TypeScript
  • 启用API的谷歌云项目
  • 克劳德桌面

安装

  1. 克隆仓库:

    git clone <your-repo-url>
    cd my-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 建立谷歌云项目:

    • 首选 谷歌云控制台
    • 创建新项目或选择现有项目
    • 启用以下API:
      • 谷歌网页API
      • Google Drive API
      • Gmail API
    • 创建OAuth 2.0凭据:
      • 转到API和服务→ 凭证
      • 创建凭据→ OAuth客户端ID
      • 应用程序类型:桌面应用程序
      • 下载JSON文件
  4. 配置OAuth凭据:

    • 将下载的OAuth凭据文件重命名为 credentials.json
    • 将其放置在项目根目录中
    • 不要将此文件提交到Git
  5. 授权应用程序:

    npx tsc
    node authorize.js
    
    • 按照提示授权应用程序
    • 这将创建 token.json (也不支持Git)
  6. 配置Claude桌面:

    • 打开克劳德桌面
    • 前往设置→ 开发者
    • 点击“编辑配置”
    • 添加您的服务器配置:
      {
        "mcpServers": {
          "my-mcp-server": {
            "command": "node",
            "args": [
              "/absolute/path/to/my-mcp-server/index.js"
            ]
          }
        }
      }
      
    • 替换 /absolute/path/to/my-mcp-server/index.js 与你的实际路径
  7. 重新启动克劳德桌面:

    • 完全退出并重新打开
    • 前往设置→ 连接器→ 我的mcp服务器
    • 允许使用您想要使用的工具

用法

阅读求职邮件

问克劳德:

Read my job application emails from the last 5 days and update my job tracker spreadsheet

创建标签

Create a label called "Job Applications" with orange background

更新标签

Update the "Job Applications" label to have a yellow background

Gmail标签颜色

支持以下颜色(使用颜色名称或十六进制代码):

  • 黄色: yellow, #fbe983, #ffeb3b
  • 橙子: orange, #ffad47, #ff9800
  • 红: red, #ea4335
  • 蓝色: blue, #1a73e8
  • 绿色: green, #34a853
  • 紫色: purple, #9c27b0
  • 粉色: pink, #e91e63
  • 凫蓝: teal, #009688

安全说明

  • 永不承诺 token.json 或 credentials.json 到版本控制
  • 这些文件包含敏感的OAuth令牌和凭据
  • 如果意外提交,请立即撤销并重新生成凭据

发展

编译TypeScript

npx tsc

项目结构

my-mcp-server/
├── index.ts              # Main server implementation
├── authorize.ts          # OAuth authorization script
├── package.json          # Dependencies
├── tsconfig.json         # TypeScript configuration
├── credentials.json      # OAuth credentials (not in repo)
└── token.json            # OAuth tokens (not in repo)

故障排除

“Gmail API尚未使用”错误

  • 在Google云控制台中启用Gmail API
  • 等待几分钟,让更改传播

“驱动器API尚未使用”错误

  • 在Google云控制台中启用Google Drive API

身份验证错误

  • 删除 token.json 然后跑 node authorize.js 再次
  • 确保您已在OAuth同意屏幕中将自己添加为测试用户

标签颜色不起作用

  • Gmail只允许特定的预定义颜色
  • 使用颜色名称(黄色、橙色)或支持的十六进制代码
  • 请参阅上面的“Gmail标签颜色”部分

许可证

国际学生委员会