About Google Tasks MCP Server
Google Tasks MCP Server is a TypeScript MCP server for managing tasks in the default list through the Google Tasks API. It provides tools to create, view, update, delete, and toggle task completion.
Key features
- 01Create tasks
- 02List tasks in the default list
- 03Update task titles and notes
- 04Delete tasks
- 05Toggle task completion
- 06Provide tasks as JSON resources
Use cases
- 01Create to-dos through MCP
- 02Review the default task list
- 03Change a task's title or notes
- 04Mark tasks complete or delete them
MCP support
The MCP server works with the Google Tasks API and exposes task-management tools plus a JSON resource for the default task list to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEGoogle Tasks MCP Server
A Model Context Protocol (MCP) server for managing Google Tasks.
This TypeScript-based MCP server demonstrates core MCP concepts by integrating with the Google Tasks API. It allows managing tasks in a structured and efficient way.
Features
Resources
- Default Task List: Access tasks in the default Google Tasks list via the URI
tasks://default. - Task Details: Provides metadata about tasks such as title, notes, and completion status.
- JSON Mime Type: Tasks are represented in a machine-readable JSON format.
Tools
create_task: Create a new task in the default task list.- Parameters:
title(string, optional): Title of the task.notes(string, optional): Additional notes for the task.taskId(string, optional): Unique ID for the task.status(string, optional): Status of the task (e.g., "needsAction" or "completed").
- Response: Returns the details of the created task.
- Parameters:
list_tasks: List all tasks in the default task list.- Parameters: None.
- Response: Returns a JSON array of all tasks in the default task list.
delete_task: Delete a task from the default task list.- Parameters:
taskId(string, required): ID of the task to delete.
- Response: Confirms successful deletion of the task.
- Parameters:
update_task: Update an existing task in the default task list.- Parameters:
taskId(string, required): ID of the task to update.title(string, optional): New title for the task.notes(string, optional): New notes for the task.
- Response: Returns the updated details of the task.
- Parameters:
complete_task: Toggle the completion status of a task.- Parameters:
taskId(string, required): ID of the task to toggle completion status.
- Response: Returns the updated task details, including the new status.
- Parameters:
Functionality
- Provides easy integration with Large Language Models (LLMs) or other applications via MCP.
- Structured tool definitions make task management intuitive and accessible.
- Full support for creating, listing, deleting, updating, and toggling the completion status of tasks.
Usage
Running the Server
To start the server:
node build/index.js
Available Commands
create_task: Create a new task with optional parameters.{ "title": "Complete project", "notes": "Finalize module 3", "status": "needsAction" }list_tasks: Retrieve all tasks in the default task list.- No parameters required.
- Returns an array of tasks.
delete_task: Delete a task by its ID.{ "taskId": "unique-task-id" }update_task: Update a task's title, notes, or other details by its ID.{ "taskId": "unique-task-id", "title": "Updated task title", "notes": "Updated task notes" }complete_task: Toggle the completion status of a task.{ "taskId": "unique-task-id" }
Example Response for complete_task
Before Completion
{
"taskId": "unique-task-id",
"title": "Finish the report",
"status": "needsAction"
}
After Completion
{
"taskId": "unique-task-id",
"title": "Finish the report",
"status": "completed"
}
Debugging
Since MCP servers communicate over stdio, debugging requires additional tools. We recommend using the MCP Inspector.
To start the inspector:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser, making it easier to test and debug the server.
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.