プロジェクト概要

このプロジェクトは、Model Context Protocol (MCP) に基づいて構築されたサーバー実装であり、Google スプレッドシートおよび Google Drive へのアクセスと操作機能を提供します。AI アシスタント(LLM クライアント)は、このサーバーを通じてこれらの Google サービスと連携し、指定されたファイルやスプレッドシートのデータを読み書きしたり、ファイルやシートの管理タスクを実行したりできます。

主要機能

このツールは、以下の Google Drive および Google Spreadsheet の操作を MCP ツールとして提供します。

Google Drive 操作

  • ファイル一覧取得: Google Drive の指定フォルダ内のファイルとフォルダの一覧を取得します。
  • ファイルコピー: Google Drive 内でファイルをコピーします。
  • ファイル名変更: Google Drive 内のファイル名を変更します。

Google Spreadsheet 操作

  • シート一覧取得: 指定されたスプレッドシート内のシート一覧を取得します。
  • シートコピー: スプレッドシート内のシートを別のシートまたは別のスプレッドシートにコピーします。
  • シート名変更: スプレッドシート内のシート名を変更します。
  • シートデータ取得: 指定したシートまたは範囲のセルデータを取得します。
  • 行追加: シートに指定数の行を追加します。
  • 列追加: シートに指定数の列を追加します。
  • セル更新 (単一範囲): 指定した範囲のセルデータを更新します。
  • セル一括更新 (複数範囲): 複数の範囲のセルデータを一度に更新します。
  • 行削除: シートの指定開始行から指定数の行を削除します。
  • 列削除: シートの指定開始列から指定数の列を削除します。

インストール手順

Go 1.24 以上がインストールされている環境で、以下のコマンドを実行します。

go install github.com/prudentmean/mcp-google-spreadsheet@latest

このコマンドにより、実行可能ファイル 'mcp-google-spreadsheet' が '$GOPATH/bin' ディレクトリにインストールされます('$GOPATH' が設定されていない場合は、通常 '$HOME/go' となります)。

サーバー設定

この MCP サーバーは、以下の環境変数を必要とします。サーバーを起動する前にこれらの環境変数を設定してください。

  • 'MCPGS_CLIENT_SECRET_PATH': Google API の OAuth 2.0 クライアントシークレットをダウンロードした JSON ファイルへのパス。
  • 'MCPGS_TOKEN_PATH': 認証トークンを保存するためのファイルパス。初回起動時に認証を行うと、このパスにトークンファイルが自動的に作成されます。
  • 'MCPGS_FOLDER_ID': このサーバーが操作を許可する Google Drive のフォルダID。セキュリティのため、操作対象を特定のフォルダ内に限定します。

Google API の準備

  1. Google Cloud Console でプロジェクトを作成します。
  2. 作成したプロジェクトで「Google Drive API」と「Google Sheets API」を有効化します。
  3. 「認証情報」画面で「認証情報を作成」>「OAuth クライアント ID」を選択します。
  4. アプリケーションの種類として「デスクトップ」を選択し、任意の名前を付けて作成します。
  5. 作成された OAuth クライアントのクライアントシークレットを JSON ファイルとしてダウンロードし、そのパスを 'MCPGS_CLIENT_SECRET_PATH' に設定します。

基本的な使用方法

サーバーの起動

必要な環境変数を設定した後、インストールしたバイナリを実行します。

export MCPGS_CLIENT_SECRET_PATH=/path/to/client_secret.json
export MCPGS_TOKEN_PATH=/path/to/token.json
export MCPGS_FOLDER_ID=your_google_drive_folder_id
mcp-google-spreadsheet

初回起動時は、ブラウザが起動して Google アカウントへの認証を求められます。画面の指示に従って認証を完了してください。認証が成功すると、トークンファイルが 'MCPGS_TOKEN_PATH' に指定した場所に保存され、以降は自動的に認証が行われます。

MCP クライアントからの利用設定

Claude や ChatGPT などの MCP クライアントからこのサーバーを利用するには、クライアント側の設定ファイルにこのサーバーの起動情報を追加します。設定内容はクライアントによって異なりますが、一般的には以下のような JSON 形式で記述します。

{
  "mcpServers": {
    "mcp_google_spreadsheet": { // サーバーを識別するための任意の名前
      "command": "mcp-google-spreadsheet", // サーバー実行可能ファイルへのパスまたはコマンド
      "args": [], // サーバー起動時に渡すコマンドライン引数(通常は不要)
      "env": { // サーバー起動時に設定する環境変数
        "MCPGS_CLIENT_SECRET_PATH": "/path/to/client_secret.json", // Google API クライアントシークレットのパス
        "MCPGS_TOKEN_PATH": "/path/to/token.json", // 認証トークンファイルのパス
        "MCPGS_FOLDER_ID": "your_google_drive_folder_id" // 操作対象の Google Drive フォルダID
      }
    }
  }
}

'command' には、'go install' でインストールしたバイナリへの絶対パスを指定するか、または 'mcp-google-spreadsheet' のようにコマンド名のみを指定できます。コマンド名のみの場合は、MCP クライアントを実行する環境の 'PATH' に '$GOPATH/bin' が含まれている必要があります。

設定が完了すると、AI アシスタントは MCP クライアントを通じてこのサーバーに接続し、定義された Google Drive/Spreadsheet 操作ツールを利用できるようになります。

信息

分类

生产力应用