- Home
- MCP servers
- Google Tasks
Google Tasks
- javascript
4
GitHub Stars
javascript
Language
5 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.
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.
How to use
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.
How to install
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 claude
Option 2 — Manual installation (local development):
npm install @alvincrave/gtasks-mcp
Additional configuration and usage notes
Configuration 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
}
}
}
Security notes
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.
Usage examples
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.
Troubleshooting
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.
Notes
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.
Available tools
list_tasks
List all tasks across your Google Task lists, returning the current items and status.
search_tasks
Search for tasks by a query string to quickly locate relevant items.
create_task
Create a new task with a title, optional notes, and due date.
update_task
Update an existing task's title, notes, status, or due date.
delete_task
Delete a specific task from a list.
clear_completed
Remove all completed tasks from a specified list.