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

Better Workspace MCP

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

インストール

概要

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

Google Workspace MCP — Docs, Drive, Calendar, Gmail, Sheets, Slides, Tasks, Chat, People, Forms

PopNx MCPの3つの柱

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

できること

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

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 文書・表計算・事務作業
  • 入力が必要なもの:GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET

インストール

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

インストールの前に

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

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

必要なもの

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

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

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

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

{
  "mcpServers": {
    "better-workspace": {
      "command": "npx",
      "args": [
        "-y",
        "@n24q02m/workspace"
      ],
      "env": {
        "GOOGLE_OAUTH_CLIENT_ID": "your-value",
        "GOOGLE_OAUTH_CLIENT_SECRET": "your-value"
      }
    }
  }
}

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

claude mcp add better-workspace --env GOOGLE_OAUTH_CLIENT_ID=your-value --env GOOGLE_OAUTH_CLIENT_SECRET=your-value -- npx -y @n24q02m/workspace

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

Cursorで開く

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

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

{
  "mcpServers": {
    "better-workspace": {
      "command": "npx",
      "args": [
        "-y",
        "@n24q02m/workspace"
      ],
      "env": {
        "GOOGLE_OAUTH_CLIENT_ID": "your-value",
        "GOOGLE_OAUTH_CLIENT_SECRET": "your-value"
      }
    }
  }
}

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

VS Codeで開く

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

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

{
  "servers": {
    "better-workspace": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@n24q02m/workspace"
      ],
      "env": {
        "GOOGLE_OAUTH_CLIENT_ID": "your-value",
        "GOOGLE_OAUTH_CLIENT_SECRET": "your-value"
      }
    }
  }
}

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

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

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

自分で入力する値

  • GOOGLE_OAUTH_CLIENT_ID 必須 env
    OAuth 2.0 Desktop client ID from Google Cloud Console (APIs & Services > Credentials)
  • GOOGLE_OAUTH_CLIENT_SECRET 秘密 必須 env
    OAuth 2.0 Desktop client secret (paired with the client ID above)

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

できること

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

基本チェックi

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

  • ✓ 合格

    作者とリポジトリが一致

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

  • … 未チェック

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

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

  • … 未チェック

    ライセンスがある

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

  • – 対象外

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

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

  • – 対象外

    OAuthでサインイン

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

  • … 未チェック

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

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

文書・表計算・事務作業のほかのサーバーとの比較i

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

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

よくある質問

Better Workspace MCPは安全ですか?

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

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

入力が必要なもの:GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET

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

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

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

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

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

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

代わりに使えるものは?

同じカテゴリには:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

代わりの候補

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

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

Excel MCP Server

Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.

作者:haris-musa広く使われている↓ 5万/週★ 4276今日更新

パソコンで動く

MCP Server for Excel

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

作者:sbroenne成長中↓ 4321/週★ 8476 日前更新

パソコンで動く

作者のREADME

READMEを開く

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

workspace

Google Workspace MCP — Docs, Drive, Calendar, Gmail, Sheets, Slides, Tasks, Chat, People, Forms

ARCHIVED 2026-09-13 — This repository is no longer maintained. Use the official Google Workspace APIs instead of this MCP server. Existing installations keep working but receive no updates or support.

Docs · Install · Quick start · Community

Sister projects from n24q02m (click to expand)

ProjectTaglineTag
agent-chat-pluginPeer AI agents chat in a shared folder — no human relay, no orchestrator, wor...Tooling
better-code-review-graphKnowledge graph for token-efficient code reviews -- semantic search and call-...MCP
better-drive2-way Google Drive sync with .driveignore filter — rclone engine, Windows trayTooling
better-email-mcpIMAP/SMTP email for AI agents -- read, send, organize folders, and manage att...MCP
better-godot-mcpComposite MCP server for Godot Engine -- 17 composite tools for AI-assisted g...MCP
better-notion-mcpMarkdown-first Notion for AI agents -- pages, databases, blocks, and comments...MCP
better-semantic-releaseDrop-in python-semantic-release fork with built-in release-safety guards (orp...Tooling
better-telegram-mcpTelegram for AI agents -- messages, chats, media, and contacts across both bo...MCP
better-workspace-mcpGoogle Workspace MCP server (Docs/Drive/Calendar/Gmail/Sheets/Slides/Tasks/Ch...MCP
claude-pluginsClaude Code plugin marketplace for the n24q02m MCP servers -- install web sea...Marketplace
imagine-mcpImage and video understanding + generation for AI agents -- across Gemini, Op...MCP
jules-task-archiverChrome Extension for bulk operations on Jules tasks via batchexecute API -- a...Tooling
mcp-coreShared foundation for building MCP servers -- Streamable HTTP transport, OAut...MCP
mnemo-mcpPersistent AI memory with hybrid search and embedded sync. Open, free, unlimi...MCP
qwen3-embedLightweight Qwen3 text embedding and reranking via ONNX Runtime and GGUFLibrary
skretSecrets without the server.CLI
tacetA self-distilling neuro-symbolic cascade that amortises LLM cost across knowl...Tooling
web-coreShared web infrastructure package for search, scraping, HTTP security, and st...Library
wet-mcpOpen-source MCP server for AI agents: web search, content extraction, and lib...MCP

Table of contents

  • Install
  • Remote (HTTP mode)
  • Tools
  • Quick start
  • Multi-account
  • Documentation
  • Deployment
  • Handover
  • Contributing
  • License

Install

The server runs in two modes: stdio (default, single-user, one Google OAuth client of your own) and HTTP (multi-user, per-user bearer tokens). For stdio, add it to your MCP client config:

{

"mcpServers": { "workspace": { "command": "npx", "args": ["--yes", "@n24q02m/workspace@latest"], "env": { "GOOGLE_OAUTH_CLIENT_ID": " .apps.googleusercontent.com", "GOOGLE_OAUTH_CLIENT_SECRET": " " } } } }

The package is @n24q02m/workspace (formerly @n24q02m/better-workspace-mcp; old package receives one final release then freezes). The MCP Registry id stays io.github.n24q02m/better-workspace-mcp, and the legacy better-workspace-mcp command is kept as an alias of workspace.

Those two values come from an OAuth 2.0 client of type Desktop app, created in the Google Cloud Console under APIs & Services → Credentials. Desktop is the right type because the server receives the consent redirect on a loopback address, not on a public URL. Enable the Workspace APIs you plan to call on the same project, and add yourself as a test user while the consent screen is unpublished.

The first run opens the Google consent screen in your browser; the refresh token is stored encrypted on your machine under ~/.better-workspace/ (a legacy ~/.better-workspace-mcp/ is read as a fallback), so later runs start without asking again.

The same server can also serve several people over HTTP -- see Remote (HTTP mode).

Install with an AI agent -- paste this to your AI coding agent:

Install MCP server workspace following the steps at

https://raw.githubusercontent.com/n24q02m/claude-plugins/main/plugins/better-workspace-mcp/setup-with-agent.md

Remote (HTTP mode)

Besides stdio, the server runs as a multi-user HTTP service. Each request carries a bearer token from a users file (WORKSPACE_USERS_FILE), and each user's Google credentials are kept in their own bucket, keyed by that user's namespace, so one deployment serves several people without them sharing an account. Google consent for an HTTP account runs on the host, with workspace auth --user .

Point your MCP client at the host you deployed it on:

{

"mcpServers": { "workspace": { "type": "http", "url": "https:// /mcp" } } }

Modes

Two, and only two. There is no proxy or daemon mode: stdio speaks the MCP stdio transport directly, with no HTTP hop inside it.

ModeSelected byServesGoogle OAuth client
stdiothe defaultone user, on their own machineDesktop app
http--http, MCP_TRANSPORT=http, or TRANSPORT_MODE=httpseveral users, one credential bucket per user namespaceWeb application
Two OAuth clients, not one

Google binds redirect URIs to the *type* of the OAuth client, so the two modes cannot share one. stdio uses a Desktop client, which may redirect to any loopback port. HTTP uses a Web client. Keep the two credentials under separate names: pointing GOOGLE_OAUTH_CLIENT_ID/_SECRET at the Web client on a machine that also runs stdio breaks every stdio install. That is why docker-compose.http.yml reads the Web pair as GOOGLE_OAUTH_WEB_CLIENT_ID/_SECRET and renames it on the way into the container.

Environment
VariableRequiredWhat it does
GOOGLE_OAUTH_CLIENT_IDyesWeb client id. The server refuses to start without it.
GOOGLE_OAUTH_CLIENT_SECRETyesWeb client secret. Same.
CREDENTIAL_SECRETyesDerives the encryption key of each user's credential store. The server refuses to start without it, rather than fail in the middle of a user's consent.
WORKSPACE_USERS_FILEyes in HTTPUsers file that maps each bearer token to a user namespace (hull multi auth). Unset uses hull's default location.
PORTnoListen port. 0 (the default) asks the OS for a free one.
HOSTnoBind address. Defaults to loopback, so a container needs 0.0.0.0.

Credentials are stored on local disk under ~/.better-workspace/, which is the data volume in the container. A legacy ~/.better-workspace-mcp/ is read as a fallback.

docker-compose.http.yml in this repo is these variables written out as a runnable overlay.

Tools

One composite tool per Workspace domain, plus config and help:

ToolWhat it covers
docsGoogle Docs -- getText, create, writeText, getSuggestions, replaceText, formatText
driveFiles and folders -- search, findFolder, createFolder, moveFile, renameFile, trashFile, downloadFile, getComments
calendarEvents -- listCalendars, listEvents, getEvent, createEvent, updateEvent, deleteEvent, respondToEvent, findFreeTime
gmailMail -- search, get, send, createDraft, sendDraft, modify, batchModify, modifyThread, downloadAttachment, listLabels, createLabel
sheetsSpreadsheets, read-only -- getText, getRange, getMetadata
slidesPresentations -- 19 actions covering slides, text, shapes, images, tables, and speaker notes
tasksTask lists and tasks -- listTaskLists, listTasks, createTask, updateTask, completeTask, deleteTask
chatGoogle Chat -- listSpaces, findSpaceByName, setUpSpace, getMessages, listThreads, sendMessage, sendDm, findDmByEmail
peopleProfile lookups -- getMe, getUserProfile, getUserRelations
formsForms -- create, get, batchUpdate, listResponses, getResponse
timeLocal date/time/timezone helpers (no Google account needed)
configCredential state and account management
helpFull documentation for any tool

Questions are added to a form with forms(action="batchUpdate"), not at create; responses are read-only, because the Forms API cannot write one. Listing or deleting forms goes through drive.

Quick start

Check that the credentials landed, with the config tool. Before the first consent this reports awaiting_setup; afterwards it names the account the server is acting as:

{ "action": "status" }

Then call a domain tool. On docs, create returns the new document's ID, which getText reads back:

{ "action": "create", "title": "Notes", "content": "First line." }

{ "action": "getText", "documentId": " " }

time, config, and help need no Google account, so they answer even before consent -- time is the quickest check that

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

PopNxに聞く