home / mcp / google tasks mcp server
Provides Google Tasks management via Claude Desktop with secure OAuth2 and task-list operations.
Configuration
View docs{
"mcpServers": {
"alvinjchoi-gtasks-mcp": {
"url": "https://mcp.example.com/gtasks-mcp",
"headers": {
"GOOGLE_CLIENT_ID": "1234567890-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com",
"GOOGLE_CLIENT_SECRET": "GhsExampleSecret1234",
"GOOGLE_REFRESH_TOKEN": "1/abcdefGhiJklMNOPQrSTU"
}
}
}
}This Google Tasks MCP Server lets Claude Desktop manage your Google Tasks through natural language. By authenticating with Google and exposing a simple MCP interface, you can list, search, create, update, delete, and clear tasks across your task lists using conversational commands.
You interact with the server through an MCP client in Claude Desktop. Start the local server, then issue natural language requests like: “show me all my tasks,” “create a task named ‘Prepare report’ due Friday,” or “mark the task ‘Send email’ as completed.” The server translates your requests into Google Tasks API calls and returns results back to Claude Desktop for presentation.
Common actions you can perform include listing tasks from your Google Tasks lists, searching by a query, creating new tasks with a title, notes, and a due date, updating existing tasks (title, notes, status, due date), deleting tasks, and clearing completed tasks from a list. All these actions are protected by OAuth2 authentication via Google.
Prerequisites you need before installation: Node.js and npm installed on your machine. You should also have a Google Cloud project with the Google Tasks API enabled and OAuth 2.0 credentials set up (Client ID, Client Secret, and a refresh token). If you already have these, you can proceed with one of the installation methods below.
Option 1 — Install via Smithery (recommended for Claude Desktop users):
npx -y @smithery/cli install @alvincrave/gtasks-mcp --client claudeOption 2 — Manual installation (local development):
npm install @alvincrave/gtasks-mcpConfiguration is done by providing your Google OAuth credentials to the server so it can authenticate requests to Google Tasks on your behalf. The following environment variables are used by the server: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, and GOOGLE_REFRESH_TOKEN. Place these values in your MCP client configuration so Claude Desktop can launch and manage tasks on your behalf.
Example MCP configuration (stdio flow) showing how to start the server with the required credentials:
{
"mcpServers": {
"gtasks": {
"command": "npx",
"args": ["-y", "@alvincrave/gtasks-mcp"],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id_here",
"GOOGLE_CLIENT_SECRET": "your_client_secret_here",
"GOOGLE_REFRESH_TOKEN": "your_refresh_token_here"
},
"connectionTypes": ["stdio"],
"autoRestart": true
}
}
}Keep your Google API credentials secure and rotate your refresh tokens regularly. Store sensitive information only in your Claude Desktop configuration and avoid sharing credentials in version control. Treat the refresh token as a password since it grants access to your Google Tasks.
Search tasks containing a phrase, list all tasks, create a new task, update a task to completed, delete a task, or clear completed tasks from a list. Examples illustrate conversational commands you can use to achieve common daily task-management goals within Claude Desktop.
If you encounter authentication errors, ensure your Google OAuth credentials are correctly configured and that the refresh token is valid. Verify that the Google Tasks API is enabled for your project and that the client ID and client secret match what you configured in Claude Desktop.
This MCP server provides full Google Tasks integration with secure OAuth2 authentication and Docker support for containerized deployment. It supports listing, searching, creating, updating, deleting, and clearing tasks across multiple task lists.
List all tasks across your Google Task lists, returning the current items and status.
Search for tasks by a query string to quickly locate relevant items.
Create a new task with a title, optional notes, and due date.
Update an existing task's title, notes, status, or due date.
Delete a specific task from a list.
Remove all completed tasks from a specified list.