プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Google Workspace

作者:mindstoneバージョン 0.5.5i★ –iパソコンで動く
レジストリ名io.github.mindstone/mcp-server-google-workspace

インストール

概要

作者による説明(英語の原文)

Google Workspace MCP server for Gmail, Calendar, Drive, Docs, Sheets, Slides, Contacts, and more

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: チャット・メール
  • 入力が必要なもの:GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, ACCOUNTS_PATH, CREDENTIALS_PATH

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, ACCOUNTS_PATH, CREDENTIALS_PATH, GOOGLE_WORKSPACE_REQUEST_TIMEOUT_MS, GOOGLE_WORKSPACE_DISABLE_REFRESH, MCP_WORKSPACE_PATH, WORKSPACE_BASE_PATH, GAUTH_FILE

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "google-workspace": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-google-workspace"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "your-value",
        "GOOGLE_CLIENT_SECRET": "your-value",
        "ACCOUNTS_PATH": "your-value",
        "CREDENTIALS_PATH": "your-value",
        "GOOGLE_WORKSPACE_REQUEST_TIMEOUT_MS": "your-value",
        "GOOGLE_WORKSPACE_DISABLE_REFRESH": "your-value",
        "MCP_WORKSPACE_PATH": "your-value",
        "WORKSPACE_BASE_PATH": "your-value",
        "GAUTH_FILE": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add google-workspace --env GOOGLE_CLIENT_ID=your-value --env GOOGLE_CLIENT_SECRET=your-value --env ACCOUNTS_PATH=your-value --env CREDENTIALS_PATH=your-value --env GOOGLE_WORKSPACE_REQUEST_TIMEOUT_MS=your-value --env GOOGLE_WORKSPACE_DISABLE_REFRESH=your-value --env MCP_WORKSPACE_PATH=your-value --env WORKSPACE_BASE_PATH=your-value --env GAUTH_FILE=your-value -- npx -y @mindstone/mcp-server-google-workspace

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "google-workspace": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-google-workspace"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "your-value",
        "GOOGLE_CLIENT_SECRET": "your-value",
        "ACCOUNTS_PATH": "your-value",
        "CREDENTIALS_PATH": "your-value",
        "GOOGLE_WORKSPACE_REQUEST_TIMEOUT_MS": "your-value",
        "GOOGLE_WORKSPACE_DISABLE_REFRESH": "your-value",
        "MCP_WORKSPACE_PATH": "your-value",
        "WORKSPACE_BASE_PATH": "your-value",
        "GAUTH_FILE": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "google-workspace": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-google-workspace"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "your-value",
        "GOOGLE_CLIENT_SECRET": "your-value",
        "ACCOUNTS_PATH": "your-value",
        "CREDENTIALS_PATH": "your-value",
        "GOOGLE_WORKSPACE_REQUEST_TIMEOUT_MS": "your-value",
        "GOOGLE_WORKSPACE_DISABLE_REFRESH": "your-value",
        "MCP_WORKSPACE_PATH": "your-value",
        "WORKSPACE_BASE_PATH": "your-value",
        "GAUTH_FILE": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • GOOGLE_CLIENT_ID 必須 env
    Google OAuth client ID
  • GOOGLE_CLIENT_SECRET 秘密 必須 env
    Google OAuth client secret
  • ACCOUNTS_PATH 必須 env
    Path to accounts.json written by the MCP host
  • CREDENTIALS_PATH 必須 env
    Directory containing per-account Google OAuth token files
  • GOOGLE_WORKSPACE_REQUEST_TIMEOUT_MS env
    Outbound Google API request timeout in milliseconds (max 300000 = 5 min)
  • GOOGLE_WORKSPACE_DISABLE_REFRESH env
    Set to 1 to disable background OAuth token refresh (tokens are only read, never refreshed)
  • MCP_WORKSPACE_PATH env
    Directory attachments and downloaded files are constrained to (defaults to a temp dir; reads/writes outside it are refused)
  • WORKSPACE_BASE_PATH env
    Legacy fallback for MCP_WORKSPACE_PATH; prefer MCP_WORKSPACE_PATH
  • GAUTH_FILE env
    Legacy fallback path to gauth.json OAuth client config; host-orchestrated setups use GOOGLE_CLIENT_ID/GOOGLE_CLIENT_SECRET instead

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント mindstone で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

チャット・メールのほかのサーバーとの比較i

  • このカテゴリのほかの1771件のうち0%よりスターが多い
  • このカテゴリのほかの1771件のうち96%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの1771件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Google Workspaceは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, ACCOUNTS_PATH, CREDENTIALS_PATH

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.5.5)がレジストリに届いたのは今日です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Vexa, emailmd, MCP WhatsApp Cloud

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Vexa

作者:Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

クラウドで動く★ 2,949Apache-2.02 か月前更新
インストール

emailmd

作者:anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

パソコンでもクラウドでも★ 1,385MIT31 日前更新
インストール

MCP WhatsApp Cloud

作者:codespar

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

パソコンで動く★ 277MIT5 か月前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

@mindstone/mcp-server-google-workspace

Google Workspace MCP server — Gmail, Calendar, Drive, Docs, Sheets, Slides, Contacts, Chat, Meet, Tasks, Forms, Comments, and account diagnostics.

*Multi-account Google Workspace MCP. Host-orchestrated OAuth (the connector neither runs a callback server nor mints OAuth URLs), atomic per-account credential writes, and a structured auth_required handoff so the host drives the sign-in flow rather than the server.*

Status

  • Version: 0.5.5 · npm: not yet published
  • Auth: OAuth (host-orchestrated) (GOOGLE_CLIENT_SECRET)
  • Tools: 124 (Gmail, Calendar, Drive, Docs, Sheets, Slides, Contacts, Chat, Meet, Tasks, Forms, Comments, Account)
  • Surface: cloud-api
  • Machine-readable: STATUS.json

This connector is based on aaronsb/google-workspace-mcp and credited under package.json#attribution.

Why this exists

When we ported this in early 2026, Google had not published a first-party MCP server for the Workspace surface. The community options at the time each got parts of the job right — Aaron Brown's aaronsb/google-workspace-mcp, which we used as the starting point, covered the breadth of Workspace APIs but ran its own browser-callback server during OAuth, which our host application already does. We forked it so that the MCP host can own the entire OAuth flow (the connector returns a structured auth_required response instead of running a callback server or computing OAuth URLs), per-account token files are written atomically with restrictive permissions and symlink rejection, and the connector goes through our own security review before each release. Google's Workspace MCP has since shipped; we continue to maintain this one because it integrates with our host's credential-file layout, host-orchestrated OAuth handoff, and recovery-guidance contract. This is now a hard fork maintained independently in this repository — we do not sync changes from the upstream project.

Example interaction

"Find the email thread Alice sent yesterday about Q3 planning and reply with 'thanks, will read tonight'."

Tools the host calls:

  1. search_workspace_emails — searches Gmail for from:alice@... subject:"Q3 planning" newer_than:1d.
  2. reply_to_workspace_email — replies on the returned thread ID with the supplied body.

Response (trimmed):

{

"thread": { "id": "1928a...", "subject": "Q3 planning", "from": "alice@example.com" }, "reply": { "id": "1928b...", "labelIds": ["SENT"] } }

Requirements

  • Node.js 20+ (engines.node is >=18, but the build and tests are exercised on 20 and 22)
  • npm
  • A host application that performs the Google OAuth flow and writes accounts.json plus per-account token files for the connector to read.

Quick Start

Install & build
cd <path-to-repo>/connectors/google-workspace

npm install npm run build

npx (once published)
npx -y @mindstone/mcp-server-google-workspace
Local
node dist/index.js

Configuration

When Google says "slow down". There is nothing to configure here. For reads (GET, HEAD and OPTIONS), short-window rate limits wait and retry the request; the total can be longer than a minute and a half when Google sends Retry-After, and each wait is capped at 64 seconds. Requests that already succeeded are not sent again. POST and PATCH are never replayed by the retry policy; PUT and DELETE keep the ordinary 429 retries but do not retry rate-limit 403s. Non-rate-limit permission errors and longer-window 403 quota responses keep their ordinary behavior; 429 responses give back-off advice, and some tools also include Google's error text. When the read retry loop ends, the error says so (recoveryExhausted: true); a host that retries failed calls itself can read that field and skip its own retry.

Values you pass back stay exact. Results mark text that comes from outside (email bodies, file names, event titles) as untrusted content, by wrapping it in an tag. Values meant to be passed back into another call are returned exactly as Google sent them: page tokens (which fetch the next page of results) and the IDs of messages, threads, files, events, calendars, Chat spaces and Meet records. You can pass them straight into the next call.

This server is designed to run alongside a host application that performs the Google OAuth flow on its own. The host writes credentials to disk; this server reads them.

Required environment variables
VariableDescription
GOOGLE_CLIENT_IDGoogle OAuth client ID.
GOOGLE_CLIENT_SECRETGoogle OAuth client secret.
ACCOUNTS_PATHPath to accounts.json (host-written index of authenticated accounts).
CREDENTIALS_PATHDirectory containing per-account Google OAuth token files.
Optional environment variables
VariableDefaultDescription
GOOGLE_WORKSPACE_REQUEST_TIMEOUT_MS60000Outbound Google API request timeout in milliseconds (max 300000 = 5 min).

GOOGLE_WORKSPACE_DISABLE_REFRESH=1 may be injected by a host to make the connector return auth_required instead of refreshing tokens. It is intentionally not a user-facing setup variable.

Authentication flow

authenticate_workspace_account returns a structured auth_required response:

{

"status": "auth_required", "user_action": { "id": "google.connect_account" }, "agent_action": { "instruction": "Connect Google Workspace to continue. The user will be redirected to Google's sign-in." }, "setupToolName": "authenticate_workspace_account" }

The connector does not run a callback server and does not generate OAuth URLs. The MCP host computes the Google OAuth URL and handles the callback. Once the host has written the account's token file under CREDENTIALS_PATH/ and an entry into ACCOUNTS_PATH, the next tool call succeeds.

Host configuration examples

Claude Desktop / Cursor
{

"mcpServers": { "GoogleWorkspace": { "command": "npx", "args": ["-y", "@mindstone/mcp-server-google-workspace"], "env": { "GOOGLE_CLIENT_ID": "your-google-oauth-client-id", "GOOGLE_CLIENT_SECRET": "your-google-oauth-client-secret", "ACCOUNTS_PATH": "/absolute/path/to/accounts.json", "CREDENTIALS_PATH": "/absolute/path/to/credentials" } } } }

Until the host has written ${ACCOUNTS_PATH} and the matching per-account token file under ${CREDENTIALS_PATH}/, every tool call returns the structured auth_required response (see the Authentication flow above).

Local development (no npm publish needed)
{

"mcpServers": { "GoogleWorkspace": { "command": "node", "args": [" /connectors/google-workspace/dist/index.js"], "env": { "GOOGLE_CLIENT_ID": "your-google-oauth-client-id", "GOOGLE_CLIENT_SECRET": "your-google-oauth-client-secret", "ACCOUNTS_PATH": "/absolute/path/to/accounts.json", "CREDENTIALS_PATH": "/absolute/path/to/credentials" } } } }

Tools (124)

The full list lives under src/tools/definitions/ and is also surfaced in tools-inventory.json. Grouped by domain:

DomainToolsNotes
Gmail23Email search/thread/send/compose, drafts, labels, label filters, attachments, archive/trash/read-state helpers, settings, vacation responder, and send-as aliases/signatures.
Calendar9Current time, free-slot lookup, calendar/event listing, event creation, updates, responses, and deletion.
Drive15List/search/upload/download/copy/move/trash/untrash files, folders, permissions, revisions, shared-drive discovery, and activity queries (what changed, when, by whom).
Docs13Read, create, append, replace, find/replace (whole doc or one tab), insert text at an anchor, tab tree, add/rename/move/delete tabs, copy a tab's content into another tab, and batch updates. Read, append, replace and find/replace can target one tab (tab_id); reads can also cover every tab (all_tabs).
Sheets17Read/write ranges, create spreadsheets, sheet management (add, duplicate, rename, reorder, delete), insert rows or columns formatted like their neighbours, batch operations, find/replace, and formatting.
Slides7Read, create, list/get slides, batch update, thumbnails, and ID extraction.
Labels12Gmail label CRUD and filter rules.
Contacts4List, search, create, and update contacts.
Chat3List spaces, list messages in a space, and send text messages.
Meet3List conference records, list transcripts, and read transcript entries (speaker + text).
Comments5List/create/reply/resolve/delete Drive comments.
Account3List, authenticate, and remove workspace accounts.
Tasks6List task lists, and list/create/update/complete/delete tasks.
Forms4Read-only access to forms and their responses.
Compose send status

In hosts that remember send status, sending an email closes its other compose copies. Reloaded cards show "Email sent" with the send time and hide Reopen because they do not have the sent contents. The copy used to send keeps its posted contents in a read-only sent view, including when confirmation follows a lost reply. After an error or block reply, a later sent status from another copy shows only the sent bar, without this copy's contents. While a send is in progress, other copies show “Sending…” with Send, Retry, Cancel and Save draft (where available) disabled. Replies to this copy’s own requests keep those controls locked until the other send ends. If the send ends without a confirmed outcome, those copies return to editing and keep any earlier uncertainty. A copy waiting for its own Send reply keeps its sending view. Sent views stay read-only, and uncertainty remains until a send is confirmed. After an error or missing confirmation, check whether the email was sent before using Retry; the notice stays visible while editing and returns on Reopen. Collapsing the card does not resolve that uncertainty. Policy-block explanations stay visible while editing with Send disabled. Cancel says "Nothing sent" only when no send may have gone through, including a not-dispatched failure before the request left the device.

When sending is blocked by your settings, your organization or security policy, the card hides Retry and keeps Cancel. If the server is stopped, Retry remains available.

Send requests declare _meta: { 'mcp-app/cardOutcome': 'sent' } to supporting hosts. When your own setting blocks sending, Retry stays unavailable; the Gmail fallback depends on the structured user-disabled reason. Draft saves do not declare a send outcome; Cancel after a draft-save timeout says "Nothing sent" unless an earlier send remains uncertain.

Sheets read limits

read_workspace_spreadsheet_values accepts max_rows and max_cols to keep the first rows and columns of a values read, including value_view: "shaped" and return_json: true. They refer to sheet rows and columns even with major_dimension: "COLUMNS". Omitted limits leave that dimension unchanged. A truncated result reports truncated: true in JSON or a truncation notice in text.

Anchor envelopes keep their first/last windows, summary and continuation token unchanged. Limits apply when reading a continuation page, but truncation creates no new token and does not advance the original token. To retrieve omitted cells, re-read a

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く