Google Workspace MCP szerver
Ez a google-workspace skill MCP-szerver változata. A lényeg: nem kell többémountolni a Dokumentumok/Claude/google-workspace mappát minden sessionhöz.
Miért működik? Az MCP-szervereket a Claude Desktop indítja a host gépen, nema Cowork-sandboxban. Így a szerver közvetlenül látja a credential-fájljaidat ahost filerendszerről, a credentialök elérési útját / tartalmát pedig aclaude_desktop_config.json env blokkjából kapja. Minden sessionben automatikusanelérhető, nulla kézi lépéssel.
A teljes Drive / Docs / Sheets / Gmail funkciókészlet ugyanaz, mint a skillé — atényleges API-logika a google_helper.py-ban van, a server.py csak betölti acredentialöket és MCP-tool-ként közzéteszi a függvényeket.
Mire van szükség
- A meglévő credential-fájljaid:
google_token.jsonésgoogle_client_secret.json(ezek már megvannak a~/Dokumentumok/Claude/google-workspacemappádban azeredeti OAuth-setupból). - Python 3.10+ a host gépen.
Telepítés
Másold ezt a
google-workspace-mcpmappát egy állandó helyre, pl.~/Dokumentumok/Claude/google-workspace-mcp.Hozz létre egy virtuális környezetet és telepítsd a függőségeket:
cd ~/Dokumentumok/Claude/google-workspace-mcp python3 -m venv .venv .venv/bin/pip install -r requirements.txtRegisztráld a szervert a
claude_desktop_config.json-ban (Claude Desktop →Settings → Developer → Edit Config, vagy macOS-en~/Library/Application Support/Claude/claude_desktop_config.json).A) Egyszerű mód — a meglévő mappádra mutatsz (ajánlott; a titkok fájlbanmaradnak, nem a configban):
{ "mcpServers": { "google-workspace": { "command": "/ABSZOLUT/UT/google-workspace-mcp/.venv/bin/python", "args": ["/ABSZOLUT/UT/google-workspace-mcp/server.py"], "env": { "GOOGLE_WORKSPACE_DIR": "/ABSZOLUT/UT/Dokumentumok/Claude/google-workspace" } } } }B) Minden a configban — a te eredeti ötleted (a credentialök tartalmainline kerül be; nem függ semmilyen mappától):
{ "mcpServers": { "google-workspace": { "command": "/ABSZOLUT/UT/google-workspace-mcp/.venv/bin/python", "args": ["/ABSZOLUT/UT/google-workspace-mcp/server.py"], "env": { "GOOGLE_TOKEN_JSON": "{\"access_token\":\"...\",\"refresh_token\":\"...\",\"scope\":\"...\"}", "GOOGLE_CLIENT_SECRET_JSON": "{\"installed\":{\"client_id\":\"...\",\"client_secret\":\"...\"}}" } } } }A
commandlegyen a venv pythonja (abszolút út). A/ABSZOLUT/UT/...részeketcseréld a saját útjaidra.Indítsd újra a Claude Desktopot. A
google-workspaceszerver tooljai(search_files, read_doc, write_sheet, gmail_search, create_draft, stb.) ezutánminden sessionben elérhetők.
Credential-betöltési sorrend
A server.py ebben a sorrendben keres:
GOOGLE_WORKSPACE_DIR— mappa, amiben a két JSON fájl van (A mód).GOOGLE_TOKEN_JSON+GOOGLE_CLIENT_SECRET_JSON— a fájlok tartalma inline(B mód). Induláskor egy privát temp mappába íródnak.- Fallback: a helper saját auto-felderítése (a home könyvtárban keres egy
google-workspacemappát).
Token-frissítés
A szerver hosszú életű, ezért a frissített access tokent memóriában tartja aprocess futása alatt — a refresh token nem változik. A mód esetén a frissítetttoken vissza is íródik a mappa google_token.json fájljába. B mód esetén afrissítés csak a process élettartamáig él (a refresh token a configban marad, ígyez nem gond).
Ha 401-et kapsz a refresh ellenére, a refresh token érvénytelen, és újra kellfuttatni az eredeti OAuth-flow-t.
Megjegyzés a régi skillről
Ha ezt használod, a google-workspace skillt akár ki is kapcsolhatod, hogy neütközzön / ne kérje a mappa mountolását. A Gmail-műveletekhez továbbra is amegfelelő OAuth scope-ok kellenek (gmail.modify, a végleges törléshez a teljesmail.google.com).
Biztonsági megjegyzés
A GOOGLE_TOKEN_JSON egy refresh tokent tartalmaz, ami tartós hozzáférést ad afiókodhoz. Akár fájlban (A), akár configban (B) tárolod, kezeld titkosan: ne teddverziókövetésbe, és korlátozd a fájl jogosultságait.