home / mcp / mcp-gsuite mcp server
MCP Server to interact with Google Gsuite prodcuts
Configuration
View docs{
"mcpServers": {
"markuspfundstein-mcp-gsuite": {
"command": "uv",
"args": [
"--directory",
"<dir_to>/mcp-gsuite",
"run",
"mcp-gsuite"
]
}
}
}You can use the MCP GSuite Server to interact with Google Gmail and Google Calendar from an MCP client. It lets you manage multiple Google accounts, read and manage emails, create drafts, and schedule or delete calendar events, all through an MCP interface.
Connect to the MCP GSuite Server from your MCP client to start working with Gmail and Calendar. You can work with multiple Google accounts, search and retrieve emails by criteria, draft and send responses, and manage calendar events across one or more calendars. The server exposes actions for querying emails, retrieving content, creating drafts, deleting drafts, replying to messages, saving attachments, and for calendars, creating, listing within a time range, and deleting events.
Typical usage patterns include: create drafts from incoming messages, summarize or reply to emails, fetch unread messages, and plan calendar events with specified times, attendees, and time zones. You can switch between accounts by providing the appropriate account information so the client can operate on the targeted Gmail and Calendar data.
Prerequisites: you need Node.js available to run the MCP tooling and a compatible MCP client. You will also set up Google OAuth2 credentials to access Gmail and Calendar data.
Step 1 Install the MCP server package for your client using the Smithery workflow.
npx -y @smithery/cli install mcp-gsuite --client claudeConfigure OAuth2 credentials in Google Cloud Console, enable Gmail and Calendar APIs, and prepare local credential files. You’ll create a gauth.json with client information and a accounts.json with the accounts you want to manage.
{
"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"
}
}Create a .gauth.json in your working directory with the OAuth2 client configuration and a .accounts.json with the accounts you want to authorize. You can specify multiple accounts.
{
"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"
}
}The server can be run in development or published modes. The following configurations show how to start the server with different runners and account files.
{
"mcpServers": {
"mcp-gsuite": {
"command": "uv",
"args": [
"--directory",
"<dir_to>/mcp-gsuite",
"run",
"mcp-gsuite"
]
}
}
}You can customize where the server reads credentials and account information by supplying file paths via command-line options.
uv run mcp-gsuite --gauth-file /path/to/.gauth.json --accounts-file /path/to/.accounts.json --credentials-dir /path/to/credentialsFor development and debugging, you can run the MCP Inspector to observe runtime behavior and logs, which helps when troubleshooting OAuth scopes or account access.
If you are using a published server setup, you may start with the published command form.
{
"mcpServers": {
"mcp-gsuite": {
"command": "uvx",
"args": [
"mcp-gsuite",
"--accounts-file",
"/path/to/custom/.accounts.json",
"--credentials-dir",
"/path/to/custom/credentials"
]
}
}
}