Token导航 LogoToken导航TokenDH.com
godri (Sebastienmorand Loreal) logo
开发工具stdio官方级别未说明来源级核验

godri (Sebastienmorand Loreal)

MCP Server

Godri是一个基于Python的命令行工具,用于管理Google Drive和Google Workspace中的文件、文档、表格和幻灯片,支持搜索、上传、下载、翻译等功能。

工具数

22

提示词数

0

GitHub Stars

1

资源数

0
命令行工具文档处理PythonClaude文件操作Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sebastienmorand-loreal

提供方

sebastienmorand-loreal

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run pip install -e .

详细介绍

Godri-谷歌云端硬盘CLI工具

一个全面的Python CLI工具,用于Google Drive和Google Workspace操作,具有干净的分层命令结构。

特性

  • Google 云端硬盘:搜索、上传、下载文件和管理文件夹
  • 谷歌文件:使用markdown支持创建、读取和更新文档
  • 谷歌表格:全面的电子表格操作(创建、管理工作表、读/写值、公式、格式、行/列)
  • 谷歌幻灯片:全面的演示操作(创建、主题、布局、幻灯片、内容管理)
  • 翻译:使用Google Translate API翻译文本
  • MCP 服务器:模型上下文协议与13多个工作表工具和结构化数据支持集成
  • 认证:使用持久令牌保护OAuth2流

安装

  1. 克隆此存储库
  2. 安装软件包:
git clone https://github.com/sebastienmorand-loreal/godri.git
cd godri
uv run pip install -e .

设置

1.Google API证书

  1. 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用以下API:

- Google Drive API - 谷歌文档API - 谷歌网页API - 谷歌幻灯片API - 谷歌云翻译API (翻译功能需要)

  1. 为桌面应用程序创建凭据(OAuth 2.0客户端ID)
  2. 下载客户端机密JSON文件

2.环境配置

设置 GODRI_CLIENT_FILE 环境变量:

export GODRI_CLIENT_FILE="/path/to/your/client_secret.json"

3.身份验证

使用Google API进行身份验证:

godri auth

这将打开一个用于OAuth同意的浏览器,并创建 ~/.godri-token.json 用于后续请求。

指挥结构

Godri使用了一个干净的分层命令结构:

godri [--verbose]   [args...]

命令参考

认证

# Authenticate with Google APIs
godri auth

# Force re-authentication (delete existing token)
godri auth --force

谷歌云端硬盘运营

搜索文件

# Search by query
godri drive search --query "name contains 'report'"

# Search by name
godri drive search --name "document" --limit 50

# Search with MIME type filter
godri drive search --name "spreadsheet" --mime-type "application/vnd.google-apps.spreadsheet"

文件操作

# Upload file
godri drive upload /path/to/file.txt --folder-id "FOLDER_ID" --name "Custom Name"

# Download file (original format)
godri drive download "FILE_ID" /path/to/output.txt

# Smart download (converts Google Workspace files to Office formats)
godri drive download "FILE_ID" /path/to/output --smart

智能下载转换:

  • 谷歌文件→ Word(.docx)
  • 谷歌表格→ Excel(.xlsx)
  • 谷歌幻灯片→ PowerPoint(.pptx)
  • 其他谷歌工作区→ PDF(.PDF)

文件夹管理

# Create folder
godri drive folder create "My Folder" --parent-id "PARENT_FOLDER_ID"

# Delete file or folder
godri drive folder delete "FILE_OR_FOLDER_ID"

谷歌文档操作

# Create document
godri docs create-document "Document Title" --folder-id "FOLDER_ID" --content "Initial content" --markdown

# Read document
godri docs read "DOCUMENT_ID" --plain-text

# Update document
godri docs update "DOCUMENT_ID" "New content" --markdown --replace --index 1

# Translate document (preserves formatting)
godri docs translate "DOCUMENT_ID" "fr" --source-language "en"
godri docs translate "DOCUMENT_ID" "es" --start-index 10 --end-index 100

谷歌表格操作

创建电子表格

godri sheets create-document "Spreadsheet Title" --folder-id "FOLDER_ID"

表单管理

# List all sheets in spreadsheet
godri sheets read "SPREADSHEET_ID"

# Create new sheet
godri sheets create "SPREADSHEET_ID" "Sheet Name"

# Hide/unhide sheets
godri sheets hide "SPREADSHEET_ID" "Sheet Name"
godri sheets unhide "SPREADSHEET_ID" "Sheet Name"

# Delete sheet
godri sheets delete "SPREADSHEET_ID" "Sheet Name"

价值观运营

# Read sheet data
godri sheets values read "SPREADSHEET_ID" --sheet-name "Sheet1" --range "A1:C10" --json --limit 100

# Set values
godri sheets values set "SPREADSHEET_ID" "A1:B2" "Value1,Value2,Value3,Value4"
godri sheets values set "SPREADSHEET_ID" "A1" '[[\"Row1Col1\",\"Row1Col2\"],[\"Row2Col1\",\"Row2Col2\"]]'

# Set formula
godri sheets values set "SPREADSHEET_ID" "C1" "SUM(A1:B1)" --formula

# Set values with formatting
godri sheets values set "SPREADSHEET_ID" "A1" "Bold Text" --format '{"textFormat":{"bold":true}}'

# Format cells (using JSON) - Basic examples
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"backgroundColor":{"red":1.0,"green":0.8,"blue":0.8}}'

# Copy formatting from another range
godri sheets values format "SPREADSHEET_ID" "A1:B5" --from "C1:C1"

# Copy single cell format to larger range (pattern replication)
godri sheets values format "SPREADSHEET_ID" "A1:E10" --from "A1"

# Copy multi-cell pattern with tiling
godri sheets values format "SPREADSHEET_ID" "A1:F10" --from "A1:B2"

综合格式示例

字体和文本样式:

# Set font family to Arial
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"textFormat":{"fontFamily":"Arial"}}'

# Set font family to Calibri
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"textFormat":{"fontFamily":"Calibri"}}'

# Make text bold
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"textFormat":{"bold":true}}'

# Make text italic
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"textFormat":{"italic":true}}'

# Make text underlined
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"textFormat":{"underline":true}}'

# Set font size to 14pt
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"textFormat":{"fontSize":14}}'

颜色(RGB值从0.0到1.0):

# Red text
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"textFormat":{"foregroundColor":{"red":1.0,"green":0.0,"blue":0.0}}}'

# Blue text
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"textFormat":{"foregroundColor":{"red":0.0,"green":0.0,"blue":1.0}}}'

# Green text
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"textFormat":{"foregroundColor":{"red":0.0,"green":0.8,"blue":0.0}}}'

# Yellow background
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"backgroundColor":{"red":1.0,"green":1.0,"blue":0.0}}'

# Light blue background
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"backgroundColor":{"red":0.8,"green":0.9,"blue":1.0}}'

# Light gray background
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"backgroundColor":{"red":0.9,"green":0.9,"blue":0.9}}'

组合格式:

# Header style: bold Arial 12pt with gray background
godri sheets values format "SPREADSHEET_ID" "A1:E1" --format-options '{"textFormat":{"bold":true,"fontFamily":"Arial","fontSize":12},"backgroundColor":{"red":0.8,"green":0.8,"blue":0.8}}'

# Error style: bold red text with light red background
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"textFormat":{"bold":true,"foregroundColor":{"red":1.0,"green":0.0,"blue":0.0}},"backgroundColor":{"red":1.0,"green":0.9,"blue":0.9}}'

# Success style: italic green text with light green background
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"textFormat":{"italic":true,"foregroundColor":{"red":0.0,"green":0.6,"blue":0.0}},"backgroundColor":{"red":0.9,"green":1.0,"blue":0.9}}'

# Professional style: Calibri 11pt, center aligned
godri sheets values format "SPREADSHEET_ID" "A1:B5" --format-options '{"textFormat":{"fontFamily":"Calibri","fontSize":11},"horizontalAlignment":"CENTER"}'

行/列操作

# Add/remove rows
godri sheets rows add "SPREADSHEET_ID" 5 --count 2 --sheet-name "Sheet1"
godri sheets rows remove "SPREADSHEET_ID" 5 --count 2 --sheet-name "Sheet1"

# Add/remove columns  
godri sheets columns add "SPREADSHEET_ID" "C" --count 1 --sheet-name "Sheet1"
godri sheets columns remove "SPREADSHEET_ID" "C" --count 1 --sheet-name "Sheet1"

在电子表格之间复制表格

# Copy single sheet to another spreadsheet
godri sheets copy "SOURCE_SPREADSHEET_ID" "TARGET_SPREADSHEET_ID" "Sheet Name"

# Copy single sheet with custom target name
godri sheets copy "SOURCE_SPREADSHEET_ID" "TARGET_SPREADSHEET_ID" "Sheet1" --target-name "Copy of Sheet1"

# Copy multiple sheets
godri sheets copy "SOURCE_SPREADSHEET_ID" "TARGET_SPREADSHEET_ID" "Sheet1" "Sheet2" "Data"

# Copy sheets without preserving formatting
godri sheets copy "SOURCE_SPREADSHEET_ID" "TARGET_SPREADSHEET_ID" "Sheet1" --no-preserve-formatting

复制功能:

  • 单页副本: 复制具有可选自定义命名的单个图纸
  • 多页副本: 通过批处理在一次操作中复制多张图纸
  • 格式保留: 默认情况下,保留所有单元格格式、样式和结构
  • 名称碰撞处理: 自动处理带有编号的重复名称(例如,“Sheet1(副本)”、“Sheet1
  • 错误报告: 批量操作中每张表的详细成功/失败报告
  • Google Sheets API集成: 使用本机复制到API以实现可靠的工作表复制

翻译操作

# Translate range (preserves formulas and formatting)
godri sheets translate "SPREADSHEET_ID" "A1:C10" "fr" --source-language "en"

# Translate headers
godri sheets translate "SPREADSHEET_ID" "A1:Z1" "es"

# Translate specific sheet range
godri sheets translate "SPREADSHEET_ID" "Sheet1!B2:D20" "de"

翻译特点:

  • 格式保存:翻译过程中保留所有单元格格式(粗体、颜色等)
  • 配方智能:仅转换公式中的字符串文字,保留公式结构
  • 智能检测:自动跳过数字、日期和不可翻译的内容
  • 范围支持:翻译特定范围或整个图纸区域

格式化操作:

  • JSON格式:使用Google表格格式JSON应用自定义格式
  • 格式化复制:使用智能平铺将格式从一个范围复制到另一个范围
  • 模式复制:单个单元格格式可以复制到更大的范围

谷歌幻灯片操作

创建演示文稿

# Create presentation with default theme (Streamline)
godri slides create-document "Presentation Title" --folder-id "FOLDER_ID"

# Create presentation with specific theme
godri slides create-document "Presentation Title" --theme "CORAL" --folder-id "FOLDER_ID"

可用主题:

  • SIMPLE_LIGHT、SIMPLE_DARK、流线(默认)、焦点、SHIFT、动量
  • 范型,板岩,珊瑚,海滩日,现代作家,留兰香
  • 游戏日,蓝色和黄色,瑞士,豪华,码头,森林

主题管理

# Import theme from another presentation
godri slides themes import "TARGET_PRESENTATION_ID" "SOURCE_PRESENTATION_ID"

# Import and automatically apply theme
godri slides themes import "TARGET_PRESENTATION_ID" "SOURCE_PRESENTATION_ID" --set

# Set theme for presentation
godri slides themes set "PRESENTATION_ID" "STREAMLINE"

布局操作

# List available slide layouts
godri slides layout list "PRESENTATION_ID"

可用布局:

  • 空白、仅字幕、标题、标题和正文、标题和两列
  • TITLE_ONLY、SECTION_HEADER、SECTION_TITLE_AND_DESCRIPTION
  • ONE_COLUMN_TEXT、MAIN POINT、BIG_NUMBER

幻灯片管理

# Add slide with default layout (BLANK)
godri slides add "PRESENTATION_ID"

# Add slide with specific layout
godri slides add "PRESENTATION_ID" --layout "TITLE_AND_BODY"

# Add slide at specific position (0-based)
godri slides add "PRESENTATION_ID" --layout "TITLE" --position 2

# Move slide to new position
godri slides move "PRESENTATION_ID" "SLIDE_ID" 3

# Remove slide
godri slides remove "PRESENTATION_ID" "SLIDE_ID"

内容管理

支持幻灯片编号的增强内容列表:

# List content in specific slide by number (user-friendly)
godri slides content list "PRESENTATION_ID" 2

# List content in specific slide by API object ID (for precision)
godri slides content list "PRESENTATION_ID" "SLIDES_API1220751402_0"

# List content in multiple specific slides
godri slides content list "PRESENTATION_ID" 1 2 3

# List content for all slides in presentation
godri slides content list "PRESENTATION_ID" --all
godri slides content list "PRESENTATION_ID"  # empty slides list = all slides

# Show detailed formatting and properties
godri slides content list "PRESENTATION_ID" 2 --detailed

内容显示功能:

  • 文本内容:显示实际文本的格式(粗体、斜体、字体、大小、颜色)
  • 大小和位置:EMU单位中的元素尺寸和坐标
  • 形状属性:背景颜色、边框、形状类型
  • 表内容:逐行表格单元格内容(显示空单元格)
  • 图像属性:内容URL和源URL
  • 文本格式:字体系列、大小、样式属性
  • 详细模式:附加比例因子和高级属性

添加内容:

# Add text content
godri slides content add "PRESENTATION_ID" "SLIDE_ID" text "Hello World" --x 100 --y 100 --width 300 --height 50

# Add text with formatting (similar to sheets formatting)
godri slides content add "PRESENTATION_ID" "SLIDE_ID" text "Bold Title" --format '{"textFormat":{"bold":true,"fontSize":18}}'

# Add image content
godri slides content add "PRESENTATION_ID" "SLIDE_ID" image "https://example.com/image.jpg" --x 200 --y 150 --width 400 --height 300

# Add table content (3 rows x 4 columns)
godri slides content add "PRESENTATION_ID" "SLIDE_ID" table "3x4" --x 50 --y 100 --width 500 --height 200

# Remove content element
godri slides content remove "PRESENTATION_ID" "ELEMENT_ID"

# Move content element
godri slides content move "PRESENTATION_ID" "ELEMENT_ID" 250 300

内容格式选项: 幻灯片支持与Google表格类似的格式选项:

# Bold text with blue color
--format '{"textFormat":{"bold":true,"foregroundColor":{"red":0.0,"green":0.0,"blue":1.0}}}'

# Large font with background color
--format '{"textFormat":{"fontSize":24,"fontFamily":"Arial"},"backgroundColor":{"red":0.9,"green":0.9,"blue":1.0}}'

# Combined formatting
--format '{"textFormat":{"bold":true,"italic":true,"fontSize":16,"fontFamily":"Calibri","foregroundColor":{"red":0.2,"green":0.2,"blue":0.8}}}'

下载演示文稿

# Download entire presentation as PDF
godri slides download "PRESENTATION_ID" "/path/to/presentation.pdf" pdf

# Download entire presentation as PowerPoint
godri slides download "PRESENTATION_ID" "/path/to/presentation.pptx" pptx

# Download specific slides as PDF (slides 1-3)
godri slides download "PRESENTATION_ID" "/path/to/presentation.pdf" pdf --range "1-3"

# Download selected slides as PDF (slides 1, 3, and 5)
godri slides download "PRESENTATION_ID" "/path/to/presentation.pdf" pdf --range "1,3,5"

# Download multiple ranges as PPTX (slides 2-4 and 6-8)
godri slides download "PRESENTATION_ID" "/path/to/presentation.pptx" pptx --range "2-4,6-8"

# Download all slides as PNG images to directory
godri slides download "PRESENTATION_ID" "/path/to/images/" png

# Download specific slides as JPEG images (slides 1-5)
godri slides download "PRESENTATION_ID" "/path/to/images/" jpeg --range "1-5"

下载功能:

  • PDF导出: 完整的演示文稿或特定幻灯片作为PDF文档
  • PPTX出口: 具有完全保真度的原生PowerPoint格式
  • 图像导出: 单个幻灯片为PNG或JPEG文件,文件名有编号
  • 范围支持: 灵活的幻灯片选择(范围、单个幻灯片、多个范围)
  • 目录创建: 自动创建图像输出目录
  • 文件命名: 图像另存为 slide_001.png, slide_002.png等等。

在演示文稿之间复制幻灯片

# Copy single slide from source to target presentation
godri slides copy "SOURCE_PRESENTATION_ID" "TARGET_PRESENTATION_ID" 2

# Copy multiple specific slides
godri slides copy "SOURCE_PRESENTATION_ID" "TARGET_PRESENTATION_ID" 1 3 5

# Copy range of slides (slides 1-3)
godri slides copy "SOURCE_PRESENTATION_ID" "TARGET_PRESENTATION_ID" "1-3"

# Copy complex range (slides 1-3 and slide 5)
godri slides copy "SOURCE_PRESENTATION_ID" "TARGET_PRESENTATION_ID" "1-3,5"

# Copy slides without preserving theme (use target presentation theme)
godri slides copy "SOURCE_PRESENTATION_ID" "TARGET_PRESENTATION_ID" "1-3" --no-preserve-theme

# Copy slides with source linking (maintain connection to source)
godri slides copy "SOURCE_PRESENTATION_ID" "TARGET_PRESENTATION_ID" "2-4" --link-to-source

# Copy slides to specific position in target presentation
godri slides copy "SOURCE_PRESENTATION_ID" "TARGET_PRESENTATION_ID" "1,2" --position 1

复制功能:

  • 范围支持: 使用范围(1-3)、单个数字(2)或组合(1-3,5)复制幻灯片
  • 主题保存: 默认情况下保持原始格式和主题
  • 来源链接: 可选链接,以保持与源代码演示文稿的连接
  • 位置控制: 将复制的幻灯片插入特定位置或附加到末尾
  • 批量操作: 在一次操作中复制多张幻灯片或多个范围

范围格式示例:

  • "1-3" -幻灯片1至3
  • "1,3,5" -仅幻灯片1、3和5
  • "2-4,6-8" -幻灯片2-4和幻灯片6-8
  • "1,3-5,7" -幻灯片1、幻灯片3-5和幻灯片7

翻译

# Translate text (auto-detect source)
godri translate "Hello, world!" "fr"

# Translate with specified source language
godri translate "Bonjour le monde!" "en" --source-language "fr"

高级示例

复杂幻灯片操作

# Create presentation with corporate theme and add structured content
PRES_ID=$(godri slides create-document "Sales Presentation" --theme "LUXE" | grep -o 'ID: [^,]*' | cut -d' ' -f2)

# Add title slide
godri slides add "$PRES_ID" --layout "TITLE" --position 0
TITLE_SLIDE=$(godri slides content list "$PRES_ID" | head -1 | cut -d' ' -f4)  # Get first slide ID

# Add content to title slide
godri slides content add "$PRES_ID" "$TITLE_SLIDE" text "Q4 Sales Results" --x 100 --y 150 --width 600 --height 100 --format '{"textFormat":{"bold":true,"fontSize":32,"fontFamily":"Arial"}}'

# Add content slide with data
godri slides add "$PRES_ID" --layout "TITLE_AND_BODY"
CONTENT_SLIDE=$(godri slides content list "$PRES_ID" | tail -1 | cut -d' ' -f4)  # Get last slide ID

# Add table with sales data
godri slides content add "$PRES_ID" "$CONTENT_SLIDE" table "4x3" --x 50 --y 200 --width 600 --height 300

# List all content for review
godri slides content list "$PRES_ID" "$TITLE_SLIDE"
godri slides content list "$PRES_ID" "$CONTENT_SLIDE"

复杂表格操作

# Create spreadsheet and add data with formulas
SHEET_ID=$(godri sheets create-document "Sales Report" | grep -o 'ID: [^,]*' | cut -d' ' -f2)
godri sheets values set "$SHEET_ID" "A1:C1" "Product,Price,Total"
godri sheets values set "$SHEET_ID" "A2:B3" "Widget,10,Gadget,20"
godri sheets values set "$SHEET_ID" "C2" "B2*2" --formula
godri sheets values set "$SHEET_ID" "C3" "B3*2" --formula
godri sheets values format "$SHEET_ID" "A1:C1" '{"textFormat":{"bold":true}}'

# Translate to multiple languages
godri sheets translate "$SHEET_ID" "A1:A3" "fr"  # Translate product names to French
godri sheets translate "$SHEET_ID" "A1:C1" "es"  # Translate headers to Spanish

翻译工作流程

# Translate Google Doc to French
godri docs translate "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms" "fr"

# Translate specific range in spreadsheet
godri sheets translate "1n0lrRoYg6KW7uoyGuawe88XSY5o5dF9dkwAFCmnregs" "A1:C10" "de" --source-language "en"

# Translate document section (characters 100-500)
godri docs translate "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms" "es" --start-index 100 --end-index 500

批处理文件操作

# Upload multiple files to same folder
for file in *.txt; do
    godri drive upload "$file" --folder-id "FOLDER_ID"
done

MCP(模型上下文协议)服务器

Godri包括一个MCP服务器,为AI助手和其他应用程序提供Google Workspace集成。

启动MCP服务器

# Start MCP server with stdio transport (for Claude Desktop and other MCP clients)
godri mcp --transport stdio

# Start MCP server with HTTP transport (for web applications)
godri mcp --transport http --host localhost --port 8000

可用的MCP工具

增强的幻灯片内容工具:

  • slides_content_list(presentation_id, slide_identifiers="", all_slides=False) -在幻灯片中列出具有增强格式信息的详细内容

- 支持幻灯片编号(1、2、3)、API对象ID或范围(1-3,5) - 集 all_slides=True 列出所有幻灯片的内容 - 返回详细的文本内容、格式、大小、位置和属性

复制工具:

  • slides_copy(source_presentation_id, target_presentation_id, slide_identifiers, preserve_theme=True, link_to_source=False, target_position=-1) -在演示文稿之间复制幻灯片

- 支持“1-3.5”或单个幻灯片“2”等范围 - 可选主题保存和源链接 - 位置-1添加到末尾,或指定目标位置

  • sheets_copy(source_spreadsheet_id, target_spreadsheet_id, sheet_names, target_name="", preserve_formatting=True) -在电子表格之间复制表格

- 多张图纸副本的逗号分隔图纸名称 - 单张工作表的可选自定义目标名称 - 使用冲突处理进行格式保存

驱动工具:

  • drive_search(query, name, mime_type, limit) -搜索文件和文件夹
  • drive_upload(file_path, folder_id, name) -上传文件
  • drive_download(file_id, output_path, smart) -通过智能转换下载文件
  • drive_folder_create(name, parent_id) -创建文件夹
  • drive_folder_delete(file_id) -删除文件/文件夹

文档工具:

  • docs_createdocument(title, folder_id, content, markdown) -创建文档
  • docs_read(document_id, plain_text) -读取文档内容
  • docs_update(document_id, content, markdown, replace, index) -更新文档
  • docs_translate(document_id, target_language, source_language, start_index, end_index) -翻译文档

图纸工具:

  • sheets_createdocument(title, folder_id) -创建电子表格
  • sheets_read(spreadsheet_id) -列表表
  • sheets_values_read(spreadsheet_id, sheet_name, range_name) -读取数据
  • sheets_values_set(spreadsheet_id, range_name, values, formula) -设置值
  • sheets_translate(spreadsheet_id, range_name, target_language, source_language) -翻译范围

幻灯片工具:

  • slides_createdocument(title, folder_id, theme) -创建演示文稿
  • slides_download(presentation_id, format_type, output_path) -下载演示文稿
  • slides_add(presentation_id, layout, position) -添加幻灯片
  • slides_content_add(presentation_id, slide_id, content_type, content, x, y, width, height) -添加内容

翻译工具:

  • translate_text(text, target_language, source_language) -翻译文本

MCP配置

MCP服务器自动使用与CLI相同的身份验证。确保你已经跑过了 godri auth 在启动MCP服务器之前。

发展

项目结构

godri/
├── src/godri/
│   ├── main.py                 # CLI entry point with hierarchical commands
│   ├── config/
│   │   └── logging_config.py   # Logging configuration
│   └── services/
│       ├── auth_service.py     # OAuth2 authentication
│       ├── drive_service.py    # Google Drive operations
│       ├── docs_service.py     # Google Docs with markdown support
│       ├── sheets_service.py   # Google Sheets comprehensive operations
│       ├── slides_service.py   # Google Slides comprehensive operations
│       └── translate_service.py # Translation service
├── pyproject.toml              # UV dependency configuration
└── README.md

代码质量

# Format code (required before commits)
black -l 120 src/

# Run application
godri 

常见MIME类型

文件类型MIME类型
谷歌文档application/vnd.google-apps.document
谷歌表格application/vnd.google-apps.spreadsheet
谷歌幻灯片application/vnd.google-apps.presentation
谷歌文件夹application/vnd.google-apps.folder
PDFapplication/pdf
文本text/plain
Wordapplication/vnd.openxmlformats-officedocument.wordprocessingml.document
Excelapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet

错误处理和调试

  • 使用 --verbose 详细日志记录标志
  • 存储在中的身份验证令牌 ~/.godri-token.json
  • 全面的错误信息和可操作的指导
  • 暂时API错误的自动重试逻辑

安全

  • OAuth2令牌安全地存储在用户主目录中
  • 客户端机密文件不应提交到版本控制
  • 所有API通信都使用HTTPS
  • 令牌过期时自动刷新

支持

对于问题、功能请求或疑问:

  1. 查看命令帮助: godri --help
  2. 启用详细日志记录: godri --verbose
  3. 在Google云控制台中验证API配额
  4. 确保启用了所有必需的API

与AI助手集成

Claude代码集成

您可以将Godri与Claude Code集成,使AI助手能够访问您的Google Workspace文档和数据。

选项1:MCP服务器集成(推荐)

  1. 将Godri安装为软件包:
   git clone https://github.com/sebastienmorand-loreal/godri.git
   cd godri
   uv install .
  1. 设置身份验证:
   export GODRI_CLIENT_FILE="/path/to/your/client_secret.json"
   godri auth
  1. 配置Claude Code以使用MCP服务器:

添加到您的Claude代码配置中(~/.claude/mcp_servers.json):

   {
     "godri": {
       "command": "godri",
       "args": ["mcp", "stdio"]
     }
   }
  1. 开始在Claude中使用Godri工具:

配置后,Claude Code将可以访问所有Godri MCP工具:

- 驱动操作(搜索、上传、下载、智能转换) - 文档操作(创建、读取、更新、翻译) - 电子表格操作(创建、读取表格、管理值、格式化、翻译) - 演示操作(创建、添加幻灯片、管理内容、下载、复制) - 翻译服务

方案2:开发模式整合

对于开发,或者如果您更喜欢从源代码运行:

  1. 克隆此存储库:
   git clone https://github.com/sebastienmorand-loreal/godri.git
   cd godri
   uv sync
   uv install -e .  # Install in editable mode
  1. 设置身份验证:
   export GODRI_CLIENT_FILE="/path/to/your/client_secret.json"
   godri auth
  1. 配置克劳德代码(与选项1相同):

添加到您的Claude代码配置中(~/.claude/mcp_servers.json):

   {
     "godri": {
       "command": "godri",
       "args": ["mcp", "stdio"]
     }
   }
  1. 使用克劳德代码:

- 在Claude Code中打开存储库进行开发 - Claude可以阅读您的代码并帮助开发 - 使用Claude运行以下命令: godri drive search --name "document"

设置验证

要验证您的安装是否正常工作:

  1. 测试CLI访问:
   godri --help
   godri drive search --name "test" --limit 5
  1. 测试MCP服务器:
   godri mcp stdio
   # Should start the MCP server and wait for input
  1. 重新启动Claude代码 在添加MCP配置以加载新工具之后。

Gemini CLI集成

Godri可以与谷歌的Gemini CLI集成,以增强基于人工智能的文档分析。

Gemini CLI的设置

  1. 安装Gemini CLI:
   pip install google-generativeai
  1. 创建包装脚本 (gemini-godri.py):
   #!/usr/bin/env python3
   import subprocess
   import sys
   import json

   def run_godri_command(args):
       """Run godri command and return results"""
       try:
           result = subprocess.run(
               ['godri'] + args,
               capture_output=True,
               text=True
           )
           return result.stdout
       except Exception as e:
           return f"Error: {e}"

   # Example: Search and analyze documents
   if __name__ == "__main__":
       if len(sys.argv) > 1 and sys.argv[1] == "analyze-docs":
           # Search for documents
           docs = run_godri_command(['drive', 'search', '--name', sys.argv[2], '--limit', '10'])
           print(f"Found documents: {docs}")
           
           # Use Gemini to analyze document content
           # Add your Gemini analysis logic here
  1. 使用示例:
   # Search and analyze documents
   python gemini-godri.py analyze-docs "quarterly report"

   # Translate documents with AI assistance
   python gemini-godri.py translate-with-ai "document_id" "target_language"

高级Gemini集成

为常见工作流创建专用脚本:

  1. 文档分析脚本:
   # Use godri to read documents, Gemini to analyze content
   doc_content = run_godri_command(['docs', 'read', document_id, '--plain-text'])
   # Send to Gemini for analysis
  1. 智能翻译:
   # Use godri to read, Gemini to improve translation, godri to update
   original = run_godri_command(['docs', 'read', document_id])
   # Gemini analysis for context-aware translation
   # Update with godri
  1. 智能电子表格分析:
   # Use godri to read spreadsheet data
   data = run_godri_command(['sheets', 'values', 'read', spreadsheet_id, '--json'])
   # Use Gemini for data analysis and insights

AI集成的好处

  • 文档智能: AI可以分析文档内容并提出改进建议
  • 智能搜索: 使用自然语言在Google云端硬盘中查找文档
  • 自动翻译: 保留格式的上下文感知翻译
  • 数据分析: 电子表格数据和演示内容的智能分析
  • 工作流自动化: 将godri运营与人工智能决策相结合

安全注意事项

  • MCP服务器继承了与CLI相同的OAuth2身份验证
  • 所有Google API通信保持安全(HTTPS)
  • AI助手只能访问您明确启用的工具
  • 考虑对敏感文档使用只读操作

许可证

个人/教育用途。确保遵守Google API服务条款。

目录标签

目录标签

命令行工具文档处理PythonClaude文件操作本地部署GoogleDrive管理GoogleWorkspace集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

22

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP