npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-gdrive-workspace

v0.1.0

Published

MCP server for Google Drive, Sheets, Docs, Slides, and Markdown with full access control

Readme

mcp-gdrive-workspace

Google Drive, Sheets, Docs, Slides, Markdown の読み書きを提供する MCP (Model Context Protocol) サーバー。

Claude Code / Claude Desktop などのMCPクライアントから Google Workspace を操作できます。

特徴

  • 54ツール — Drive / Sheets / Docs / Slides / Markdown の包括的な操作
  • Markdownからスライド一括生成 — テーマ付きプレゼンテーションをワンコマンドで作成
  • アクセス制御 — フォルダ制限、名前パターンフィルタ、読み取り専用モード
  • 3つの認証方式 — OAuth 2.0 / サービスアカウント / 直接トークン

インストール

npx mcp-gdrive-workspace

グローバルインストール:

npm install -g mcp-gdrive-workspace

セットアップ

1. Google Cloud Consoleの設定

  1. Google Cloud Console でプロジェクトを作成
  2. 以下のAPIを有効化:
    • Google Drive API
    • Google Sheets API
    • Google Docs API
    • Google Slides API
  3. 認証情報 > OAuth 2.0 クライアントID を作成
    • アプリケーションの種類: デスクトップアプリ
  4. クライアントID とクライアントシークレットを控える

2. MCPクライアントの設定

Claude Code

~/.claude/settings.json に追加:

{
  "mcpServers": {
    "gdrive": {
      "command": "npx",
      "args": ["mcp-gdrive-workspace"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
        "GOOGLE_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Claude Desktop

claude_desktop_config.json に追加:

{
  "mcpServers": {
    "gdrive": {
      "command": "npx",
      "args": ["mcp-gdrive-workspace"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
        "GOOGLE_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

3. 初回認証

初回起動時にブラウザが開きGoogleの認証画面が表示されます。許可するとトークンが ~/.mcp-gdrive/credentials.json に保存され、以降は自動的にリフレッシュされます。


認証方式

3つの方式を優先順位で自動判定します。

OAuth 2.0(推奨)

個人ユーザー向け。初回のみブラウザ認証が必要。

GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_REDIRECT_PORT=3000  # (任意、デフォルト: 3000)

サービスアカウント

サーバー間通信向け。共有ドライブへのアクセスに最適。

GOOGLE_SERVICE_ACCOUNT_KEY=/path/to/service-account-key.json

直接トークン

テスト・デバッグ用。

GOOGLE_ACCESS_TOKEN=ya29.xxx

ツール一覧

Google Drive (10ツール)

| ツール | 説明 | |--------|------| | gdrive_list_files | ファイル一覧取得 | | gdrive_search_files | ファイル検索 | | gdrive_read_file | ファイル読み取り | | gdrive_create_file | ファイル作成 | | gdrive_update_file | ファイル更新 | | gdrive_delete_file | ファイル削除(ゴミ箱 or 完全削除) | | gdrive_create_folder | フォルダ作成 | | gdrive_move_file | ファイル移動 | | gdrive_get_file_metadata | メタデータ取得 | | gdrive_upload_image | 画像アップロード(base64/URL) |

Google Sheets (9ツール)

| ツール | 説明 | |--------|------| | gsheets_read | セル範囲読み取り(raw / ヘッダー付き) | | gsheets_write | セル範囲書き込み | | gsheets_append | 行追加 | | gsheets_create | スプレッドシート作成 | | gsheets_list_sheets | シート一覧 | | gsheets_add_sheet | シート追加 | | gsheets_delete_sheet | シート削除 | | gsheets_clear | 範囲クリア | | gsheets_batch_update | バッチ更新 |

Google Docs (6ツール)

| ツール | 説明 | |--------|------| | gdocs_read | ドキュメント読み取り(text / markdown / json) | | gdocs_create | ドキュメント作成(Markdown入力対応) | | gdocs_insert_text | テキスト挿入 | | gdocs_replace_text | テキスト置換 | | gdocs_append_text | テキスト追加 | | gdocs_batch_update | バッチ更新 |

Google Slides (24ツール)

基本操作

| ツール | 説明 | |--------|------| | gslides_read | プレゼンテーション読み取り | | gslides_create | プレゼンテーション作成 | | gslides_add_slide | スライド追加 | | gslides_delete_slide | スライド削除 | | gslides_duplicate_slide | スライド複製 | | gslides_reorder_slides | スライド並べ替え | | gslides_batch_update | バッチ更新 |

テキスト・スタイリング

| ツール | 説明 | |--------|------| | gslides_create_textbox | テキストボックス作成(位置・フォント・色指定) | | gslides_insert_text | テキスト挿入 | | gslides_update_text_style | テキストスタイル変更(フォント・色・太字等) | | gslides_update_paragraph_style | 段落スタイル変更(配置・行間・箇条書き) |

図形・テーブル・画像

| ツール | 説明 | |--------|------| | gslides_create_shape | 図形作成(矩形・円・矢印等 + スタイル) | | gslides_update_shape_style | 図形スタイル変更 | | gslides_create_line | 線・コネクタ作成 | | gslides_create_table | テーブル作成(データ・ヘッダースタイル付き) | | gslides_update_table_cell | テーブルセル編集 | | gslides_update_table_style | テーブルスタイル変更 | | gslides_insert_image | 画像挿入(URL) | | gslides_insert_image_from_drive | 画像挿入(Driveファイル) | | gslides_insert_sheets_chart | Sheetsチャート挿入 |

デザイン・高レベル

| ツール | 説明 | |--------|------| | gslides_set_background | 背景設定(単色 / グラデーション / 画像) | | gslides_set_page_size | ページサイズ設定 | | gslides_create_from_markdown | Markdownからスライド一括生成 | | gslides_apply_theme | テーマ一括適用 |

Markdown (5ツール)

| ツール | 説明 | |--------|------| | gmd_read | Markdownファイル読み取り | | gmd_write | Markdownファイル書き込み | | gmd_create | Markdownファイル作成 | | gmd_to_doc | Markdown → Google Docs 変換 | | gmd_from_doc | Google Docs → Markdown 変換 |


Markdownからスライド生成

gslides_create_from_markdown を使うと、Markdownからデザイン済みのプレゼンテーションを一括生成できます。

Markdownフォーマット

# プレゼンテーションタイトル
## サブタイトル

---

# 今月の成果

- 機能Aの実装完了
- テストカバレッジ **80%** 達成
- パフォーマンス改善

> ポイント: チーム全体で品質に注力した結果

---

# データ比較

| 項目 | Q1 | Q2 | Q3 |
|------|-----|-----|-----|
| 売上 | 100 | 150 | 200 |
| 利益 | 20  | 35  | 50  |

---

# 構成図

![システム構成](drive://1abc_file_id)

<!-- speaker_notes: ここで質疑応答 -->

プリセットテーマ

| テーマ | 説明 | |--------|------| | default | 白背景・シンプル | | corporate_blue | 紺背景・ビジネス向け | | corporate_dark | ダークグレー背景 | | modern_gradient | グラデーション背景 | | minimal_light | ライトグレー・余白重視 | | bold_color | 鮮やかなアクセントカラー | | nature_green | 緑基調 | | warm_orange | オレンジ基調 |

カスタムテーマ

JSON文字列でカスタムテーマを指定可能:

{
  "name": "my_brand",
  "colors": {
    "primary": "#1A73E8",
    "secondary": "#EA4335",
    "background": "#FFFFFF",
    "surface": "#F8F9FA",
    "text_primary": "#202124",
    "text_secondary": "#5F6368",
    "accent": "#FBBC04"
  },
  "fonts": {
    "title": "Noto Sans JP",
    "body": "Noto Sans JP",
    "code": "Noto Sans Mono"
  }
}

アクセス制御

MCPサーバー側でGoogle Drive上のファイルへのアクセスを制限できます。

アクセスモード

| 環境変数 | モード | 許可される操作 | |----------|--------|-------------| | MCP_GDRIVE_ACCESS_MODE=read_only | 読み取り専用 | 一覧、検索、読み取り | | MCP_GDRIVE_ACCESS_MODE=read_write | 読み書き(デフォルト) | 上記 + 作成、更新 | | MCP_GDRIVE_ACCESS_MODE=full | 全操作 | 上記 + 削除、移動 |

フォルダ制限

特定のフォルダのみアクセスを許可:

{
  "mcpServers": {
    "gdrive": {
      "command": "npx",
      "args": ["mcp-gdrive-workspace"],
      "env": {
        "GOOGLE_CLIENT_ID": "xxx",
        "GOOGLE_CLIENT_SECRET": "xxx",
        "MCP_GDRIVE_ACCESS_MODE": "read_only",
        "MCP_GDRIVE_ALLOWED_FOLDERS": "folder_id_1,folder_id_2"
      }
    }
  }
}

名前パターンによるブロック

機密ファイルを名前でブロック:

MCP_GDRIVE_DENIED_NAME_PATTERNS=confidential,社外秘,*.env,人事*

3種類のパターンに対応:

  • 部分一致: confidential → ファイル名に含む場合ブロック
  • ワイルドカード: *.env, 人事*
  • 正規表現: /^\d{4}年.*給与/

設定ファイル

詳細な設定は ~/.mcp-gdrive/policy.json で管理:

{
  "access_mode": "read_write",
  "allowed_folders": [],
  "denied_folders": ["confidential_folder_id"],
  "denied_file_ids": [],
  "denied_name_patterns": ["confidential", "社外秘", "*.credentials"],
  "allowed_mime_types": [],
  "max_file_size_mb": 10,
  "enable_delete": false,
  "enabled_tools": []
}

環境変数一覧

| 環境変数 | 説明 | デフォルト | |----------|------|-----------| | MCP_GDRIVE_ACCESS_MODE | アクセスモード | read_write | | MCP_GDRIVE_ALLOWED_FOLDERS | 許可フォルダID(カンマ区切り) | (なし) | | MCP_GDRIVE_DENIED_FOLDERS | 禁止フォルダID(カンマ区切り) | (なし) | | MCP_GDRIVE_DENIED_NAME_PATTERNS | 禁止名前パターン(カンマ区切り) | (なし) | | MCP_GDRIVE_ENABLE_DELETE | 削除操作の許可 | false | | MCP_GDRIVE_ENABLED_TOOLS | 有効ツール(カンマ区切り) | (全ツール) |


使い方の例

Claude Code での利用

> Driveのプロジェクトフォルダにあるファイル一覧を見せて

> スプレッドシート「売上管理」のA1:D10を読み取って

> 「月次報告」というGoogle Docsを作成して、今月の進捗をまとめて

> 以下の内容でプレゼンテーションを作成して(テーマ: corporate_blue)
  # プロジェクト進捗報告
  ---
  # 完了タスク
  - 機能A実装
  - テスト完了

画像付きスライド作成フロー

  1. Claude Codeがチャート画像を生成
  2. gdrive_upload_image でDriveにアップロード
  3. gslides_insert_image_from_drive でスライドに挿入

開発

git clone https://github.com/fujiyama/mcp-gdrive-workspace.git
cd mcp-gdrive/typescript
npm install
npm run build

開発モード(ファイル変更を監視):

npm run dev

ライセンス

MIT