Google Drive MCP服务器:文件管理

流行MCP服务器专题 · AI管理的Google Drive文件系统

专题:流行MCP服务器系统学习

关键词:MCP, MCP服务器, Model Context Protocol, Google Drive, 云存储, 文件管理, 文档协作, Google Docs, 文件共享

一、Google Drive MCP服务器概述

Google Drive MCP服务器是Model Context Protocol(MCP)生态中的重要一员,它让AI助手能够直接操作Google Drive云存储服务。通过这个MCP服务器,AI可以像人类一样浏览Google Drive中的文件和文件夹、上传和下载文档、创建和编辑Google Workspace文档(Docs、Sheets、Slides),甚至管理文件共享权限。

这个MCP服务器的核心价值在于将AI的能力与Google Drive的强大云存储和协作功能无缝连接。对于日常需要处理大量文档的用户来说,它大大减少了手动操作的时间。无论是整理文件、搜索特定文档,还是自动创建和分享内容,都可以通过自然语言指令让AI代劳。

核心能力:文件列表和搜索、文件上传/下载/删除、文件夹管理、权限设置、Google Docs/Sheets/Slides文档的创建和编辑、文件共享以及云存储空间管理。

Google Drive MCP服务器特别适合以下场景:需要批量处理Google Drive中文件的团队协作、希望用AI自动生成并存储文档的内容创作者、以及需要将AI输出结果直接保存到云端的开发者和研究人员。

二、安装与配置

2.1 环境准备

在开始安装之前,需要确保系统中已安装Node.js(版本18或更高)。Google Drive MCP服务器通过npm发布,安装过程简单直接。

npm install -g @anthropic-ai/mcp-server-google-drive

2.2 Google Cloud Platform配置

Google Drive MCP服务器需要使用Google Cloud Platform(GCP)的OAuth 2.0认证来访问用户的Google Drive。这是为了保证安全性,让每个用户只能访问自己的文件。

配置步骤如下:

重要提示:credentials.json文件包含敏感信息,请勿将其提交到版本控制系统或公开分享。建议将该文件保存在安全的位置,并在.gitignore中添加排除规则。

2.3 MCP服务器配置

在Claude Code或支持MCP的客户端中,需要在配置文件中添加Google Drive MCP服务器的配置项。配置文件通常位于项目根目录的.claude/settings.json或全局配置中。

{ "mcpServers": { "google-drive": { "command": "npx", "args": [ "-y", "@anthropic-ai/mcp-server-google-drive" ], "env": { "GOOGLE_DRIVE_OAUTH_PATH": "/path/to/credentials.json" } } } }

首次启动时,系统会在浏览器中打开Google OAuth授权页面,你需要登录Google账号并授权应用访问你的Google Drive。授权完成后,会生成一个token文件保存在本地,后续使用无需重复授权。

提示:如果需要在服务器环境(无浏览器)中使用,可以手动从另一台机器获取授权token,然后将其复制到服务器上。token文件通常保存在与credentials.json同目录下的tokens.json中。

三、文件操作

文件操作是Google Drive MCP服务器最核心的功能。它提供了丰富的文件管理能力,让AI能够像操作本地文件系统一样管理Google Drive中的文件。

3.1 列出文件和文件夹

使用list_files工具可以列出指定目录下的文件和文件夹。支持按类型和日期进行过滤,方便快速定位目标文件。

// 列出根目录下的所有文件 list_files(parent_id: "root", page_size: 20) // 按文件类型过滤 list_files(mime_type: "application/pdf", page_size: 50) // 按修改日期过滤 list_files(modified_after: "2025-01-01T00:00:00Z")

返回结果包含文件的名称、ID、类型(MIME类型)、大小、创建时间、修改时间等元数据。这些信息可以帮助AI判断下一步操作的依据。

分页参数page_size默认为10,最大可设置为100。如果文件数量超过page_size,返回结果中会包含next_page_token,可以用于获取下一页数据。

3.2 获取文件信息

get_file工具用于获取单个文件的详细信息,包括文件元数据、访问权限、父文件夹等。

get_file(file_id: "1ABC123xyz...")

返回的信息非常全面,包括文件ID、名称、MIME类型、大小(字节)、MD5校验和、创建时间、修改时间、上次打开时间、父文件夹ID列表、共享状态、文件所有者、权限列表等。

3.3 搜索文件

search_files工具提供了强大的搜索功能,可以按文件名称、文件内容、文件类型等条件进行搜索。它底层调用Google Drive的搜索API,支持完整的搜索语法。

// 按名称搜索 search_files(query: "name contains '报告'") // 按内容搜索 search_files(query: "fullText contains '项目计划'") // 按类型和日期组合搜索 search_files(query: "mimeType='application/vnd.google-apps.document' and modifiedTime > '2025-01-01'")

搜索语法说明:Google Drive的搜索语法支持多种条件组合,包括name(文件名)、fullText(全文内容)、mimeType(文件类型)、modifiedTime(修改时间)、createdTime(创建时间)、owners(所有者)等字段,可以使用and/or进行逻辑组合。

3.4 文件上传、下载和删除

上传文件:使用upload工具可以将本地文件上传到Google Drive。支持指定目标文件夹和文件名。

upload(local_path: "/path/to/local/file.pdf", parent_id: "folder_id_here", name: "自定义文件名.pdf")

下载文件:使用download工具可以将Google Drive中的文件下载到本地。

download(file_id: "1ABC123xyz...", local_path: "/path/to/save/file.pdf")

注意:Google Workspace格式的文件(Google Docs、Sheets、Slides)在下载时需要进行格式转换。例如,Google Docs可以导出为DOCX、PDF、TXT等格式,Google Sheets可以导出为XLSX、CSV等格式。下载时需指定export_format参数。

删除文件:使用delete工具可以将文件移入回收站。Google Drive的删除操作默认是软删除,文件会先进入回收站,在一定期限后可恢复。

delete(file_id: "1ABC123xyz...")

四、文件夹管理

文件夹管理功能让AI能够组织和维护Google Drive中的文件结构,实现自动化的文件分类和整理。

4.1 创建和操作文件夹

create_folder工具用于创建新文件夹。可以在根目录或指定父文件夹下创建。

// 在根目录创建文件夹 create_folder(name: "项目文档") // 在指定父文件夹下创建 create_folder(name: "2025年报告", parent_id: "folder_id_here")

创建成功后返回新文件夹的ID和元数据。这个ID可以在后续操作中用于引用该文件夹。

move_file工具可以将文件移动到不同的文件夹中,实现文件的重新组织。

move_file(file_id: "file_id_here", target_folder_id: "target_folder_id_here")

list_contents工具用于列出指定文件夹中的所有内容。与list_files类似,但操作的是特定文件夹而非按条件过滤。

list_contents(folder_id: "folder_id_here", page_size: 50)

4.2 文件夹权限设置

文件夹权限设置与文件的权限设置是同一套系统。可以为文件夹设置团队共享权限,使整个文件夹中的文件自动继承权限设置。

给文件夹设置权限的一个好处是:新增到文件夹中的文件会自动继承父文件夹的共享设置,无需为每个文件单独配置权限。这对于团队协作的工作流非常有用。

五、Google文档操作

这是Google Drive MCP服务器的一大特色功能。它不仅能管理普通文件,还能直接创建和编辑Google Workspace文档(Docs、Sheets、Slides),实现从AI对话到协作文档的一站式工作流。

5.1 创建Google Docs文档

使用create_document工具可以直接创建一个新的Google Docs文档并写入内容。

create_document( title: "项目计划书", content: "# 项目计划书\n\n## 项目概述\n本项目旨在...", parent_id: "optional_folder_id" )

内容支持Markdown格式,会被自动转换为Google Docs的富文本格式。这意味着标题、列表、粗体、斜体等格式都会被保留。

5.2 创建Google Sheets电子表格

create_spreadsheet工具用于创建新的Google Sheets电子表格,并可以初始填充数据。

create_spreadsheet( title: "销售数据统计", data: [ ["月份", "销售额", "利润"], ["1月", 100000, 20000], ["2月", 120000, 25000], ["3月", 110000, 22000] ], parent_id: "optional_folder_id" )

数据以二维数组的形式传入,第一行通常作为表头,后续行为数据行。这种方式非常适合将AI分析的结构化数据直接输出为电子表格。

5.3 创建Google Slides演示文稿

create_presentation工具用于创建Google Slides演示文稿。

create_presentation( title: "季度汇报", slides_content: [ {title: "封面", content: "2025年Q1季度汇报\n\n技术部"}, {title: "核心要点", content: "• 完成3个主要项目\n• 团队扩展至15人\n• 营收增长30%"}, {title: "未来计划", content: "• 新产品研发\n• 市场拓展"} ], parent_id: "optional_folder_id" )

每个幻灯片通过标题和内容来定义,适合快速生成演示文稿的草稿版本,然后再在Google Slides中进行精细调整。

5.4 读取和编辑文档内容

已有的Google Docs文档也可以被读取和编辑。这对于AI需要基于已有文档继续工作的场景非常有用。

// 读取文档内容 read_document(document_id: "doc_id_here") // 在文档末尾追加内容 append_to_document(document_id: "doc_id_here", content: "\n\n## 新增章节\n这是追加的内容。")

六、权限与共享

权限管理是Google Drive协作功能的重要组成部分。Google Drive MCP服务器提供了完整的权限管理能力,让AI可以自动配置文件的共享设置。

6.1 设置文件共享权限

set_permissions工具用于设置文件或文件夹的共享权限。支持三种权限级别:

// 通过邮箱邀请协作者,赋予编辑权限 set_permissions(file_id: "file_id_here", role: "writer", type: "user", email_address: "collaborator@example.com") // 生成公开共享链接,赋予查看权限 set_permissions(file_id: "file_id_here", role: "reader", type: "anyone")

type参数决定了权限的授予范围:

6.2 查看和管理权限

list_permissions工具用于查看文件或文件夹当前的权限列表。

list_permissions(file_id: "file_id_here")

返回结果包括每个权限条目的详细信息:权限ID、类型(user/group/domain/anyone)、角色(reader/commenter/writer)、关联的邮箱地址或域名、以及权限的有效期(如果设置了限时访问)。

注意:移除权限操作需要谨慎。如果将文件夹的所有者权限移除,可能导致无法恢复文件。建议在批量修改权限前先使用list_permissions确认当前权限状态。

七、实际应用场景

Google Drive MCP服务器在实际工作中有丰富的应用场景,以下是几个典型的使用案例。

7.1 自动备份代码文档到Drive

在开发过程中,可以将生成的文档、配置文件或代码片段自动备份到Google Drive中。例如,在运行完数据分析脚本后,让AI自动将结果文件上传到指定的项目文件夹中。

// 示例:分析完成后自动上传结果 upload(local_path: "./output/analysis_report.pdf", parent_id: "project_reports_folder_id", name: "2025Q1数据分析报告.pdf")

这种自动化备份确保了重要文件不会因为本地设备故障而丢失,同时也方便团队成员访问最新的分析结果。

7.2 从AI生成内容自动创建Google Docs

这是最实用的场景之一。当AI生成了长篇内容(如文章、报告、方案等)时,可以直接将其保存为Google Docs文档,而无需手动复制粘贴。

// AI生成周报并直接保存为Google Docs create_document( title: "2025年第18周工作周报", content: "# 本周工作回顾\n\n## 完成事项\n1. 完成了用户模块重构\n...", parent_id: "weekly_reports_folder" )

完成后可以直接在Google Docs中继续编辑、添加评论或与团队成员协作,大大提高了从AI对话到正式文档的工作效率。

7.3 团队共享文件夹自动整理

对于团队共享的Google Drive文件夹,可以使用MCP服务器定期进行文件整理。例如,按照项目阶段、日期或文件类型自动建立文件夹结构,并将相关文件移动到对应的分类中。

// 创建按月份组织的文件夹结构 create_folder(name: "2025年", parent_id: "project_root") create_folder(name: "5月", parent_id: "2025_folder_id") move_file(file_id: "some_document_id", target_folder_id: "may_folder_id")

这种自动化的文件整理能够保持团队文件系统的整洁,避免文件散乱难以查找的问题。

7.4 文件搜索和管理自动化

当需要从大量文件中找出特定内容时,可以结合search_files和read_document工具实现智能搜索和信息提取。

// 搜索包含特定关键词的文档 let results = search_files(query: "fullText contains '预算' and mimeType='application/vnd.google-apps.document'") // 遍历结果,提取关键信息 results.files.forEach(file => { let content = read_document(document_id: file.id) // AI进一步分析content中的预算相关数据 })

这种结合搜索和分析的工作流对于需要从大量文档中提取特定信息的场景非常高效,如审计、合规检查、知识管理等。

总结:Google Drive MCP服务器将AI的智能能力与Google Drive的云存储和协作功能完美结合。无论是文件的日常管理、文档的创建编辑,还是权限的精细控制,都可以通过自然语言指令完成。对于追求高效工作流的个人和团队来说,这是一个非常实用的MCP工具。