G-MCP:谷歌工作区MCP服务器
一个MCP(模型上下文协议)服务器,用于与谷歌工作区交互,特别是Gmail功能。
特性
- 多工作空间支持:适用于多个Google Workspace帐户
- 域选择:支持具有主域和辅助域的工作区
- 电子邮件阅读:使用查询支持从指定域读取电子邮件
- 草稿创建:在CC/BCC支持下创建电子邮件草稿
设置
先决条件
- 启用薄片的Nix
- 启用Gmail API的谷歌云项目
- 具有域范围委派的服务帐户凭据
安装
- 克隆存储库:
git clone git@monki:das-monki/g-mcp.git
cd g-mcp- 进入开发环境:
nix develop- 设置Google凭据:
- 在Google Cloud Console中创建服务帐户 - 启用Gmail API和Admin SDK API - 将服务帐户密钥下载为 credentials.json - 为服务帐户设置域范围的委派 - 设置环境变量: export GOOGLE_APPLICATION_CREDENTIALS=credentials.json
建筑
构建服务器:
clojure -T:build uber或者使用Nix:
nix build跑步
启动MCP服务器:
clojure -M:run或者运行构建的二进制文件:
./result/bin/g-mcpMCP工具
list-domains
列出经过身份验证的Google工作区中的所有可用域。
参数: 无
退货: 域及其主要状态和验证状态的列表。
read-emails
读取来自指定域的电子邮件。
参数:
domain(string):用于读取电子邮件的域max-results(数字,可选):要返回的最大电子邮件数(默认值:10)query(字符串,可选):用于过滤电子邮件的Gmail搜索查询
退货: 包含元数据和内容的电子邮件列表。
create-draft
在Gmail中创建电子邮件草稿。
参数:
domain(string):用于创建草稿的域to(string):收件人电子邮件地址subject(string):电子邮件主题body(string):电子邮件正文内容cc(字符串,可选):CC收件人bcc(字符串,可选):密件抄送收件人
退货: 草稿ID和确认消息。
配置
服务器需要具有以下范围的Google服务帐户凭据:
https://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.composehttps://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/admin.directory.domain.readonly
发展
运行测试:
clojure -M:test开始REPL:
clojure -M:repl