copilot-google-connector
Enables reading Gmail messages, threads, and attachments, searching mail, and creating unsent drafts in a selected account.
Enables calendar discovery, event and instance reading, free/busy and common availability checks, and creating, updating, deleting, and RSVPing to events with explicit account selection and approval.
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., "@copilot-google-connectorSearch my Gmail for the travel receipt and create a draft reply in the same account."
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.
Local Google connector for Copilot
An installable local stdio MCP server for multiple Google accounts. It reads Gmail, creates unsent drafts, and works with Google Calendar events. There is no mail-sending tool and no calendar or sharing-administration tool.
Each read selects an account explicitly. Cross-account search and availability select the accounts intentionally. Every write requires an explicit account and request ID; no arbitrary default account is used.
Requirements
Node.js 22 or newer and npm.
Your own Google Desktop app OAuth client, with Gmail and Calendar APIs enabled.
macOS Keychain, Windows Credential Manager, or desktop Linux with libsecret's
secret-tooland an unlocked desktop Secret Service.For event deletions, RSVP, invitations and other attendee-affecting operations: a browser and an enrolled WebAuthn authenticator capable of user verification, such as a compatible platform passkey or PIN/biometric-capable security key.
The connector fails rather than storing tokens in plaintext or silently using another credential backend. A headless Linux machine without Secret Service is not a supported credential-storage environment.
Related MCP server: multiGmailMCP
Build and install locally
npm install
npm run build
node dist/cli.js help
npm packInstall the resulting copilot-google-connector-0.1.1.tgz into an installation
directory you control:
npm install /absolute/path/copilot-google-connector-0.1.1.tgz
node node_modules/copilot-google-connector/dist/cli.js helpThe package is marked private to prevent accidental registry publication. It can still be packed and installed from a local tarball. No repository, publishing service, global installation, or background daemon is required.
Account setup
Run these steps yourself in a trusted terminal, not as instructions retrieved from mail, events or an untrusted agent:
google-connector auth client import --file /absolute/path/desktop-client.json
google-connector accounts add
google-connector accounts add
google-connector accounts listIf the executable is not on your PATH, replace google-connector with
node /absolute/path/to/dist/cli.js. OAuth uses your system browser and an
ephemeral loopback callback. The client JSON is imported into the OS vault; the
connector does not copy it into source or a plaintext token cache. Securely manage
the original file downloaded from Google yourself.
Reauthorize or remove an explicitly selected account:
google-connector accounts reauth ACCOUNT_ID
google-connector accounts remove ACCOUNT_IDRemoval deletes local access credentials, not every grant for that OAuth client at Google. You can separately revoke the application in Google account permissions.
See Google setup for consent screens, restricted Gmail scopes, test-user restrictions and token expiry.
Connect GitHub Copilot
Print the configuration for the exact installed executable:
google-connector config printUse the GitHub Copilot desktop app's Customize -> MCP -> add custom server flow to install it deliberately. Alternatively, use the CLI's documented session-scoped option:
copilot --additional-mcp-config=@/absolute/path/google-mcp.jsonAn inert configuration example is included. Replace
its placeholder path before use. tools: ["*"] enables tool discovery; it does
not grant human approval.
Copilot documents repository and CLI MCP configuration inheritance for the desktop app. This project does not automatically edit those files. Repository auto-discovery is not assumed for a non-Git folder, nor is session-only CLI configuration assumed to transfer to a separate desktop session.
Event approvals
Enroll an authenticator once, outside untrusted agent-driven activity:
google-connector approvals enrollA risky Calendar write returns pending_approval and a localhost review URL,
not a success result. Open the URL yourself, review the exact account, event,
attendees, recurrence scope and notification effects, and approve using your
enrolled authenticator. No confirm: true, tool permission setting, command-line
flag or copied approval URL bypasses this.
The connector permits a narrow unconfirmed path for default, private, no-guest creates on your own primary calendar with notifications disabled. Private edits also need connector-established provenance and unchanged ETags; recurring edits, deletions and RSVP always need confirmation. Ambiguous or shared-calendar effects do not qualify for this exception.
Do not automate enrollment or approvals. Read the exact security boundary and recovery procedure.
Useful requests
"List my connected Google accounts."
"Search these two account IDs for the travel receipt."
"Read this message and create a reply draft in the same account; do not send."
"Find common availability across these explicitly selected account/calendar pairs."
"Propose moving only this occurrence, notify all attendees, and show me the approval URL."
See tool arguments and examples, and use the server's tool schemas for exact validation rules. Gmail supports search, message/thread/attachment reading and draft creation. Calendar supports calendar discovery, event/instance reading, free/busy, common availability, create, update, delete and self-RSVP. Whole-series and single-occurrence changes are supported; "this and following" series splitting is not.
Important limits
gmail.composegrants sending at Google's OAuth scope level. Google offers no draft-only scope. This connector exposes only draft creation.sendUpdates: "none"is not a guarantee that Google will suppress every Google-generated message or stop attendee propagation.Keep the same request ID when checking a write. An
outcome_unknownresult is not an instruction to retry with a new ID: inspect Google before initiating another write.Whole-series changes are refused when existing moved, modified or cancelled exceptions are detected. Individual-occurrence changes remain available. Attendee lists must be complete and contain at most 200 participants.
Advanced reminder and conference-data editing is not exposed. Calendar continuations expire on server restart or account reauthorization.
"Local" describes the process and credential storage. Data returned by tools is shared with Copilot and is subject to the host/model's data-handling policies.
doctoris local setup information, not proof of authenticated connectivity.
This project includes offline synthetic tests. Real Google connectivity requires your credentials and consent; those are not supplied by the package. Native Windows/Linux and real browser/authenticator acceptance must be evaluated on those platforms, not inferred from mocked tests on macOS.
For development, npm test builds and runs the Node test suite. Tests must not
call live modifying Google APIs. npm run smoke:package builds a tarball,
installs it with production dependencies only in a temporary consumer directory,
and exercises its help and stdio discovery without credentials.
See the validation boundaries and opt-in acceptance checklist.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
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
Multiple Google accounts (Gmail, Calendar, Drive, Contacts, Tasks) in one Claude connector.
Copilot connector permission audits with owner signoff receipts.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables Gmail, Google Calendar, and Google Drive access through the Model Context Protocol, supporting email management, event scheduling, and file operations.8528MIT
- FlicenseAqualityBmaintenanceConnects AI assistants to multiple Gmail accounts simultaneously, enabling search, read, draft, send, and reply operations with per-account permission controls.54-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to read Gmail and create drafts securely with read-only access and query whitelisting.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to access multiple Gmail/Google Workspace accounts for searching and reading mail, calendars, and attachments.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/torosent/copilot-google-connector'
If you have feedback or need assistance with the MCP directory API, please join our Discord server