### Example MCP Server Configuration JSON Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/CLAUDE_DESKTOP_SETUP.md An example of the JSON configuration output after successfully running the authentication script. This block contains the necessary details, including client ID, secret, and refresh token, to configure Claude Desktop. ```json { "mcpServers": { "google-tasks": { "command": "npx", "args": ["-y", "@brandcast_app/google-tasks-mcp"], "env": { "GOOGLE_CLIENT_ID": "...", "GOOGLE_CLIENT_SECRET": "...", "GOOGLE_REFRESH_TOKEN": "1//..." } } } } ``` -------------------------------- ### Install and Test MCP Server Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/PUBLISH_CHECKLIST.md Steps to globally install the package and execute the authentication command using environment variables. ```bash npm install -g @brandcast/google-tasks-mcp export GOOGLE_CLIENT_ID="your_id" export GOOGLE_CLIENT_SECRET="your_secret" google-tasks-mcp-auth ``` -------------------------------- ### Run Google Tasks MCP Server using npx Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/CLAUDE_DESKTOP_SETUP.md Executes the Google Tasks MCP server without global installation using npx. This is useful for testing or if you prefer not to install packages globally. It requires Node.js and npm to be installed. ```bash npx @brandcast_app/google-tasks-mcp ``` -------------------------------- ### Run MCP Server Authentication Script Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/CLAUDE_DESKTOP_SETUP.md Initiates the authentication process for the Google Tasks MCP server. This script starts a local server, opens a browser for Google authorization, and captures the necessary tokens. It can be run via npm or directly if installed globally. ```bash npm run auth ``` ```bash google-tasks-mcp auth ``` -------------------------------- ### Local Development Setup and Build Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/README.md Clones the repository, installs dependencies, builds the project, and runs the authentication flow for local development. This allows testing changes before publishing. ```bash # Clone the repository git clone https://github.com/BrandCast-Signage/tasks-mcp-server.git cd tasks-mcp-server # Install dependencies npm install # Build npm run build # Run auth flow export GOOGLE_CLIENT_ID="your_id" export GOOGLE_CLIENT_SECRET="your_secret" npm run auth ``` -------------------------------- ### Install Google Tasks MCP Package Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/README.md Installs the Google Tasks MCP package globally using npm. This command is used for initial setup or to ensure the latest version is available on your system. ```bash npm install -g @brandcast_app/google-tasks-mcp ``` -------------------------------- ### Set Google OAuth Environment Variables (Windows Command Prompt) Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/CLAUDE_DESKTOP_SETUP.md Sets the Google Client ID and Client Secret as environment variables in the Windows Command Prompt. These variables are necessary for the authentication script to function correctly. Replace the example values with your actual OAuth credentials. ```cmd set GOOGLE_CLIENT_ID=123456789-abc...apps.googleusercontent.com set GOOGLE_CLIENT_SECRET=GOCSPX-abc123... ``` -------------------------------- ### Merge MCP Server Configuration into Claude Desktop JSON Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/CLAUDE_DESKTOP_SETUP.md Demonstrates how to add or merge the Google Tasks MCP server configuration into the `claude_desktop_config.json` file. It shows the structure required within the `mcpServers` object, including command, arguments, and environment variables. ```json { "mcpServers": { "google-tasks": { "command": "npx", "args": ["-y", "@brandcast_app/google-tasks-mcp"], "env": { "GOOGLE_CLIENT_ID": "your_actual_client_id", "GOOGLE_CLIENT_SECRET": "your_actual_secret", "GOOGLE_REFRESH_TOKEN": "your_actual_refresh_token" } }, "other-mcp-server": { ... } } } ``` -------------------------------- ### Publish and Verify Package via NPM Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/PUBLISH_CHECKLIST.md Commands to authenticate with the npm registry, publish the package publicly, and verify the package metadata. ```bash npm login npm publish --access public npm view @brandcast/google-tasks-mcp ``` -------------------------------- ### Run Google Tasks MCP using Node.js executable Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/CLAUDE_DESKTOP_SETUP.md Executes the Google Tasks MCP server by directly calling the Node.js runtime with the path to the compiled index file. ```json { "command": "node", "args": ["/path/to/dist/index.js"] } ``` -------------------------------- ### Configure Local MCP Server in JSON Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/CLAUDE_DESKTOP_SETUP.md Defines the configuration for a local Google Tasks MCP server within a JSON structure. This includes the command to run, arguments, and environment variables for authentication. ```json { "mcpServers": { "google-tasks": { "command": "node", "args": ["/home/username/tasks-mcp-server/dist/index.js"], "env": { "GOOGLE_CLIENT_ID": "...", "GOOGLE_CLIENT_SECRET": "...", "GOOGLE_REFRESH_TOKEN": "..." } } } } ``` -------------------------------- ### Configure Claude Desktop JSON (Windows) Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/CLAUDE_DESKTOP_SETUP.md Opens the Claude Desktop configuration file using Notepad on Windows. The configuration file is typically located at `%APPDATA%\Claude\claude_desktop_config.json`. Ensure you have the correct path to edit the settings. ```cmd notepad %APPDATA%\Claude\claude_desktop_config.json ``` -------------------------------- ### Configure Claude Desktop JSON (macOS/Linux) Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/CLAUDE_DESKTOP_SETUP.md Opens the Claude Desktop configuration file in a text editor on macOS or Linux. This file is located at `~/.config/Claude/claude_desktop_config.json`. Use `code` for VS Code or `nano` for the terminal editor. ```bash code ~/.config/Claude/claude_desktop_config.json ``` ```bash nano ~/.config/Claude/claude_desktop_config.json ``` -------------------------------- ### Configure Claude Desktop for MCP Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/PUBLISH_CHECKLIST.md JSON configuration snippet for integrating the Google Tasks MCP server into the Claude Desktop application settings. ```json { "mcpServers": { "google-tasks": { "command": "npx", "args": ["-y", "@brandcast/google-tasks-mcp"], "env": { "GOOGLE_CLIENT_ID": "...", "GOOGLE_CLIENT_SECRET": "...", "GOOGLE_REFRESH_TOKEN": "..." } } } } ``` -------------------------------- ### Configure Claude Desktop for Local Build Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/README.md Updates Claude Desktop's configuration to point to a local build of the Google Tasks MCP server. This is useful for testing local changes without installing the package globally. ```json { "mcpServers": { "google-tasks": { "command": "node", "args": ["/absolute/path/to/tasks-mcp-server/dist/index.js"], "env": { "GOOGLE_CLIENT_ID": "...", "GOOGLE_CLIENT_SECRET": "...", "GOOGLE_REFRESH_TOKEN": "..." } } } } ``` -------------------------------- ### Set Google OAuth Environment Variables (Bash/Zsh) Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/CLAUDE_DESKTOP_SETUP.md Sets the Google Client ID and Client Secret as environment variables in Bash or Zsh shells. These variables are required for the authentication process to obtain a refresh token. Ensure you replace the placeholder values with your actual credentials. ```bash export GOOGLE_CLIENT_ID="123456789-abc...apps.googleusercontent.com" export GOOGLE_CLIENT_SECRET="GOCSPX-abc123..." ``` -------------------------------- ### Set Google OAuth Environment Variables (Windows PowerShell) Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/CLAUDE_DESKTOP_SETUP.md Sets the Google Client ID and Client Secret as environment variables in Windows PowerShell. These variables are crucial for the authentication script. Remember to substitute the placeholder strings with your specific Google OAuth credentials. ```powershell $env:GOOGLE_CLIENT_ID="123456789-abc...apps.googleusercontent.com" $env:GOOGLE_CLIENT_SECRET="GOCSPX-abc123..." ``` -------------------------------- ### GET /searchTasks Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Searches for tasks across all available lists based on a query string and optional filters. ```APIDOC ## GET /searchTasks ### Description Search tasks across all lists using a query string. ### Method GET ### Endpoint /searchTasks ### Parameters #### Query Parameters - **provider** (string) - Required - Task provider - **query** (string) - Required - Search text - **accessToken** (string) - Required - OAuth access token - **refreshToken** (string) - Optional - OAuth refresh token - **filters** (object) - Optional - Optional filters - **filters.status** (string) - Optional - Filter by status - **filters.limit** (number) - Optional - Max results ### Request Example { "provider": "google", "query": "report", "accessToken": "ya29.a0Aa..." } ### Response #### Success Response (200) - **tasks** (array) - List of matching tasks - **total** (number) - Total count of results #### Response Example { "tasks": [], "total": 5 } ``` -------------------------------- ### Authenticate and Get Refresh Token Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/README.md Initiates the OAuth 2.0 authentication flow to obtain a refresh token for Google Tasks API access. Requires Google Client ID and Secret to be set as environment variables. ```bash # Set your credentials export GOOGLE_CLIENT_ID="your_client_id_here" export GOOGLE_CLIENT_SECRET="your_client_secret_here" # Run auth flow npx @brandcast_app/google-tasks-mcp auth ``` -------------------------------- ### Get Tasks with Filters (JSON) Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Retrieves tasks from a specific list, with options for filtering by status, searching by text, or limiting the number of results. Requires provider, list ID, and access token. Returns a JSON object containing tasks and total count. ```json { "tasks": [ { "id": "abc123", "provider": "google", "listId": "MTIzNDU2...", "listName": "My Tasks", "title": "Finish report", "description": "Q4 projections", "status": "pending", "due": "2025-10-10T17:00:00Z", "createdAt": "2025-10-01T09:00:00Z", "updatedAt": "2025-10-06T14:30:00Z" } ], "total": 1 } ``` -------------------------------- ### listProviders Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Retrieves a list of available task management providers and their capabilities. ```APIDOC ## listProviders ### Description Returns available task management providers and their capabilities. ### Method MCP Tool Call ### Endpoint N/A (MCP Tool) ### Parameters #### Query Parameters None #### Request Body ```json { "name": "listProviders", "arguments": {} } ``` ### Response #### Success Response (200) - **providers** (array) - A list of provider objects. - **id** (string) - The unique identifier for the provider. - **name** (string) - The human-readable name of the provider. - **capabilities** (object) - An object detailing the provider's capabilities. - **priorities** (boolean) - Whether the provider supports task priorities. - **tags** (boolean) - Whether the provider supports task tags. - **descriptions** (boolean) - Whether the provider supports task descriptions. - **dueDates** (boolean) - Whether the provider supports task due dates. - **subtasks** (boolean) - Whether the provider supports subtasks. - **search** (boolean) - Whether the provider supports task searching. #### Response Example ```json { "providers": [ { "id": "google", "name": "Google Tasks", "capabilities": { "priorities": false, "tags": false, "descriptions": true, "dueDates": true, "subtasks": false, "search": false } } ] } ``` ``` -------------------------------- ### Configure Claude Desktop for Google Tasks Integration Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Configures Claude Desktop to use the Google Tasks MCP server. This involves adding an entry to the 'mcpServers' section of the Claude Desktop configuration file, specifying the command, arguments, and environment variables including Google OAuth credentials. ```json { "mcpServers": { "google-tasks": { "command": "npx", "args": ["-y", "@brandcast_app/google-tasks-mcp"], "env": { "GOOGLE_CLIENT_ID": "123456789-abc.apps.googleusercontent.com", "GOOGLE_CLIENT_SECRET": "GOCSPX-abc123...", "GOOGLE_REFRESH_TOKEN": "1//0abc123..." } } } } ``` -------------------------------- ### POST /syncAllTasks Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Synchronizes and merges tasks from multiple providers into a single view. ```APIDOC ## POST /syncAllTasks ### Description Fetch tasks from multiple providers and merge them. ### Method POST ### Endpoint /syncAllTasks ### Parameters #### Request Body - **providers** (array) - Required - Array of provider configs - **providers[].provider** (string) - Required - Provider name - **providers[].accessToken** (string) - Required - OAuth token - **providers[].refreshToken** (string) - Optional - Refresh token - **providers[].listIds** (array) - Optional - Specific lists to sync - **filters** (object) - Optional - Global filters - **filters.status** (string) - Optional - Filter by status - **filters.limit** (number) - Optional - Max total results ### Request Example { "providers": [{"provider": "google", "accessToken": "ya29.a0Aa..."}] } ### Response #### Success Response (200) - **tasks** (array) - Merged task list - **total** (number) - Total count - **byProvider** (object) - Count breakdown by provider #### Response Example { "tasks": [], "total": 25, "byProvider": { "google": 25 } } ``` -------------------------------- ### MCP Tool: listProviders Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Calls the 'listProviders' MCP tool to retrieve information about available task management providers and their capabilities. The tool takes no arguments and returns a list of providers, each with an ID, name, and a capabilities object. ```json // MCP Tool Call { "name": "listProviders", "arguments": {} } // Response { "providers": [ { "id": "google", "name": "Google Tasks", "capabilities": { "priorities": false, "tags": false, "descriptions": true, "dueDates": true, "subtasks": false, "search": false } } ] } ``` -------------------------------- ### Authenticate Google Tasks MCP Server with Google OAuth Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Sets up Google OAuth credentials and initiates the authentication flow to obtain a refresh token. This process requires setting environment variables for the Client ID and Client Secret, and then running the authentication script via npx. ```bash # Set your Google OAuth credentials export GOOGLE_CLIENT_ID="123456789-abc.apps.googleusercontent.com" export GOOGLE_CLIENT_SECRET="GOCSPX-abc123..." # Run the authentication flow npx @brandcast_app/google-tasks-mcp auth # The script will: # 1. Open browser for Google authorization # 2. Capture the authorization code # 3. Output your complete configuration with refresh token ``` -------------------------------- ### createTask Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Creates a new task in a specified list with optional details. ```APIDOC ## createTask ### Description Creates a new task in a specific list with optional description and due date. ### Method MCP Tool Call ### Endpoint N/A (MCP Tool) ### Parameters #### Query Parameters None #### Request Body - **listId** (string) - Required - The ID of the task list where the task should be created. - **task** (object) - Required - An object containing the details of the task to create. - **title** (string) - Required - The title of the new task. - **description** (string) - Optional - The description for the new task. - **due** (string) - Optional - The due date and time for the task (ISO 8601 format). ### Request Example ```json { "name": "createTask", "arguments": { "listId": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA", "task": { "title": "Buy groceries", "description": "Milk, eggs, bread, and vegetables", "due": "2025-10-08T18:00:00Z" } } } ``` ### Response #### Success Response (200) - **task** (object) - The newly created task object. - **id** (string) - The unique identifier for the task. - **provider** (string) - The provider of the task (e.g., "google"). - **listId** (string) - The ID of the list the task belongs to. - **listName** (string) - The name of the list the task belongs to. - **title** (string) - The title of the task. - **description** (string) - The description of the task. - **status** (string) - The current status of the task (e.g., "pending", "completed"). - **due** (string) - The due date and time of the task (ISO 8601 format). - **createdAt** (string) - The timestamp when the task was created (ISO 8601 format). - **updatedAt** (string) - The timestamp when the task was last updated (ISO 8601 format). #### Response Example ```json { "task": { "id": "new-task-xyz789", "provider": "google", "listId": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA", "listName": "My Tasks", "title": "Buy groceries", "description": "Milk, eggs, bread, and vegetables", "status": "pending", "due": "2025-10-08T18:00:00.000Z", "createdAt": "2025-10-06T15:00:00.000Z", "updatedAt": "2025-10-06T15:00:00.000Z" } } ``` ``` -------------------------------- ### Configure Claude Desktop for Google Tasks Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/README.md Configures Claude Desktop to use the Google Tasks MCP server. This involves specifying the command to run the MCP server and setting environment variables for authentication. ```json { "mcpServers": { "google-tasks": { "command": "npx", "args": ["-y", "@brandcast_app/google-tasks-mcp"], "env": { "GOOGLE_CLIENT_ID": "your_client_id_here", "GOOGLE_CLIENT_SECRET": "your_client_secret_here", "GOOGLE_REFRESH_TOKEN": "your_refresh_token_here" } } } } ``` -------------------------------- ### Synchronize All Tasks Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Fetches tasks from multiple providers and merges them into a single list. Requires an array of provider configurations, each including the provider name, access token, and optionally a refresh token and specific list IDs. Global filters can also be applied. The response includes the merged tasks, total count, and a breakdown by provider. ```json { "tasks": [...], "total": 25, "byProvider": { "google": 25 } } ``` -------------------------------- ### List Task Lists (JSON) Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Fetches all task lists or projects for a specified provider. Requires provider name and an OAuth access token. An optional refresh token can also be provided. Returns a JSON object containing a list of task lists. ```json { "lists": [ { "id": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA", "provider": "google", "name": "My Tasks", "updatedAt": "2025-10-06T12:00:00Z" } ] } ``` -------------------------------- ### List Available Task Providers (JSON) Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Retrieves a list of available task management providers and their supported capabilities. This function does not require any parameters and returns a JSON object detailing each provider. ```json { "providers": [ { "id": "google", "name": "Google Tasks", "capabilities": { "priorities": false, "tags": false, "descriptions": true, "dueDates": true, "subtasks": false, "search": false } } ] } ``` -------------------------------- ### Search Tasks via MCP Tool Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Performs a text-based search across all task lists for titles and descriptions. Supports optional status filtering and result limiting. ```json { "name": "searchTasks", "arguments": { "query": "report", "filters": { "status": "pending", "limit": 20 } } } ``` -------------------------------- ### listTaskLists Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Retrieves all task lists from the authenticated Google Tasks account. ```APIDOC ## listTaskLists ### Description Retrieves all task lists/projects from the authenticated Google Tasks account. ### Method MCP Tool Call ### Endpoint N/A (MCP Tool) ### Parameters #### Query Parameters None #### Request Body ```json { "name": "listTaskLists", "arguments": {} } ``` ### Response #### Success Response (200) - **lists** (array) - A list of task list objects. - **id** (string) - The unique identifier for the task list. - **provider** (string) - The provider of the task list (e.g., "google"). - **name** (string) - The name of the task list. - **updatedAt** (string) - The timestamp when the task list was last updated (ISO 8601 format). #### Response Example ```json { "lists": [ { "id": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA", "provider": "google", "name": "My Tasks", "updatedAt": "2025-10-06T12:00:00.000Z" }, { "id": "ABC123xyz", "provider": "google", "name": "Shopping", "updatedAt": "2025-10-05T08:30:00.000Z" } ] } ``` ``` -------------------------------- ### Create New Task (JSON) Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Creates a new task within a specified list. Requires provider, list ID, access token, and task details (title is mandatory). Returns the created task object in JSON format. ```json { "task": { "id": "new-task-123", "provider": "google", "listId": "MTIzNDU2...", "listName": "Shopping", "title": "Buy milk", "status": "pending", "createdAt": "2025-10-06T15:00:00Z", "updatedAt": "2025-10-06T15:00:00Z" } } ``` -------------------------------- ### Sync All Tasks via MCP Tool Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Triggers a synchronization process to fetch tasks from all Google Tasks lists. Allows for filtering by status and limiting the number of results. ```json { "name": "syncAllTasks", "arguments": { "filters": { "status": "pending", "limit": 50 } } } ``` -------------------------------- ### getTasks Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Retrieves tasks from a specific list with optional filtering. ```APIDOC ## getTasks ### Description Retrieves tasks from a specific list with optional filtering by status, search text, or limit. ### Method MCP Tool Call ### Endpoint N/A (MCP Tool) ### Parameters #### Query Parameters None #### Request Body - **listId** (string) - Required - The ID of the task list to retrieve tasks from. - **filters** (object) - Optional - Filtering criteria for tasks. - **status** (string) - Optional - Filter tasks by status (e.g., "pending", "completed"). - **searchText** (string) - Optional - Filter tasks containing the specified text. - **limit** (integer) - Optional - The maximum number of tasks to return. ### Request Example ```json { "name": "getTasks", "arguments": { "listId": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA", "filters": { "status": "pending", "limit": 10 } } } ``` ### Response #### Success Response (200) - **tasks** (array) - A list of task objects. - **id** (string) - The unique identifier for the task. - **provider** (string) - The provider of the task (e.g., "google"). - **listId** (string) - The ID of the list the task belongs to. - **listName** (string) - The name of the list the task belongs to. - **title** (string) - The title of the task. - **description** (string) - The description of the task. - **status** (string) - The current status of the task (e.g., "pending", "completed"). - **due** (string) - The due date and time of the task (ISO 8601 format). - **createdAt** (string) - The timestamp when the task was created (ISO 8601 format). - **updatedAt** (string) - The timestamp when the task was last updated (ISO 8601 format). - **total** (integer) - The total number of tasks matching the criteria. #### Response Example ```json { "tasks": [ { "id": "task-abc123", "provider": "google", "listId": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA", "listName": "My Tasks", "title": "Finish quarterly report", "description": "Q4 projections and analysis", "status": "pending", "due": "2025-10-10T17:00:00.000Z", "createdAt": "2025-10-01T09:00:00.000Z", "updatedAt": "2025-10-06T14:30:00.000Z" } ], "total": 1 } ``` ``` -------------------------------- ### Search Tasks Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Searches for tasks across all lists based on a query string and optional filters. Requires the task provider, search query, and an OAuth access token. Filters can include status and a limit on the number of results. The response contains a list of matching tasks and the total count. ```json { "tasks": [...], "total": 5 } ``` -------------------------------- ### MCP Tool: createTask Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Creates a new task within a specified list using the 'createTask' MCP tool. It requires a 'listId' and a 'task' object containing at least a 'title'. Optional fields include 'description' and 'due' date. ```json // MCP Tool Call - Create a task with due date { "name": "createTask", "arguments": { "listId": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA", "task": { "title": "Buy groceries", "description": "Milk, eggs, bread, and vegetables", "due": "2025-10-08T18:00:00Z" } } } // Response { "task": { "id": "new-task-xyz789", "provider": "google", "listId": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA", "listName": "My Tasks", "title": "Buy groceries", "description": "Milk, eggs, bread, and vegetables", "status": "pending", "due": "2025-10-08T18:00:00.000Z", "createdAt": "2025-10-06T15:00:00.000Z", "updatedAt": "2025-10-06T15:00:00.000Z" } } ``` -------------------------------- ### MCP Tool: listTaskLists Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Retrieves all task lists from the authenticated Google Tasks account using the 'listTaskLists' MCP tool. This tool takes no arguments and returns a list of task lists, each with an ID, provider, name, and update timestamp. ```json // MCP Tool Call { "name": "listTaskLists", "arguments": {} } // Response { "lists": [ { "id": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA", "provider": "google", "name": "My Tasks", "updatedAt": "2025-10-06T12:00:00.000Z" }, { "id": "ABC123xyz", "provider": "google", "name": "Shopping", "updatedAt": "2025-10-05T08:30:00.000Z" } ] } ``` -------------------------------- ### MCP Tool: getTasks Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Fetches tasks from a specified list using the 'getTasks' MCP tool. It supports filtering by status, search text, and limiting the number of results. The tool requires a 'listId' and an optional 'filters' object. ```json // MCP Tool Call - Get all pending tasks from a list { "name": "getTasks", "arguments": { "listId": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA", "filters": { "status": "pending", "limit": 10 } } } // Response { "tasks": [ { "id": "task-abc123", "provider": "google", "listId": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA", "listName": "My Tasks", "title": "Finish quarterly report", "description": "Q4 projections and analysis", "status": "pending", "due": "2025-10-10T17:00:00.000Z", "createdAt": "2025-10-01T09:00:00.000Z", "updatedAt": "2025-10-06T14:30:00.000Z" } ], "total": 1 } ``` -------------------------------- ### TypeScript Error Response Format for MCP Tools Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Defines the standard JSON format for error responses from MCP tools. This format includes a single 'error' key with a descriptive string message. Common error types include authentication, permission, not found, and rate limit errors. ```typescript // Error response format { "error": "Failed to fetch tasks from list MTIz...: Invalid Credentials" } // Common error types: // - Authentication errors: Invalid or expired tokens // - Permission errors: Missing API scopes // - Not found errors: Invalid task or list IDs // - Rate limit errors: Too many requests (Google limits: 600/100sec, 50,000/day) ``` -------------------------------- ### Task Data Interfaces Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt TypeScript definitions for the Task object and TaskFilters, providing a schema for task operations and query parameters. ```typescript interface Task { id: string; provider: "google"; listId: string; listName: string; title: string; description?: string; status: "pending" | "completed" | "cancelled"; due?: Date; createdAt: Date; updatedAt: Date; completedAt?: Date; providerUrl?: string; providerMetadata?: { position: string; etag: string; parent?: string; hidden?: boolean; deleted?: boolean; }; } interface TaskFilters { status?: "pending" | "completed" | "cancelled"; dueAfter?: Date; dueBefore?: Date; search?: string; limit?: number; } ``` -------------------------------- ### Complete Task (JSON) Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Marks a task as completed. This is a convenience method that simplifies the process of updating a task's status to completed. Requires provider, task ID, list ID, and access token. ```json { "task": { "id": "abc123", "status": "completed" } } ``` -------------------------------- ### Complete Task via MCP Tool Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt A convenience method that marks a specific task as completed by updating its status. It requires the taskId and listId. ```json { "name": "completeTask", "arguments": { "taskId": "task-abc123", "listId": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA" } } ``` -------------------------------- ### Update Task via MCP Tool Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Updates an existing task's attributes such as title, description, due date, or status. Requires a taskId and listId to identify the target task. ```json { "name": "updateTask", "arguments": { "taskId": "task-abc123", "listId": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA", "updates": { "title": "Complete quarterly report with charts", "due": "2025-10-12T17:00:00Z", "description": "Include financial charts and executive summary" } } } ``` -------------------------------- ### Update Existing Task (JSON) Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Modifies an existing task by updating specified fields such as title, description, due date, or status. Requires provider, task ID, list ID, access token, and an object containing the updates. Returns the updated task object. ```json { "task": { "id": "abc123", "title": "Updated title", ... } } ``` -------------------------------- ### API Error Response Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Standardized error format for all MCP server tools. This JSON object contains a single key, 'error', with a string value describing the issue. Common errors include authentication failures, permission issues, not found errors, and rate limit exceedances. ```json { "error": "Error message describing what went wrong" } ``` -------------------------------- ### Mark Task as Completed Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Marks a specified task as completed. This function requires the task ID and an OAuth access token for authentication. The response includes the updated task object with its status and completion timestamp. ```json { "task": { "id": "abc123", "status": "completed", "completedAt": "2025-10-06T15:30:00Z", ... } } ``` -------------------------------- ### DELETE /deleteTask Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Permanently deletes a specific task from a task list. ```APIDOC ## DELETE /deleteTask ### Description Delete a task permanently from a specific task list. ### Method DELETE ### Endpoint /deleteTask ### Parameters #### Query Parameters - **provider** (string) - Required - Task provider - **taskId** (string) - Required - ID of the task - **listId** (string) - Required - ID of the task list - **accessToken** (string) - Required - OAuth access token - **refreshToken** (string) - Optional - OAuth refresh token ### Request Example { "provider": "google", "taskId": "abc123", "listId": "MTIzNDU2", "accessToken": "ya29.a0Aa..." } ### Response #### Success Response (200) - **success** (boolean) - Operation status - **deletedId** (string) - The ID of the deleted task #### Response Example { "success": true, "deletedId": "abc123" } ``` -------------------------------- ### Delete Task Source: https://github.com/brandcast-signage/tasks-mcp-server/blob/main/docs/API.md Permanently deletes a task from a specific list. This operation requires the provider, task ID, list ID, and an OAuth access token. A refresh token can optionally be provided. The response confirms the deletion by returning the ID of the deleted task. ```json { "success": true, "deletedId": "abc123" } ``` -------------------------------- ### Delete Task via MCP Tool Source: https://context7.com/brandcast-signage/tasks-mcp-server/llms.txt Permanently removes a task from the specified list using its taskId. ```json { "name": "deleteTask", "arguments": { "taskId": "task-abc123", "listId": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA" } } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.