An MCP server to interface with the Google Tasks API
The Model Context Protocol (MCP) is revolutionizing how Large Language Models (LLMs) interact with external data and tools. This document details a practical implementation: a Google Tasks MCP server, enabling seamless task management directly within LLM applications like Claude.
This MCP server acts as a bridge, empowering Claude to interact with Google Tasks. Imagine managing your to-do lists, creating new tasks, and marking them as complete, all through natural language commands within your LLM interface.
Key Features:
This server provides a comprehensive suite of functionalities:
Task List Management:
list-tasklists
: Retrieve a list of all your task lists.get-tasklist
: Obtain detailed information about a specific task list.create-tasklist
: Generate new task lists to organize your work.update-tasklist
: Modify existing task lists to reflect changes.delete-tasklist
: Remove task lists that are no longer needed.Task Management:
list-tasks
: View all tasks within a specific task list.get-task
: Access detailed information about a particular task.create-task
: Add new tasks to your lists with ease.update-task
: Modify task details, such as due dates or descriptions.delete-task
: Remove tasks that are no longer relevant.complete-task
: Mark tasks as completed, tracking your progress.move-task
: Reorder tasks within a list or move them between lists.clear-completed-tasks
: Remove all completed tasks from a list, keeping it clean and focused.Follow these instructions to configure your environment and connect Claude to your Google Tasks:
http://localhost:3000
as an authorized redirect URI.~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
claude_desktop_config.json
file to include the following configuration, replacing placeholders with your actual values:{ "mcpServers": { "google-tasks": { "command": "node", "args": ["/path/to/google-tasks-mcp/build/index.js"], "env": { "GOOGLE_CLIENT_ID": "your_client_id_here", "GOOGLE_CLIENT_SECRET": "your_client_secret_here", "GOOGLE_REDIRECT_URI": "http://localhost:3000/oauth2callback" } } } }
command
: Specifies the command to execute the server.args
: An array of arguments passed to the command. Ensure the path points to the compiled JavaScript file.env
: An object containing environment variables required by the server, including your Google Cloud credentials.npm install
npm run build
The initial authentication process is crucial for granting the MCP server access to your Google Tasks:
authenticate
tool within Claude to generate an authorization URL.set-auth-code
tool within Claude, providing the authorization code obtained in the previous step. This completes the authentication process.Important Note: Authentication is session-based. You will need to re-authenticate each time you restart the server.
The following screenshot provides a visual representation of the server in action:
๐ ๐ ๐ Allows to read notes and tags for the Bear Note taking app, through a direct integration with Bear's sqlitedb.
๐ An MCP server for basic local taskwarrior usage (add, update, remove tasks)
๐ ๐ An MCP server to list and launch applications on MacOS
๐ โ๏ธ A Model Context Protocol (MCP) server that integrates with Notion's API to manage personal todo lists efficiently.