Skip to main content
Glama

TaskBridge

TaskBridge lets you use Google Tasks from Codex or any MCP client that can run a local STDIO server. It can list task lists and tasks, create or edit tasks, mark tasks complete, and delete tasks after explicit confirmation.

Everything runs locally. The server talks directly to the Google Tasks API and stores the OAuth token on your computer.

What you need

  • Node.js 20 or newer

  • A Google account with Google Tasks enabled

  • A Google Cloud project

  • Codex, the ChatGPT desktop app, or another MCP client with local STDIO support

Related MCP server: Google Tasks MCP Server

Set up the project

1. Download and install

git clone https://github.com/zakikero/google-task-mcp.git
cd google-task-mcp
npm install

Run the checks to confirm that your local copy is ready:

npm run verify

2. Create Google OAuth credentials

  1. Open the Google Cloud Console and create or select a project.

  2. Enable the Google Tasks API.

  3. Open Google Auth platform → Branding and configure the consent screen.

  4. Under Audience, use Internal for a Google Workspace organization or External for a personal Google account. If the app is in testing, add the Google account you will use as a test user.

  5. Open Google Auth platform → Clients, select Create client, and choose Desktop app.

  6. Copy the generated client ID and client secret.

Google supports loopback addresses for desktop OAuth clients, so the included local callback URL works without hosting a web server. See Google's Tasks API Node.js quickstart and desktop OAuth guidance for more detail.

3. Add your credentials

Create a local .env file from the example:

Copy-Item .env.example .env

On macOS or Linux, use cp .env.example .env instead. Then replace the placeholder values:

GOOGLE_TASKS_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_TASKS_CLIENT_SECRET=your-client-secret
GOOGLE_TASKS_REDIRECT_URI=http://127.0.0.1:53682/oauth2callback

The server loads this .env file from the repository directory even when it is launched from somewhere else. .env is ignored by Git.

4. Connect Codex

The simplest development setup is to add this repository as a local MCP server. Replace the example path with the absolute path to your clone:

codex mcp add google-task-mcp -- node C:\path\to\google-task-mcp\server\index.js

You can also add it in the ChatGPT desktop app under Settings → MCP servers → Add server:

  • Name: google-task-mcp

  • Type: STDIO

  • Command: node

  • Arguments: the absolute path to server/index.js

Save the server and restart the app. Codex's MCP configuration is shared with the desktop app and IDE extension; the current options are documented in the official MCP setup guide.

This repository also contains .codex-plugin/plugin.json and .mcp.json for packaging it as a Codex plugin.

The plugin configuration pre-approves only google_tasks_list_tasklists and google_tasks_list_tasks. This lets unattended scheduled tasks read Google Tasks while create, update, completion, authorization, and deletion operations continue to require approval.

5. Authorize Google Tasks

Start a new chat and ask:

Connect my Google Tasks account.

The client should call google_tasks_get_authorization_url. Open the returned URL, approve access, return to the chat, and ask it to finish authorization. The authorization attempt expires after 10 minutes.

Try one of these prompts afterward:

  • “Show my open Google Tasks.”

  • “Create a task called Pay electricity bill due tomorrow.”

  • “Mark my grocery task complete.”

Available tools

Tool

Purpose

google_tasks_get_authorization_url

Start local Google OAuth authorization

google_tasks_complete_authorization

Finish authorization after browser consent

google_tasks_list_tasklists

List task lists

google_tasks_list_tasks

List tasks, optionally including completed or hidden tasks

google_tasks_create_task

Create a task or subtask

google_tasks_update_task

Change a task's title, notes, or due date

google_tasks_set_task_completion

Complete or reopen a task

google_tasks_delete_task

Permanently delete a task after explicit confirmation

Task list IDs default to @default. Due dates use RFC 3339 timestamps, such as 2026-08-18T17:00:00Z; Google Tasks stores the date and may discard the time portion.

Local data and safety

  • The OAuth token is stored at %APPDATA%\google-task-mcp\token.json on Windows or ~/.config/google-task-mcp/token.json on macOS and Linux.

  • Set GOOGLE_TASKS_TOKEN_PATH in .env to use a different location.

  • Delete the token file to disconnect the Google account. You can also revoke access from your Google Account settings.

  • The server requests only https://www.googleapis.com/auth/tasks.

  • Task deletion requires confirm: true; clients should show the exact task and ask before calling it.

  • .env, token directories, logs, and dependencies are excluded from Git. Never commit credentials or tokens.

Troubleshooting

The MCP server exits immediately

Check that .env exists beside package.json and contains both GOOGLE_TASKS_CLIENT_ID and GOOGLE_TASKS_CLIENT_SECRET.

Google reports redirect_uri_mismatch

Confirm that you created a Desktop app OAuth client and kept GOOGLE_TASKS_REDIRECT_URI set to the included loopback URL.

The authorization URL expires

Run google_tasks_get_authorization_url again. Only one authorization attempt can be active at a time.

Port 53682 is already in use

Choose an unused local port in .env, restart the MCP server, and begin authorization again.

A scheduled task says connector approval is unavailable

Install the repository as the Codex plugin rather than registering only the MCP server. The included .mcp.json safely pre-approves the two read-only tools needed by scheduled tasks. Restart Codex after installing an updated plugin, then test the scheduled prompt once in a regular chat. Do not pre-approve the whole server because it also contains tools that modify and delete tasks.

Development

The server is split by responsibility:

server/
  config.js       Environment and path configuration
  google-auth.js  OAuth callback and Google API client
  index.js        Server startup
  mcp-result.js   MCP text response formatting
  tools.js        Tool schemas and handlers
test/              Node.js unit tests

Useful commands:

npm run check   # Syntax-check server files
npm test        # Run unit tests
npm run verify  # Run both checks
npm start       # Start the STDIO server manually

OAuth and live Google API calls require real credentials and interactive browser consent. Unit tests do not contact Google.

License

Released under the MIT License.

Available Tools

8 tools
google_tasks_complete_authorizationA

Confirm the browser OAuth callback has completed and save the local token.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It explains the tool confirms the callback and saves a token, which are key behavioral traits. However, it omits details like whether the token is persisted, if repeated calls are safe, or any side effects. The description is adequate but not deeply transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence (17 words) with no fluff. Every word contributes to understanding the tool's purpose and action. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description captures the core action. However, it lacks details about prerequisites (e.g., must have called get_authorization_url first), error conditions, or what 'local token' means. It is adequate for a straightforward OAuth completion step but could provide more context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, and schema description coverage is 100% (empty object). The description does not need to add parameter meanings. Baseline for zero-parameter tools is 4, and the description meets that without adding unnecessary detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: to confirm the browser OAuth callback has completed and save the local token. It uses a specific verb ('confirm') and resource ('OAuth callback', 'local token'), and it distinguishes from sibling tools like google_tasks_get_authorization_url, which initiates the flow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives. While the context suggests it should be used after obtaining the authorization URL, no direct guidance is given on prerequisites, ordering, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_tasks_create_taskC

Create a Google Task. Due dates are RFC 3339 timestamps, for example 2026-08-18T17:00:00Z.

ParametersJSON Schema
NameRequiredDescriptionDefault
dueNo
notesNo
titleYes
parentNo
previousNo
tasklistIdNo@default

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It only discloses the RFC 3339 timestamp format for due dates. It does not mention authentication, default tasklist behavior, side effects, or return values, leaving the agent under-informed for a mutation operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with 'Create a Google Task', and the due date example is a useful addition. However, it is under-specified rather than genuinely concise; it omits critical parameter explanations that would fit naturally in a few more sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters, no annotations, and no output schema, this description is incomplete. It does not clarify what the tool returns, how tasklistId defaults to '@default', or the semantics of parent/previous relationships, making it difficult for an agent to invoke it correctly without additional assumptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With a schema description coverage of 0%, the description must compensate for all six parameters. It only adds format details for 'due', leaving title, notes, parent, previous, and tasklistId unexplained beyond their raw schema types. This is insufficient for a tool with this many parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Create a Google Task', using a specific verb and resource. This clearly distinguishes it from sibling tools like update, delete, and list, which involve different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool vs alternatives, nor any mention of prerequisites or exclusions. The verb 'Create' implies usage, but no explicit context is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_tasks_delete_taskA

Permanently delete one task. First show the exact task to the user; this tool refuses to run without confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYes
confirmYesMust be true after the user explicitly confirms deletion.
tasklistIdNo@default

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It correctly flags the operation as permanent and irreversible, but it does not mention permission requirements, rate limits, or what happens if the task is already deleted. However, the description adds value beyond the schema by clarifying the confirmation workflow.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences covering purpose, usage guidance, and behavioral constraint. Every sentence is necessary and informative with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the destructive nature of the tool (no output schema, 3 parameters with low description coverage), the description should ideally mention return values (or lack thereof) and how the tool signals success or failure. The confirmation behavior is well-handled, but the gap on tasklistId and response format limits completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (the confirm parameter has a description, but taskId and tasklistId do not). The description compensates by explaining that confirm must be true and that taskId corresponds to the task shown to the user. However, it does not explain the tasklistId parameter or its default behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Permanently delete one task') and specifies the resource ('task'), distinguishing it from siblings like google_tasks_update_task or google_tasks_set_task_completion. The verb 'delete' is precise and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent to 'first show the exact task to the user' and mandates a confirmation step ('this tool refuses to run without confirm: true'). This provides clear when-to-use guidance and prevents accidental deletion, which is crucial for a destructive operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_tasks_get_authorization_urlA

Start local OAuth 2.0 authorization and return the URL the user must open in a browser.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden. It discloses that the tool starts authorization locally and produces a URL for browser opening. It doesn't clarify whether the server listens for a callback, but for a zero-parameter tool, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, precise sentence that fully explains the tool's purpose and behavior without unnecessary words. It earns its place by being maximally efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, simple OAuth initiation tool, the description is sufficient. It doesn't have an output schema but the return URL is implied. Some agents might benefit from knowing about timeout or error states, but the description is complete for its simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema description coverage is 100%. The description doesn't need to explain parameters, but it doesn't add any value beyond the schema. Baseline 3 is not justified because there are no parameters to enrich, and the description is minimal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (start OAuth authorization) and the expected outcome (return a URL for the user to open). It distinguishes itself from sibling tools like google_tasks_complete_authorization, which handles the next step, though it doesn't explicitly name that sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the first step in the OAuth flow, and the sibling google_tasks_complete_authorization logically follows. However, it doesn't explicitly state when not to use it or mention prerequisites like needing app credentials.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_tasks_list_tasklistsB

List the user's Google Tasks lists.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state that this is a read-only operation, whether authorization is required, or any side effects. The minimal sentence adds no transparency beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately states the tool's purpose. Every word is functional, and there is no unnecessary length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, the description lacks completeness. It does not mention the return format (e.g., list of task list objects with IDs) or that authorization is required. For a simple list tool, more context would help an agent use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, and schema description coverage is trivially 100%. The description adds no parameter information, but none is needed. Baseline for 0 parameters is 4, and the description does not contradict the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('the user's Google Tasks lists'), clearly distinguishing this tool from siblings like 'google_tasks_list_tasks' (which lists tasks within a list) and 'google_tasks_create_task' (which creates a task).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool or when to avoid it. There is no mention of prerequisites (e.g., authorization) or that it should be called before listing tasks to obtain list IDs. The description simply states what it does.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_tasks_list_tasksC

List tasks in a Google Task list.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxResultsNo
showHiddenNo
tasklistIdNo@default
showCompletedNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full burden of behavioral disclosure. It only states 'List tasks' without any detail about read-only nature, pagination via maxResults, default behavior, or what the response contains. This is insufficient for an agent to understand the tool's effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise but too terse for a tool with 4 parameters and no output schema. It states the purpose but omits critical information. It is not verbose, but it is under-specified rather than efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters (none described), no annotations, and no output schema, the description is extremely incomplete. It fails to explain how to use the tool, what parameters do, or what the return value looks like, leaving the agent with insufficient context to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 4 parameters with 0% description coverage, meaning no parameter descriptions exist. The tool description does not mention any parameter or provide any additional meaning, failing to compensate for the schema gap. The agent receives no context for maxResults, showHidden, tasklistId, or showCompleted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List tasks in a Google Task list' uses a specific verb ('list') and clearly identifies the resource ('tasks in a Google Task list'). It effectively distinguishes this tool from siblings like 'google_tasks_create_task' or 'google_tasks_list_tasklists'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing a tasklist ID from list_tasklists), nor does it explain when to use parameters like showHidden or showCompleted to filter results.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_tasks_set_task_completionC

Complete or uncomplete a task.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYes
completedYes
tasklistIdNo@default

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It minimally states the effect (completion status change) but omits side effects, permissions, error handling, idempotency, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise but lacking structure. It could be improved to front-load key details about parameters and behavior without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the description is incomplete. It does not explain that the 'completed' parameter determines the state, that tasklistId defaults to '@default', or any return value. No output schema exists to compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description adds no meaning to any of the three parameters (taskId, completed, tasklistId). The agent must rely solely on the schema, which lacks descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action of completing or uncompleting a task using the verb-resource pair 'Complete or uncomplete a task'. It is specific but fails to differentiate from sibling tools like google_tasks_update_task, which could also modify task status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as google_tasks_update_task or when to list tasks first. The description solely states the action without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

google_tasks_update_taskB

Update a task's title, notes, or due date. At least one editable field is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
dueNo
notesNo
titleNo
taskIdYes
tasklistIdNo@default

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only notes that at least one editable field is required, but omits critical behaviors such as whether the task must exist, what happens if the task is not found, any authentication requirements, or the nature of the response (mutation implied but no output schema). This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no redundant information. It is front-loaded with the core action and immediately states the essential constraint. Every word earns its place, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters, no output schema, and no annotations, the description is too sparse. It does not explain the return value, error states, or the role of tasklistId. The agent lacks sufficient context to use the tool confidently, especially compared to sibling tools with richer descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It names three editable parameters (title, notes, due), adding meaning beyond the raw schema. However, it does not explain the format of 'due' (date-time), the max lengths, or the purpose of 'taskId' and 'tasklistId' (especially the default @default). The compensation is partial, warranting a middle score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Update a task') and identifies the specific editable fields ('title, notes, or due date'), which distinguishes it from sibling tools like create, delete, or set completion. The requirement 'At least one editable field is required' further clarifies the tool's purpose without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when modifying an existing task's title, notes, or due date, but it does not explicitly guide when not to use this tool (e.g., for updating completion status, use set_task_completion instead). No alternatives or exclusions are mentioned, leaving the agent to infer context from sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv0.1.0
    • First observedgoogle_tasks_complete_authorization
    • First observedgoogle_tasks_create_task
    • First observedgoogle_tasks_delete_task
    • First observedgoogle_tasks_get_authorization_url
    • First observedgoogle_tasks_list_tasklists
    • First observedgoogle_tasks_list_tasks
    • First observedgoogle_tasks_set_task_completion
    • First observedgoogle_tasks_update_task

TDQS

A3.5/5.0
Disambiguation5/5

Each tool addresses a distinct operation: authorization, listing, creation, update, completion, and deletion. There is no overlap or ambiguity between the tools.

Naming Consistency5/5

All tools follow a consistent `google_tasks_<verb>_<noun>` pattern, with clear, predictable verbs like `list`, `create`, `update`, and `delete`.

Tool Count5/5

With 8 tools, the set covers the core lifecycle of managing Google Tasks (auth, lists, tasks) without being excessive or sparse. Each tool has a clear purpose.

Completeness4/5

The tool set provides full CRUD for tasks (create, read, update, delete) plus completion toggling and authorization. It lacks a `get_task` detail endpoint, but the list tool likely returns sufficient information for most workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zakikero/google-task-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server