使用说明
项目简介
本项目是一个 MCP (Model Context Protocol) 服务器,它扩展了 LLM (大型语言模型) 应用的能力,使其能够安全、便捷地访问和操作用户的 Google Drive 和 Google Sheets 数据。通过此服务器,LLM 可以搜索 Google Drive 文件、读取文件内容、以及读写 Google Sheets 电子表格,从而实现更丰富和实用的应用场景。
主要功能点
- 文件访问: 提供对 Google Drive 文件的读取能力,支持多种文件类型,包括 Google Workspace 原生格式(如 Docs, Sheets, Slides, Drawings)以及其他常见文件格式。Google Workspace 文件会被自动转换为通用格式,例如 Docs 转换为 Markdown,Sheets 转换为 CSV。
- 电子表格操作: 支持读取和更新 Google Sheets 电子表格中的数据,可以灵活指定读取范围和单元格,方便 LLM 应用进行数据分析和处理。
- 文件搜索: 允许 LLM 应用根据关键词在 Google Drive 中搜索文件,快速定位所需信息。
- MCP 协议支持: 完全兼容 Model Context Protocol,可以通过标准的 JSON-RPC 协议与 MCP 客户端进行通信。
- 安全认证: 使用 OAuth 2.0 进行身份验证,确保数据访问的安全性。
- 易于集成: 提供详细的配置说明和示例,可以轻松集成到支持 MCP 协议的 LLM 客户端应用中。
安装步骤
- 创建 Google Cloud 项目: 访问 Google Cloud Console 创建一个新的 Google Cloud 项目。
- 启用 Google Drive API 和 Google Sheets API: 在 Google Cloud Console 中,访问 API 和服务,搜索并启用 "Google Drive API" 和 "Google Sheets API"。
- 配置 OAuth 同意屏幕: 访问 OAuth 同意屏幕,配置 OAuth 同意屏幕。对于测试目的,选择 "外部" 或 "内部" 均可。
- 添加 OAuth 作用域: 在 OAuth 同意屏幕配置中,添加以下 OAuth 作用域:
- 'https://www.googleapis.com/auth/drive.readonly' (用于只读访问 Google Drive 文件)
- 'https://www.googleapis.com/auth/spreadsheets' (用于访问 Google Sheets 电子表格)
- 创建 OAuth 客户端 ID: 访问 凭据,点击 "创建凭据",选择 "OAuth 客户端 ID"。应用程序类型选择 "桌面应用"。
- 下载 OAuth 密钥文件: 创建完成后,下载 JSON 格式的客户端密钥文件。
- 重命名密钥文件并放置到指定目录: 将下载的密钥文件重命名为 'gcp-oauth.keys.json',并将其放置到您希望配置的目录中。该目录路径将在后续配置服务器时使用,例如 '/Users/username/.config/mcp-gdrive'。
- 设置环境变量:
- 'CLIENT_ID': 设置为您的 OAuth 客户端 ID。
- 'CLIENT_SECRET': 设置为您的 OAuth 客户端密钥。
- 'GDRIVE_CREDS_DIR': 设置为您在步骤 7 中放置 'gcp-oauth.keys.json' 文件的目录路径。
- 构建项目: 在项目根目录下,运行 'npm run build' 或 'npm run watch' 命令来构建服务器。
服务器配置
以下 JSON 配置信息可以添加到支持 MCP 协议的 LLM 客户端应用的服务器配置中,用于连接此 Google Drive & Sheets MCP 服务器。
{ "mcpServers": { "gdrive": { "command": "npx", "args": [ "-y", "@isaacphi/mcp-gdrive" ], "env": { "CLIENT_ID": "<请替换为您的 OAuth 客户端 ID>", "CLIENT_SECRET": "<请替换为您的 OAuth 客户端密钥>", "GDRIVE_CREDS_DIR": "<请替换为您的配置目录路径,例如 /Users/username/.config/mcp-gdrive>" } } } }
配置参数说明:
- 'server name': 'gdrive',服务器名称,客户端用以标识和调用。
- 'command': 'npx',用于执行 npm 包的命令。
- 'args': 启动服务器的参数,这里 '-y @isaacphi/mcp-gdrive' 表示执行全局安装的 '@isaacphi/mcp-gdrive' 包。
- 'env': 环境变量配置,用于服务器运行时读取必要的配置信息:
- 'CLIENT_ID': Google Cloud OAuth 客户端 ID,请替换为您的实际客户端 ID。
- 'CLIENT_SECRET': Google Cloud OAuth 客户端密钥,请替换为您的实际客户端密钥。
- 'GDRIVE_CREDS_DIR': Google Cloud OAuth 密钥文件 ('gcp-oauth.keys.json') 存放的目录路径,请替换为您在安装步骤中设置的目录路径。
基本使用方法
- 启动 MCP 服务器:客户端根据上述配置启动 'gdrive' MCP 服务器。
- 客户端通过 MCP 协议与服务器通信,可以使用以下功能:
- 列出 Google Drive 资源: 客户端可以发送 'ListResourcesRequest' 请求,服务器会返回 Google Drive 中的文件列表。资源 URI 以 'gdrive:///' 开头,例如 'gdrive:///file_id'。
- 读取 Google Drive 文件: 客户端可以发送 'ReadResourceRequest' 请求,指定文件 URI ('gdrive:///file_id'),服务器会返回文件内容。
- 调用工具: 客户端可以发送 'CallToolRequest' 请求来调用服务器提供的工具,例如:
- 'gdrive_search': 搜索 Google Drive 文件。
- 'gdrive_read_file': 读取 Google Drive 文件内容。
- 'gsheets_read': 读取 Google Sheets 电子表格数据。
- 'gsheets_update_cell': 更新 Google Sheets 电子表格单元格。
注意: 首次使用时,服务器会提示进行 OAuth 授权认证,需要在浏览器中完成 Google 账号登录和授权。
信息
分类
生产力应用