MCP server for the Google Tasks API — manage task lists, create and organize tasks with due dates, notes and subtasks, track completion and sync changes. For Claude, Cursor, Codex and other AI clients
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add google-tasks-a1-x-tech --env GOOGLE_TASKS_CLIENT_SECRET='<GOOGLE_TASKS_CLIENT_SECRET>' --env GOOGLE_TASKS_REFRESH_TOKEN='<GOOGLE_TASKS_REFRESH_TOKEN>' --env GOOGLE_TASKS_ACCESS_TOKEN='<GOOGLE_TASKS_ACCESS_TOKEN>' -- npx -y mcp-google-tasks~/.codex/config.toml
[mcp_servers.google-tasks-a1-x-tech]
command = "npx"
args = ["-y", "mcp-google-tasks"]
env = { GOOGLE_TASKS_CLIENT_SECRET = "<GOOGLE_TASKS_CLIENT_SECRET>", GOOGLE_TASKS_REFRESH_TOKEN = "<GOOGLE_TASKS_REFRESH_TOKEN>", GOOGLE_TASKS_ACCESS_TOKEN = "<GOOGLE_TASKS_ACCESS_TOKEN>" }
# codex mcp add google-tasks-a1-x-tech --env GOOGLE_TASKS_CLIENT_SECRET='<GOOGLE_TASKS_CLIENT_SECRET>' --env GOOGLE_TASKS_REFRESH_TOKEN='<GOOGLE_TASKS_REFRESH_TOKEN>' --env GOOGLE_TASKS_ACCESS_TOKEN='<GOOGLE_TASKS_ACCESS_TOKEN>' -- npx -y mcp-google-tasks~/.cursor/mcp.json
{
"mcpServers": {
"google-tasks-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"mcp-google-tasks"
],
"env": {
"GOOGLE_TASKS_CLIENT_SECRET": "<GOOGLE_TASKS_CLIENT_SECRET>",
"GOOGLE_TASKS_REFRESH_TOKEN": "<GOOGLE_TASKS_REFRESH_TOKEN>",
"GOOGLE_TASKS_ACCESS_TOKEN": "<GOOGLE_TASKS_ACCESS_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"google-tasks-a1-x-tech": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-google-tasks"
],
"env": {
"GOOGLE_TASKS_CLIENT_SECRET": "<GOOGLE_TASKS_CLIENT_SECRET>",
"GOOGLE_TASKS_REFRESH_TOKEN": "<GOOGLE_TASKS_REFRESH_TOKEN>",
"GOOGLE_TASKS_ACCESS_TOKEN": "<GOOGLE_TASKS_ACCESS_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"google-tasks-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"mcp-google-tasks"
],
"env": {
"GOOGLE_TASKS_CLIENT_SECRET": "<GOOGLE_TASKS_CLIENT_SECRET>",
"GOOGLE_TASKS_REFRESH_TOKEN": "<GOOGLE_TASKS_REFRESH_TOKEN>",
"GOOGLE_TASKS_ACCESS_TOKEN": "<GOOGLE_TASKS_ACCESS_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"google-tasks-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"mcp-google-tasks"
],
"env": {
"GOOGLE_TASKS_CLIENT_SECRET": "<GOOGLE_TASKS_CLIENT_SECRET>",
"GOOGLE_TASKS_REFRESH_TOKEN": "<GOOGLE_TASKS_REFRESH_TOKEN>",
"GOOGLE_TASKS_ACCESS_TOKEN": "<GOOGLE_TASKS_ACCESS_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"google-tasks-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"mcp-google-tasks"
],
"env": {
"GOOGLE_TASKS_CLIENT_SECRET": "<GOOGLE_TASKS_CLIENT_SECRET>",
"GOOGLE_TASKS_REFRESH_TOKEN": "<GOOGLE_TASKS_REFRESH_TOKEN>",
"GOOGLE_TASKS_ACCESS_TOKEN": "<GOOGLE_TASKS_ACCESS_TOKEN>"
}
}
}
}Environment variables
GOOGLE_TASKS_CLIENT_SECRETGOOGLE_TASKS_REFRESH_TOKENGOOGLE_TASKS_ACCESS_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.