- Home
- MCP servers
- Google Workspace
Google Workspace
- javascript
1
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"erickva-google-workspace-mcp-server-no-calendar-deletetion": {
"command": "node",
"args": [
"/path/to/google-workspace-server/build/index.js"
],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id",
"GOOGLE_CLIENT_SECRET": "your_client_secret",
"GOOGLE_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}This Google Workspace MCP Server gives you programmatic tools to manage Gmail and Calendar data through the MCP interface. You can list, search, and send emails, manage labels, and create calendar events, all from a consistent, scriptable API that integrates with your MCP client workflows.
How to use
You interact with the Google Workspace MCP Server through your MCP client by calling the available tools to perform email and calendar actions. Use Gmail tools to list, search, and send messages or modify labels on existing emails. Use Calendar tools to list upcoming events and create new events with attendees. Each operation translates into the corresponding MCP action, returning structured results you can use in automation, dashboards, or workflows.
Before you begin, ensure your MCP client is configured to reach the Google Workspace MCP Server via the stdio startup path described in the installation steps. Once the server is running, you can start issuing tool calls such as listing recent emails, creating a calendar event, or sending a message. Keep your credentials secure and rotate tokens as needed to maintain access.
How to install
Prerequisites you need installed on your machine before you begin.
- Node.js 14 or higher
- npm (comes with Node.js)
Install the server locally using the manual setup flow.
git clone https://github.com/epaproditus/google-workspace-mcp-server.git
cd google-workspace-mcp-server
npm install
Create OAuth credentials by placing them in a credentials.json file in the project root.
{
"web": {
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"redirect_uris": ["http://localhost:4100/code"],
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token"
}
}
Obtain a refresh token by running a helper script. This will guide you through OAuth authentication and save credentials for future use.
node get-refresh-token.js
Configure the MCP settings to load the server as a stdio process. You will start the server via Node using the built artifact.
{
"mcpServers": {
"google-workspace": {
"command": "node",
"args": ["/path/to/google-workspace-server/build/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id",
"GOOGLE_CLIENT_SECRET": "your_client_secret",
"GOOGLE_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}
Build and start the server to begin handling MCP requests.
npm run build
Additional configuration and notes
The approved actions surface through the following tools. Each tool corresponds to a capability you can invoke from your MCP client.
Gmail Tools
- list_emails: List recent emails from your inbox with optional filtering
- search_emails: Advanced email search with Gmail query syntax
- send_email: Send new emails with support for CC and BCC
- modify_email: Modify email labels (archive, trash, mark read/unread) Calendar Tools
- list_events: List upcoming calendar events with date range filtering
- create_event: Create new calendar events with attendees
- Note: Update and delete events are not exposed due to security considerations.
Available tools
list_emails
List recent emails from the inbox with optional filters such as unread status or labels.
search_emails
Perform advanced Gmail searches using Gmail query syntax and return matching emails.
send_email
Send a new email with support for CC and BCC recipients.
modify_email
Modify labels on an existing email, such as archiving, trashing, or marking as read/unread.
list_events
List upcoming calendar events within a specified time window.
create_event
Create a new calendar event with a summary, time range, location, description, and attendees.