gsuite-mcp-lane
Search Gmail messages by query, returning message IDs, thread IDs, and snippets.
Append rows of data to a specified Google Sheets spreadsheet and sheet.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gsuite-mcp-laneSearch Gmail for recent seller orders and append them to my sales sheet."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GSuite MCP Lane — Gmail search + Sheets append as MCP tools
Two scoped MCP tools that move seller-inbox rows from Gmail into Google Sheets without Zapier: gold_gmail_search + gold_sheets_append. BYOK Google OAuth, no hosted sync, no stored credentials.
Portfolio showcase extracted from private studio work. Derivative of MarkusPfundstein/mcp-gsuite (MIT, 489★) — original license preserved in THIRD_PARTY_NOTICES.md.
Scope: the tools return honest
config_neededstubs and wiring plans until Google OAuth is connected — no data is ever invented. Wiregoogleapiscalls to go fully live.
Tools
Tool | What it does |
| Search Gmail by query ( |
| Append |
All tools are gold_* prefixed — no collision with upstream mcp-gsuite. A guided 2-step (search then append) lives in src/moat.ts; the 2 granular tools are the primary contract.
Example (without auth — preview):
// gold_gmail_search { "query": "newer_than:7d", "max_results": 20 }
// → { "tool":"gold_gmail_search", "query":"newer_than:7d", "status":"config_needed", "hint":"Set GOOGLE_OAUTH_..." }
// gold_sheets_append { "spreadsheet_id":"1Bxi...","values":[["2026-08-22","order #123","$19"]]}Related MCP server: charity-gmail-mcp
Quickstart
npm install
npm run build
node dist/index.jsClaude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"gsuite-mcp-lane": {
"command": "node",
"args": ["/absolute/path/to/gsuite-mcp-lane/dist/index.js"],
"env": {
"GOOGLE_OAUTH_CLIENT_ID": "xxx.apps.googleusercontent.com",
"GOOGLE_OAUTH_CLIENT_SECRET": "xxx",
"GOOGLE_OAUTH_REFRESH_TOKEN": "xxx"
}
}
}
}BYOK setup (Google OAuth — no hosted sync)
Google Cloud project → enable Gmail API + Google Sheets API.
Create OAuth 2.0 Client ID →
CLIENT_ID+CLIENT_SECRET.Generate a refresh token (offline access) →
REFRESH_TOKEN(or short-livedACCESS_TOKEN).
Var | Purpose |
| OAuth client ID |
| OAuth client secret |
| Long-lived refresh token (preferred) |
| Short-lived access token (alt) |
| Service-account JSON path (alt) |
Upstream attribution
MarkusPfundstein/mcp-gsuite— MIT — https://github.com/MarkusPfundstein/mcp-gsuite
Derivative code in src/ is original work. Upstream MIT preserved in THIRD_PARTY_NOTICES.md.
Stack
TypeScript · MCP SDK (stdio) · zod schemas · BYOK OAuth
Next steps
Drive/Calendar tools from the same upstream, write-path confirmations, Smithery registry listing.
License
MIT, Copyright 2026 Maxim Konovalov. See LICENSE.
Author
Maxim Konovalov — Haifa · MCP servers + AI pipelines. More lanes + private demos on call.
Available Tools
3 toolsgold_gmail_searchA
Gmail search (BYOK Google OAuth). Query like newer_than:7d seller/order/refund. Returns honest config_needed stub without auth — no data invented.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Gmail query, default newer_than:7d | |
| max_results | No | max 1-50, default 20 | |
| include_body | No | include body snippet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It explicitly states that without auth it returns an 'honest config_needed stub' and that no data is invented, which is valuable anti-hallucination guidance. It does not cover result structure or error behavior beyond auth, preventing a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences front-load the operation, then give a query example, then state the auth-failure behavior. Every sentence earns its place, and there is no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers auth failure behavior well, but with no output schema it leaves the success return format, pagination, and body-snippet semantics open to inference. The low complexity of three optional parameters prevents this from being a larger gap, but it is still a clear omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds a concrete Gmail query example ('newer_than:7d seller/order/refund') that demonstrates operator usage for the query parameter. This goes beyond the schema's simple 'Gmail query' description, though max_results and include_body receive no extra semantic guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the operation as 'Gmail search' with a specific resource (Gmail) and an example query format. It also distinguishes itself from siblings like gold_setup_check and gold_sheets_append by its search focus, so an agent can select it without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool through 'Gmail search' and the query example, and the BYOK OAuth context suggests an authentication prerequisite. However, it does not explicitly mention alternatives or when not to use it, leaving some usage inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gold_setup_checkA
SETUP CHECK for GSuite MCP Lane — run this FIRST. Shows license tier, which API keys are set vs missing (names only, never values), and the exact next step.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool only shows key names, never values, which is a meaningful behavioral constraint beyond what the empty schema and missing annotations provide. It also states the tool's output scope (license tier, key status, next step). However, it doesn't explicitly state whether the tool makes any external calls or is purely local, which would be useful but is not a major gap given the tool's simple nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The imperative 'run this FIRST' is front-loaded, and the rest of the sentence packs in the resource, the output, and a privacy guarantee (names only, never values). Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter setup check tool, the description is nearly complete. It tells the agent when to run it, what it will learn, and a key behavioral constraint. The only minor gap is that it doesn't describe the exact output format or whether the tool performs any side effects, but given the tool's simplicity and the absence of an output schema, the description carries enough weight to guide correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is trivially complete. The description adds context about what the tool checks and reports, which is valuable even though there are no parameters to document. The baseline for zero-parameter tools is 4, and the description meets that by explaining the tool's purpose and output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('run this FIRST') and resource ('SETUP CHECK for GSuite MCP Lane'), and clearly distinguishes its purpose from the sibling tools by framing it as a setup/readiness check rather than a search or append operation. It also names the exact resource being checked (license tier, API keys).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'run this FIRST', which is a clear usage directive. It also tells the agent what the tool will reveal (license tier, which API keys are set vs missing) and that it should be used before other operations, effectively routing the agent to this tool as a prerequisite step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gold_sheets_appendB
Google Sheets append rows (BYOK Google OAuth). Append [[col1,col2]] to spreadsheetId. No hosted sync.
| Name | Required | Description | Default |
|---|---|---|---|
| range | No | optional A1 range e.g. Sheet1!A1 | |
| values | Yes | rows to append [[a,b],[c,d]] | |
| sheet_name | No | tab name default Sheet1 | |
| spreadsheet_id | Yes | spreadsheetId from Sheets URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It discloses the authentication model (BYOK Google OAuth) and the 'No hosted sync' behavior, which is useful. However, it does not explain mutation effects, error behavior, response format, or what happens when values exceed the provided range.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the key operation and auth model. Minor redundancy exists between 'Append [[col1,col2]] to spreadsheetId' and the schema's values/spreadsheet_id fields, but the overall structure is efficient and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema covers all parameter details)Skip no output schema is provided, so response behavior is unexplained. The description gives the essential operation and auth/sync context, but lacks details about return values, error cases, rate limits, or how the optional range parameter behaves during append.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters with descriptions, so the baseline is 3. The description repeats spreadsheetId and the values array format but adds no new meaning beyond the schema, and it does not clarify the 'range' parameter or how it interacts with appending.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('append rows' to Google Sheets) and includes the value format [[col1,col2]]. It clearly identifies the core operation, though it does not explicitly contrast with sibling tools or state what it does not do (e.g., overwrite/update).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus alternatives, nor any mention of preconditions such as whether the spreadsheet must already exist or whether the BYOK OAuth scope needs specific permissions. The 'No hosted sync' comment hints at a limitation but is not framed as usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v1.0.0- First observed
gold_gmail_search - First observed
gold_setup_check - First observed
gold_sheets_append
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: setup check, Gmail search, and Sheets append. There is no overlap or ambiguity between them.
All tools share a consistent gold_ prefix and use verb_noun naming (setup_check, gmail_search, sheets_append). Minor inconsistency: gmail_search and sheets_append are resource_action while setup_check is action_noun, but the pattern is still predictable.
Three tools is on the low end but reasonable for a narrowly scoped GSuite lane focused on setup, Gmail search, and Sheets append. It feels slightly thin but not inappropriate.
The server covers only a small slice of GSuite: setup check, Gmail search, and Sheets append. Obvious gaps include Gmail read/send, Sheets read/update, and any Drive or Calendar operations, so agents would hit dead ends for common workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Permissioned access to Gmail, Drive and Calendar via the user's own Google account
Read and edit GA4, Search Console and Google Tag Manager from any MCP client. 29 tools.
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Google Docs MCP Pack — read, create, and edit Google Docs via OAuth.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables interaction with Google Workspace (Drive, Docs, Sheets, Gmail) via MCP tools, using OAuth credentials stored locally or inline.-
- FlicenseNot gradedqualityBmaintenanceEnables accessing Gmail tools (search, read, draft) for a specific Google account via MCP, designed as a custom connector for Claude/Cowork to use alongside a different Google account.-
- FlicenseNot gradedqualityCmaintenanceIntegrates with the Gmail API to send and read emails through MCP tools using Google OAuth authentication.-
- AlicenseNot gradedqualityCmaintenanceEnables Gmail operations like listing, searching, sending emails, and managing labels via MCP tools.15MIT