Puter MCP
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
Google Workspace MCP — Docs, Drive, Calendar, Gmail, Sheets, Slides, Tasks, Chat, People, Forms
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 13, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
You need a Workspace key (create it on the maker’s site) · Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
How to get a key is in the maker’s README below
SettingsDeveloperEdit Config
{
"mcpServers": {
"workspace": {
"command": "npx",
"args": [
"-y",
"@n24q02m/workspace"
],
"env": {
"GOOGLE_OAUTH_CLIENT_ID": "your-value",
"GOOGLE_OAUTH_CLIENT_SECRET": "your-value"
}
}
}
}Paste the key only into the app’s field, never into a chat or to anyone
Use Workspace and tell me what you can do for me, then show me one thing✓ If Claude says it is using Workspace or shows a Workspace tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Workspace yet
Workspace runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Workspace
Works with Claude Code, with some setup first
You need a Workspace key (create it on the maker’s site) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
How to get a key is in the maker’s README below
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user workspace --env GOOGLE_OAUTH_CLIENT_ID=your-value --env GOOGLE_OAUTH_CLIENT_SECRET=your-value -- npx -y @n24q02m/workspaceReplace “your-value” with your key before pressing Enter
Paste the key only into the app’s field, never into a chat or to anyone
You should see Workspace listed as connected
Use Workspace and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Workspace or shows a Workspace tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
You need a Workspace key (create it on the maker’s site) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
How to get a key is in the maker’s README below
In the Workspace settings, GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Workspace and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Workspace or shows a Workspace tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
You need a Workspace key (create it on the maker’s site) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
How to get a key is in the maker’s README below
In the Workspace settings, GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Workspace and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Workspace or shows a Workspace tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
JSON settings are under “For developers” below
Claude Code
claude mcp add --scope user workspace --env GOOGLE_OAUTH_CLIENT_ID=your-value --env GOOGLE_OAUTH_CLIENT_SECRET=your-value -- npx -y @n24q02m/workspaceClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"workspace": {
"command": "npx",
"args": [
"-y",
"@n24q02m/workspace"
],
"env": {
"GOOGLE_OAUTH_CLIENT_ID": "your-value",
"GOOGLE_OAUTH_CLIENT_SECRET": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"workspace": {
"command": "npx",
"args": [
"-y",
"@n24q02m/workspace"
],
"env": {
"GOOGLE_OAUTH_CLIENT_ID": "your-value",
"GOOGLE_OAUTH_CLIENT_SECRET": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"workspace": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@n24q02m/workspace"
],
"env": {
"GOOGLE_OAUTH_CLIENT_ID": "your-value",
"GOOGLE_OAUTH_CLIENT_SECRET": "your-value"
}
}
}
}GOOGLE_OAUTH_CLIENT_ID required envGOOGLE_OAUTH_CLIENT_SECRET secret required envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
npm: @n24q02m/workspaceoci: docker.io/n24q02m/workspace:latestBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 13, 2026
The registry name was verified with the GitHub account n24q02m, which owns the repo
Code last changed yesterday
Uses Apache-2.0
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed yesterday, and the latest version (0.7.0) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js, Docker on your computer.
In the same category: Puter MCP, XcodeBuildMCP, XcodeBuildMCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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)
| Project | Tagline | Tag |
|---|---|---|
| agent-chat-plugin | Peer AI agents chat in a shared folder — no human relay, no orchestrator, wor... | Tooling |
| better-code-review-graph | Knowledge graph for token-efficient code reviews -- semantic search and call-... | MCP |
| better-drive | 2-way Google Drive sync with .driveignore filter — rclone engine, Windows tray | Tooling |
| better-email-mcp | IMAP/SMTP email for AI agents -- read, send, organize folders, and manage att... | MCP |
| better-godot-mcp | Composite MCP server for Godot Engine -- 17 composite tools for AI-assisted g... | MCP |
| better-notion-mcp | Markdown-first Notion for AI agents -- pages, databases, blocks, and comments... | MCP |
| better-semantic-release | Drop-in python-semantic-release fork with built-in release-safety guards (orp... | Tooling |
| better-telegram-mcp | Telegram for AI agents -- messages, chats, media, and contacts across both bo... | MCP |
| workspace | Google Workspace MCP server (Docs/Drive/Calendar/Gmail/Sheets/Slides/Tasks/Ch... | MCP |
| claude-plugins | Claude Code plugin marketplace for the n24q02m MCP servers -- install web sea... | Marketplace |
| imagine-mcp | Image and video understanding + generation for AI agents -- across Gemini, Op... | MCP |
| jules-task-archiver | Chrome Extension for bulk operations on Jules tasks via batchexecute API -- a... | Tooling |
| mcp-core | Shared foundation for building MCP servers -- Streamable HTTP transport, OAut... | MCP |
| mnemo-mcp | Persistent AI memory with hybrid search and embedded sync. Open, free, unlimi... | MCP |
| qwen3-embed | Lightweight Qwen3 text embedding and reranking via ONNX Runtime and GGUF | Library |
| skret | Secrets without the server. | CLI |
| tacet | A self-distilling neuro-symbolic cascade that amortises LLM cost across knowl... | Tooling |
| web-core | Shared web infrastructure package for search, scraping, HTTP security, and st... | Library |
| wet-mcp | Open-source MCP server for AI agents: web search, content extraction, and lib... | MCP |
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 is now io.github.n24q02m/workspace; the entry published under io.github.n24q02m/better-workspace-mcp stays on the registry as a frozen historical release, 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 ~/.workspace/ (a store an earlier release wrote under ~/.better-workspace/ is copied forward on the next start, and the older ~/.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
workspacefollowing the steps at
https://raw.githubusercontent.com/n24q02m/claude-plugins/main/plugins/workspace/setup-with-agent.md
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" } } }
Two, and only two. There is no proxy or daemon mode: stdio speaks the MCP stdio transport directly, with no HTTP hop inside it.
| Mode | Selected by | Serves | Google OAuth client |
|---|---|---|---|
stdio | the default | one user, on their own machine | Desktop app |
http | --http, MCP_TRANSPORT=http, or TRANSPORT_MODE=http | several users, one credential bucket per user namespace | Web application |
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.
| Variable | Required | What it does |
|---|---|---|
GOOGLE_OAUTH_CLIENT_ID | yes | Web client id. The server refuses to start without it. |
GOOGLE_OAUTH_CLIENT_SECRET | yes | Web client secret. Same. |
CREDENTIAL_SECRET | yes | Derives 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_FILE | yes in HTTP | Users file that maps each bearer token to a user namespace (hull multi auth). Unset uses hull's default location. |
WORKSPACE_DATA_DIR | no | Base directory for the credential store ( /.workspace/, one encrypted blob per user). Unset uses the home directory. A relative value is resolved under the home directory and must stay inside it, so use an absolute path for a mounted volume. |
PORT | no | Listen port. 0 (the default) asks the OS for a free one. |
HOST | no | Bind address. Defaults to loopback, so a container needs 0.0.0.0. |
Credentials are stored on local disk under ~/.workspace/, which is the data volume in the container. A store from an earlier release (~/.better-workspace/) is copied forward on startup, and the older ~/.better-workspace-mcp/ is read as a fallback.
docker-compose.http.yml in this repo is these variables written out as a runnable overlay.
One composite tool per Workspace domain, plus config and help:
| Tool | What it covers |
|---|---|
docs | Google Docs -- getText, create, writeText, getSuggestions, replaceText, formatText |
drive | Files and folders -- search, findFolder, createFolder, moveFile, renameFile, trashFile, downloadFile, getComments |
calendar | Events -- listCalendars, listEvents, getEvent, createEvent, updateEvent, deleteEvent, respondToEvent, findFreeTime |
gmail | Mail -- search, get, send, createDraft, sendDraft, modify, batchModify, modifyThread, downloadAttachment, listLabels, createLabel |
sheets | Spreadsheets, read-only -- getText, getRange, getMetadata |
slides | Presentations -- 19 actions covering slides, text, shapes, images, tables, and speaker notes |
tasks | Task lists and tasks -- listTaskLists, listTasks, createTask, updateTask, completeTask, deleteTask |
chat | Google Chat -- listSpaces, findSpaceByName, setUpSpace, getMessages, listThreads, sendMessage, sendDm, findDmByEmail |
people | Profile lookups -- getMe, getUserProfile, getUserRelations |
forms | Forms -- create, get, batchUpdate, listResponses, getResponse |
time | Local date/time/timezone helpers (no Google account needed) |
config | Credential state and account management (CLI: config-tool) |
help | Full 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.