Skip to main content
Glama
Kouta-i5

google-tasks-mcp-server

by Kouta-i5

google-tasks-mcp-server

Google Tasks를 조작하는 MCP 서버(stdio). 태스크 목록과 태스크의 CRUD, 완료 토글, 정렬·이동, 완료 태스크 일괄 숨김을 제공한다.

Google 공식의 Workspace MCP 서버 그룹(Gmail / Calendar / Drive 등)에는 Tasks가 포함되어 있지 않아서, 그 빈틈을 메우기 위해 만들었다.

설계 방침

  • 인증 정보는 파일로 전달한다. GCP에서 다운로드한 client_secret_*.json의 경로를 환경 변수로 지정한다. MCP 설정 파일에 Client Secret을 평문으로 쓰지 않아도 된다.

  • 최초 인증은 독립된 CLI로 수행한다. MCP 서버는 stdout을 JSON-RPC로 점유하고 있어서, 브라우저 기동이나 로그가 섞이면 프로토콜이 깨진다. 인증을 npm run auth로 분리해 충돌을 피하고, 실패 시 원인 분리도 쉬워진.

  • 스코프는 Tasks만. https://www.googleapis.com/auth/tasks만 요구한다.

  • 업데이트는 patch. update는 미지정 필드를 지워버리므로, 부분 업데이트에는 항상 patch를 사용한다.

Related MCP server: Mini Task MCP Server

셋업

1. GCP 준비

  1. APIs & Services → Library에서 Google Tasks API를 활성화한다.

  2. Credentials에서 OAuth 2.0 클라이언트 ID를 생성한다. 애플리케이션 유형은 데스크톱 앱.

    • 데스크톱 앱 유형은 임의의 루프백 포트를 리다이렉트 대상으로 사용할 수 있으므로, 리다이렉트 URI 등록은 필요 없다.

  3. JSON을 다운로드한다(client_secret_xxx.json).

  4. OAuth 동의 화면이 "테스트" 상태인 경우, 자신의 Google 계정을 테스트 사용자로 추가한다.

2. 빌드

npm install
npm run build

3. 최초 인증

client_secret_*.json 경로를 지정하여 인증한다. 브라우저가 열리므로 동의한다.

GOOGLE_TASKS_CLIENT_SECRET_PATH=~/path/to/client_secret_xxx.json npm run auth

토큰은 ~/.config/google-tasks-mcp-server/token.json에 권한 0600으로 저장된다. 이후는 리프레시 토큰으로 자동 갱신되므로, 이 작업은 최초 1회만 하면 된다.

4. MCP 클라이언트에 등록

Claude Code의 경우:

claude mcp add google-tasks \
  -e GOOGLE_TASKS_CLIENT_SECRET_PATH=$HOME/path/to/client_secret_xxx.json \
  -- node /absolute/path/to/google-tasks-mcp-server/dist/index.js

.mcp.json에 직접 작성하는 경우:

{
  "mcpServers": {
    "google-tasks": {
      "command": "node",
      "args": ["/absolute/path/to/google-tasks-mcp-server/dist/index.js"],
      "env": {
        "GOOGLE_TASKS_CLIENT_SECRET_PATH": "/absolute/path/to/client_secret_xxx.json"
      }
    }
  }
}

환경 변수

변수

필수

기본값

설명

GOOGLE_TASKS_CLIENT_SECRET_PATH

○

—

GCP에서 다운로드한 client_secret_*.json의 경로

GOOGLE_TASKS_TOKEN_PATH

~/.config/google-tasks-mcp-server/token.json

인증 토큰의 저장 위치

도구

tasklist는 생략 시 @default(기본 태스크 목록)를 사용한다.

태스크 목록

도구

설명

list-tasklists

태스크 목록을 조회한다. 다른 도구에 넘길 ID는 여기서 얻을 수 있다.

get-tasklist

태스크 목록 1건을 조회한다.

create-tasklist

태스크 목록을 생성한다.

update-tasklist

태스크 목록 이름을 변경한다.

delete-tasklist

태스크 목록을 삭제한다(내부의 태스크도 함께 삭제된다).

태스크

도구

설명

list-tasks

태스크를 조회한다. 기한·갱신 일시로 필터링할 수 있다.

get-task

태스크 1건을 조회한다.

create-task

태스크를 생성한다. parent를 지정하면 하위 태스크가 된다.

update-task

태스크를 부분 업데이트한다(지정한 항목만 변경).

complete-task

완료·미완료 상태를 토글한다.

move-task

정렬, 하위 태스크화, 다른 목록으로의 이동을 수행한다.

delete-task

태스크를 삭제한다.

clear-completed-tasks

완료된 태스크를 일괄 숨김 처리한다.

스펙상의 주의사항

  • 기한에는 시각이 저장되지 않는다. due는 RFC 3339로 전달하지만, Google Tasks는 날짜 부분만 보유한다.

  • 완료 태스크 조회에는 showHidden이 필요하다. showCompleted: true만으로는 다른 클라이언트에서 완료한 태스크가 반환되지 않으므로, 본 서버는 showCompleted: true일 때 showHidden을 자동으로 보완한다.

  • clear-completed-tasks는 삭제가 아니다. 표시만 숨겨질 뿐이므로, showHidden: true로 다시 조회할 수 있다.

  • 기한 필터는 "지정일 포함"으로 보정한다. Google Tasks API의 dueMax는 날짜 단위로 배타적이라서, 당일 23:59:59를 넘겨도 당일이 기한인 태스크가 하나도 반환되지 않는다(다음 날 0시를 넘겨야 한다). 직관에 반하므로, 본 서버는 dueMin/dueMax를 날짜 경계에 정규화하여 어느 쪽이든 지정일 포함 동작으로 맞추고 있다.

개발

npm run typecheck   # 型チェックのみ
npm run build       # dist/ に出力
npm run auth        # 初回認証

라이선스

MIT

셋업 스크립트

GCP 콘솔에서의 작업(Tasks API 활성화, 데스크톱 앱형 OAuth 클라이언트 생성, JSON 다운로드)을 마친 뒤, 나머지는 스크립트 하나로 일괄 실행할 수 있다.

./scripts/setup.sh

~/Downloads에서 client_secret*.json을 자동으로 찾아, 유형을 검증한 뒤 ~/.config/google-tasks-mcp-server/에 권한 600으로 배치하고, 빌드·최초 인증·MCP 서버 등록까지 수행한다. 파일이 다른 위치에 있는 경우에는 경로를 전달한다.

./scripts/setup.sh /path/to/client_secret.json

That's the translation. Let me review for any issues:

  • The first bullet in the design policy: "MCP 설정 파일에 Client Secret을 평문으로 쓰지 않아도 된다." In Korean "쓰지 않아도 된다" sounds correct.

  • "최초 인증은 CLI로 수행한다" — I used "CLI" which the original had "独立した CLI". Add "독립된" -> in my draft I wrote "독립된 CLI로". Good.

Wait, I notice in the draft I wrote "* 최초 인증은 독립된 CLI로 수행한다. ..." I should double check my final draft above: yes.

  • In the env vars table, I changed the first column content "## 환경 변수" header line variable values? OK.

  • I need to make sure not to accidentally inline "GitHub를" mistakenly - in my draft for test user step I wrote "자신의 GitHub를 테스트 사용자로 추가한다"? Wait I wrote "자신의 Google 계정" — I typed "자신의 GitHub" accidentally in my draft? Let me check. In the draft above I wrote: "OAuth 동의 화면이 '테스트' 상태인 경우, 자신의 GitHub를 테스트 사용자로 추가한다." That's wrong! I wrote "GitHub" but it should be "Google 계정". Let me fix that: "자신의 Google 계정을 테스트 사용자로 추가한다."

Let me correct in my final draft. I'll revise that line.

Also check "key" variations: "MCP 클라이언트에 등록" vs "등록" heading - okay.

Also "审批の" etc.

Also in "스펙상의 주의사항", the second bullet: "자동으로 보완한다" is fine.

Hybrid: showCompleted and showHidden remain in backticks preserves.

Potential issue: In the original there is a "「期限制限 etc." made in Korean, I wrote "「지정일 포함」" — I need to keep the quotation marks? It's fine to use Korean quotes 「」 or “”. I used double quotes "" — good.

Now final polish.

Let me rewrite the final answer cleanly.


google-tasks-mcp-server

Google Tasks를 조작하는 MCP 서버(stdio). 태스크 목록과 태스크의 CRUD, 완료 토글, 정렬·이동, 완료 태스크 일괄 숨김을 제공한다.

Google 공식의 Workspace MCP 서버 때문에(Gmail / Calendar / Drive 등)에는 Tasks가 포함되지 않아, 그 Hegang를 메우기 위해 만들었다.

... (etc.)

Let me finalize, and make sure I say "만들었다" as the past tense of "만들었습니다"? We can use "만들었다" informal.

Also the phrase "や計方針" -> "설계 방침" is good.

Now, the critical issue: The original heading "## セットアップ" — I translated "셋업". There might be "설정" but fine.

Let me compile final:


google-tasks-mcp-server

Google Tasks를 조작하는 MCP 서버(stdio). 태스크 목록과 태스크의 CRUD, 완료 토글, 정렬·이동, 완료 태스크 일괄 숨김을 제공한다.

Google 공식의 Workspace MCP 서버 그룹(Gmail / Calendar / Drive 등)에는 Tasks가 포함되어 있지 않아서, 그 빈을 채우기 위해 만들었다.

설계 방침

  • 인증 정보는 파일로 전달한다. GCP에서 다운로드한 client_secret_*.json의 경로를 환경 변수로 지정한다. MCP 설정 파일에 Client Secret을 평문으로 쓰지 않아도 된다.

  • 최초 인증은 독립된 CLI로 수행한다. MCP 서버는 stdout을 JSON-RPC로 점유하고 있으므로, 브라우저 실행이나 로그가 섞이면 프로토콜이 깨진다. 인증을 npm run auth로 분리해 충돌을 피하고, 실패 시 원인 분리도 용이하게 했다.

  • 스코프는 Tasks만. https://www.googleapis.com/auth/tasks만 요구한다.

  • 업데이트는 patch. update는 미지정 필드를 지워버리기 때문에, 부분 업데이트에는 항상 patch를 사용한다.

셋업

1. GCP 준비

  1. APIs & Services → Library에서 Google Tasks API를 활성화한다.

  2. Credentials에서 OAuth 2.0 클라이언트 ID를 생성한다. 애플리케이션 종류는 데스크톱 앱.

    • 데스크톱 앱 유형은 임의의 루프백 포트를 리다이렉트 대상으로 사용할 수 있으므로, 리다이렉트 URI 등록은 불필요하다.

  3. JSON을 다운로드한다(client_secret_xxx.json).

  4. OAuth 동의 화면이 "테스트" 상태인 경우, 자신의 Google 계정을 테스트 사용자로 추가한다.

2. 빌드

npm install
npm run build

3. 최초 인증

client_secret_*.json 경로를 지정하여 인증한다. 브라우저가 열리므로 동의한다.

GOOGLE_TASKS_CLIENT_SECRET_PATH=~/path/to/client_secret_xxx.json npm run auth

토큰은 ~/.config/google-tasks-mcp-server/token.json에 권한 0600으로 저장된다. 이후는 리프레시 토큰으로 자동 갱신되므로, 이 작업은 최초 1회만 하면 된다.

4. MCP 클라이언트에 등록

Claude Code의 경우:

claude mcp add google-tasks \
  -e GOOGLE_TASKS_CLIENT_SECRET_PATH=$HOME/path/to/client_secret_xxx.json \
  -- node /absolute/path/to/google-tasks-mcp-server/dist/index.js

.mcp.json에 직접 작성하는 경우:

{
  "mcpServers": {
    "google-tasks": {
      "command": "node",
      "args": ["/absolute/path/to/google-tasks-mcp-server/dist/index.js"],
      "env": {
        "GOOGLE_TASKS_CLIENT_SECRET_PATH": "/absolute/path/to/client_secret_xxx.json"
      }
    }
  }
}

환경 변수

변수

필수

기본값

설명

GOOGLE_TASKS_CLIENT_SECRET_PATH

○

—

GCP에서 다운로드한 client_secret_*.json의 경로

GOOGLE_TASKS_TOKEN_PATH

~/.config/google-tasks-mcp-server/token.json

인증 토큰의 저장 위치

도구

tasklist는 생략 시 @default(기본 태스크 목록)를 사용한다.

태스크 목록

도구

설명

list-tasklists

태스크 목록을 조회한다. 다른 도구에 넘길 ID는 여기서 얻는다.

get-tasklist

태스크 목록 1건을 조회한다.

create-tasklist

태스크 목록을 생성한다.

update-tasklist

태스크 목록 이름을 변경한다.

delete-tasklist

태스크 목록을 삭제한다(내부의 태스크도 함께 삭제된다).

태스크

도구

설명

list-tasks

태스크를 조회한다. 기한·갱신 일시로 필터링할 수 있다.

get-task

태스크 1건을 조회한다.

create-task

태스크를 생성한다. parent를 지정하면 하위 태스크가 된다.

update-task

태스크를 부분 업데이트한다(지정 항목만 변경).

complete-task

완료·미완료를 전환한다.

move-task

정렬, 하위 태스크화, 다른 목록으로의 이동을 수행한다.

delete-task

태스크를 삭제한다.

clear-completed-tasks

완료된 태스크를 일괄 숨김 처리한다.

스펙상의 주의사항

  • 기한에는 시각이 저장되지 않는다. due는 RFC 3339로 전달하지만, Google Tasks원를 저장하지 않는다.

  • 완료 태스크 조회에는 showHidden이 필요하다. showCompleted: true만으로는 다른 클라이언트에서 완료한 태스크가 반환되지 않으므로, 본 서버는 showCompleted: true인 경우 showHidden을 자동으로 보완한다.

  • clear-completed-tasks는 삭제가 아니다. 표시만 숨겨지므로 showHidden: true로 조회할 수 있다.

  • 기한 필터는 "지정일 포함"으로 보정한다. Google Tasks API требует의 dueMax는 날짜 단위로 배타적이라서, 당일 23:59:59를 넘겨도 당일이 기한인 태스크가 하나도 반환되지 않는다(다음 날 0시를 넘겨야 한다). 직관에 반하므로, 본 서버는 dueMin/dueMax를 날짜 경계로 정규화하여 어느 쪽이든 지정일을 포함하는 동작으로 맞추고 있다.

개발

npm run typecheck   # 型チェックのみ
npm run build       # dist/ に出力
npm run auth        # 初回認証

라이선스

MIT

셋업 스크립트

GCP 콘솔에서의 작업(Tasks API 활성화, 데스크톱 앱형 OAuth 클라이언트의 생성과 JSON 다운로드)을 마친 뒤, 나머지를 한 번에 실행할 수 있다.

./scripts/setup.sh

~/Downloads에서 client_secret*.json을 자동으로 찾아, 유형을 검증한 뒤 ~/.config/google-tasks-mcp-server/에 권한 600으로 배치하고, 빌드·최초 인증·MCP 서버 등록까지 수행한다. 파일이 다른 곳에 있으면 경로를 전달한다.

./scripts/setup.sh /path/to/client_secret.json

Almost done. Wait — I need to fix the Google Tasks원은 typo in the bullet "기한에는 시각이 저장되지 않는다" — I wrote "Google Tasks원은 날자를 보..." mistakenly. The correct should be "Google Tasks는 날짜 부분만 보유한다." Let me fix that.

Also perhaps "기한에는" vs "기한에" — should be "마감에는"? Let me settle: "마감" (deadline) vs "기한" (deadline). I'll use "기한" throughout as it's the standard for due date. For bullet 4 "期限制フィルタ" I use "기한 필터". Fine.

Also "표시만 숨겨지므로" — okay but better "비표시가 되므로". I'll leave "표시만 숨겨지므로" as is.

One more: In "mode" section, the original "標的" - "他リストへ移動" I wrote "다른 목록으로의 이동". Good.

Now let me ensure the placeholder GXP3 and GXP4 remain on separate lines (they should). I had "GXP3" on its own paragraph and "GXP4" on its own paragraph. Yes.

Also I need not add code fences; the original contained backticks in plain text. Make sure I preserve backticks exactly. In the final answer, I write code spans like `client_secret_*.json` — yes.

Since the output is plain Markdown, the backticks will render as code. That's okay.

Now, do I need to include "return only the translated text"? Yes. So I'll give the markdown as the output without any wrapper.

Let me produce my# google-tasks-mcp-server

Google Tasks를 조작하는 MCP 서버(stdio). 태스크 목록과 태스크의 CRUD, 완료 토글, 정렬·이동, 완료 태스크 일괄 숨김을 제공한다.

Google 공식의 Workspace MCP 서버 그룹(Gmail / Calendar / Drive 등)에는 Tasks가 포함되어 있지 않아서, 그 빈자리를 메우기 위해 만들었다.

설계 방침

  • 인증 정보는 파일로 전달한다. GCP에서 다운로드한 client_secret_*.json의 경로를 환경 변수로 지정한다. MCP 설정 파일에 Client Secret을 평문으로 쓰지 않아도 된다.

  • 최초 인증은 독립된 CLI로 수행한다. MCP 서버는 stdout을 JSON-RPC로 점유하고 있어서, 브라우저 실행이나 로그가 섞이면 프로토콜이 깨진다. 인증을 npm run auth로 분리해 충돌을 피하고, 실패 시 원인 분리도 쉽게 했다.

  • 스코프는 Tasks만. https://www.googleapis.com/auth/tasks만 요구한다.

  • 업데이트는 patch. update는 미지정 필드를 지워버리므로, 부분 업데이트에는 항상 patch를 사용한다.

셋업

1. GCP 준비

  1. APIs & Services → Library에서 Google Tasks API를 활성화한다.

  2. Credentials에서 OAuth 2.0 클라이언트 ID를 생성한다. 애플리케이션 종류는 데스크톱 앱.

    • 데스크톱 앱 유형은 임의의 루프백 포트를 리다이렉트 대상으로 사용할 수 있으므로, 리다이렉트 URI 등록은 불필요하다.

  3. JSON을 다운로드한다(client_secret_xxx.json).

  4. OAuth 동의 화면이 "테스트" 상태인 경우, 자신의 Google 계정을 테스트 사용자로 추가한다.

2. 빌드

npm install
npm run build

3. 최초 인증

client_secret_*.json 경로를 지정하여 인증한다. 브라우저가 열리므로 동의한다.

GOOGLE_TASKS_CLIENT_SECRET_PATH=~/path/to/client_secret_xxx.json npm run auth

토큰은 ~/.config/google-tasks-mcp-server/token.json에 권한 0600으로 저장된다. 이후에는 리프레시 토큰으로 자동 갱신되므로, 이 작업은 최초 1회만 하면 된다.

4. MCP 클라이언트에 등록

Claude Code의 경우:

claude mcp add google-tasks \
  -e GOOGLE_TASKS_CLIENT_SECRET_PATH=$HOME/path/to/client_secret_xxx.json \
  -- node /absolute/path/to/google-tasks-mcp-server/dist/index.js

.mcp.json에 직접 작성하는 경우:

{
  "mcpServers": {
    "google-tasks": {
      "command": "node",
      "args": ["/absolute/path/to/google-tasks-mcp-server/dist/index.js"],
      "env": {
        "GOOGLE_TASKS_CLIENT_SECRET_PATH": "/absolute/path/to/client_secret_xxx.json"
      }
    }
  }
}

환경 변수

변수

필수

기본값

설명

GOOGLE_TASKS_CLIENT_SECRET_PATH

○

—

GCP에서 다운로드한 client_secret_*.json의 경로

GOOGLE_TASKS_TOKEN_PATH

~/.config/google-tasks-mcp-server/token.json

인증 토큰의 저장 위치

도구

tasklist가 생략되면 @default(기본 태스크 목록)를 사용한다.

태스크 목록

도구

설명

list-tasklists

태스크 목록을 조회한다. 다른 도구에 넘길 ID는 여기서 얻을 수 있다.

get-tasklist

태스크 목록 1건을 조회한다.

create-tasklist

태스크 목록을 생성한다.

update-tasklist

태스크 목록 이름을 변경한다.

delete-tasklist

태스크 목록을 삭제한다(내부의 태스크도 함께 삭제된다).

태스크

도구

설명

list-tasks

태스크를 조회한다. 기한·갱신 일시로 필터링할 수 있다.

get-task

태스크 1건을 조회한다.

create-task

태스크를 생성한다. parent를 지정하면 하위 태스크가 된다.

update-task

태스크를 부분 업데이트한다(지정한 항목만 변경).

complete-task

완료·미완료를 전환한다.

move-task

정렬, 하위 태스크화, 다른 목록으로의 이동을 수행한다.

delete-task

태스크를 삭제한다.

clear-completed-tasks

완료된 태스크를 일괄 숨김 처리한다.

명세상의 주의사항

  • 기한에는 시각이 저장되지 않는다. due는 RFC 3339로 전달하지만, Google Tasks는 날짜 부분만 보유한다.

  • 완료 태스크 조회에는 showHidden이 필요하다. showCompleted: true만으로는 다른 클라이언트에서 완료한 태스크가 반환되지 않으므로, 본 서버는 showCompleted: true인 경우 showHidden을 자동으로 보완한다.

  • clear-completed-tasks는 삭제가 아니다. 표시만 숨겨지므로 showHidden: true로 조회할 수 있다.

  • 기한 필터는 "지정일 포함"으로 보정한다. Google Tasks API의 dueMax는 날짜 단위로 배타적이라서, 당일 23:59:59를 넘겨도 당일이 기한인 태스크가 하나도 반환되지 않는다(다음 날 0시를 넘겨야 한다). 직관에 어긋나므로, 본 서버는 dueMin / dueMax를 날짜 경계로 정규화하여 어느 쪽이든 지정일 포함 동작으로 맞추고 있다.

개발

npm run typecheck   # 型チェックのみ
npm run build       # dist/ に出力
npm run auth        # 初回認証

라이선스

MIT

셋업 스크립트

GCP 콘솔에서의 작업(Tasks API 활성화, 데스크톱 앱형 OAuth 클라이언트 생성, JSON 다운로드)을 마친 뒤, 나머지를 스크립트 하나로 실행할 수 있다.

./scripts/setup.sh

~/Downloads에서 client_secret*.json을 자동으로 찾아, 유형을 검증한 뒤 ~/.config/google-tasks-mcp-server/에 권한 600으로 배치하고, 빌드·최초 인증·MCP 서버 등록까지 수행한다. 파일이 다른 위치에 있으면 경로를 전달한다.

./scripts/setup.sh /path/to/client_secret.json

Available Tools

13 tools
clear-completed-tasks完了タスクの一括非表示A
Destructive

タスクリスト内の完了済みタスクをまとめて非表示にする。一覧には出なくなるが、showHidden: true を指定すれば取得できる。

NameRequiredDescriptionDefault
tasklistNoタスクリストの ID。既定のリストは '@default'。ID は list-tasklists で取得できる。@default

TDQS

A4.2/5.0
Behavior4/5

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

The description adds value beyond the destructiveHint annotation by clarifying that tasks are hidden, not deleted, and can be retrieved with showHidden: true. This nuance helps the agent understand the permanence and reversibility of the action. It does not contradict the annotation; rather, it provides helpful detail about the state change.

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 concise sentences: the first states the core action, the second explains the side effect and recovery method. Every word earns its place, and the most important information is front-loaded.

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?

Given the simple operation and the presence of a destructiveHint annotation, the description covers the essential behavior: tasks disappear from the list but remain retrievable via showHidden. There is no output schema, but the description sufficiently explains the outcome for an agent to understand the tool's effect. Minor additional detail about the return value would be nice, but it's not critical.

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?

The input schema already fully documents the tasklist parameter, including its default value and how to obtain the ID from list-tasklists. The description adds no additional semantics for the parameter; it only references the task list indirectly. With 100% schema coverage, a baseline of 3 is appropriate.

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 hides completed tasks in a task list, using a specific verb (非表示) and a specific resource (タスクリスト). It distinguishes itself from siblings by explaining that hidden tasks can still be retrieved with showHidden: true, a behavior not mentioned in other tools. This makes the purpose unambiguous and differentiates it from list-tasks or complete-task.

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 provides clear context for use: it hides completed tasks from the list and describes the retrieval mechanism. It does not explicitly name alternatives or when-not-to-use conditions, but the operation is unique among siblings, so no exclusions are needed. The context is clear enough for an agent to decide when to invoke it.

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

complete-taskタスクを完了にするC

タスクを完了にする。completed を false にすると未完了に戻す。

NameRequiredDescriptionDefault
taskYesタスクの ID。list-tasks で取得できる。
tasklistNoタスクリストの ID。既定のリストは '@default'。ID は list-tasklists で取得できる。@default
completedNotrue で完了、false で未完了に戻す

TDQS

C2.9/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 discloses the core behavior (setting true/false toggles completion) but says nothing about side effects, idempotency, auth requirements, rate limits, or what happens to the task record beyond the completed field. For a mutation tool this is a significant gap.

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

Conciseness4/5

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

The description is a single, efficient sentence that front-loads the primary action and includes the toggling nuance. No waste words, appropriately concise for a simple tool. It loses a point for not having any structured breakdown or bullet points that could aid readability, but it's still highly concise.

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?

The tool is simple but has no output schema, no annotations, and a brief description. Missing context includes what happens when the task doesn't exist, whether the operation is idempotent, and whether any additional effects occur (e.g., timestamps, notifications). An agent has enough to make a basic call but not to handle edge cases or understand the full outcome.

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 100%, so all three parameters are documented with descriptions in the schema itself. The description adds only a redundant explanation of the 'completed' parameter's behavior, already present in the schema. Since the schema carries the full parameter meaning, a baseline of 3 applies.

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 states a specific verb and resource: 'make task complete', and clarifies that setting completed to false reverts it. This clearly distinguishes it from other task operations like update-task, though it doesn't explicitly name the sibling alternative. The purpose is unmistakable.

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 like update-task or clear-completed-tasks. The behavior is implied (toggle completion), but there is no explicit 'use this when you only need to change completion status' or 'for other task fields use update-task'. The agent must infer the usage context.

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

create-taskタスク作成A

タスクを作成する。parent を指定するとサブタスクになる。

NameRequiredDescriptionDefault
dueNo期限。RFC 3339 形式(例: 2026-08-30T00:00:00.000Z)。Google Tasks は日付部分のみ保持し、時刻は無視される。
notesNoメモ・詳細
titleYesタスクのタイトル
parentNo親タスクの ID。指定するとサブタスクとして作成する。
previousNo直前に置くタスクの ID。省略するとリストの先頭に入る。
tasklistNoタスクリストの ID。既定のリストは '@default'。ID は list-tasklists で取得できる。@default

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that specifying 'parent' creates a subtask, but this behavior is already documented in the input schema. It does not disclose other relevant traits such as the write nature of the operation, potential side effects, or default tasklist behavior beyond the schema. The description adds minimal value beyond what the schema already states.

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 sentence that front-loads the core action and immediate behavioral nuance. There is no fluff, repetition, or unnecessary elaboration, making it highly efficient for an agent to parse quickly.

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?

For a tool with 6 parameters and no annotations or output schema, the description is minimal but not critically insufficient. It states the core function and subtask behavior, while relying on the schema for parameter details. However, it does not provide broader workflow guidance (e.g., how to obtain a tasklist ID) or clarify return behavior, leaving some gaps for an agent evaluating usage context.

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?

The input schema has 100% parameter description coverage, so the baseline is 3. The description only references 'parent' indirectly and adds no semantic detail beyond the schema's own parameter descriptions. It does not clarify relationships between parameters or provide examples, but the schema already handles this adequately.

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 ('タスクを作成する' - create a task) and identifies the key distinction that specifying 'parent' makes it a subtask. This unambiguously separates it from sibling tools like create-tasklist, which creates a task list instead.

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 usage for creating a task but does not explicitly contrast with alternatives or provide when-not-to-use guidance. No exclusions, prerequisites, or references to related tools (e.g., list-tasklists) are given, so the usage context is only inferred from the purpose.

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

create-tasklistタスクリスト作成B

新しいタスクリストを作成する。

NameRequiredDescriptionDefault
titleYesタスクリスト名

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the creation action without detailing side effects, permissions, or error handling. There is no indication of return behavior or other traits.

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

Conciseness4/5

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

The description is a single, concise sentence that directly states the action. It is efficient and front-loaded, though it lacks any additional structure or context beyond the core purpose.

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?

For a simple create tool with one parameter and no output schema, the description is minimally sufficient but omits behavioral details like return value or error conditions. Given the low complexity, it is adequate but not comprehensive.

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?

The input schema fully documents the single 'title' parameter with 100% coverage. The description adds no additional meaning beyond what the schema provides, so baseline of 3 is appropriate.

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 states a specific action (create) on a specific resource (task list) in Japanese, clearly distinguishing it from sibling tools like create-task which operate on tasks. The purpose is unambiguous.

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?

The description provides no guidance on when to use this tool versus alternatives such as update-tasklist or create-task. It simply states the action without any contextual usage or exclusions.

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

delete-taskタスク削除B
Destructive

タスクを削除する。取り消せない。

NameRequiredDescriptionDefault
taskYesタスクの ID。list-tasks で取得できる。
tasklistNoタスクリストの ID。既定のリストは '@default'。ID は list-tasklists で取得できる。@default

TDQS

B3.2/5.0
Behavior3/5

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

The annotations already declare destructiveHint=true. The description adds '取り消せない' (cannot be undone), which is useful but not substantially broader than the annotation. No additional behavioral details are disclosed, such as cascading deletes or permission requirements.

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

Conciseness4/5

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

The description is compact—two sentences, both reasonably informative. The 'cannot be undone' warning is a valuable addition and the text is appropriately front-loaded. It loses one point because the core phrase largely mirrors the tool name and title.

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 simple, destructive task with full schema coverage and no output schema, the description is sufficient. It states the operation and warns of irreversibility. It could be more complete by mentioning when to prefer clear-completed-tasks for bulk deletion, but this not essential for basic invocation.

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?

The schema has 100% parameter descriptions, including where to obtain task and tasklist IDs and the '@default' value for tasklist. The description does not add any parameter-specific meaning, so the baseline score of 3 is appropriate.

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 tool deletes a task using a specific verb and resource, and the warning '取り消せない' reinforces the intent. It is distinguished from delete-tasklist and clear-completed-tasks by the explicit 'task' resource, though it doesn't further describe scope or side effects.

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 like clear-completed-tasks or delete-task-list. The description merely states the action, leaving the agent to infer appropriate usage from the name and schema.

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

delete-tasklistタスクリスト削除A
Destructive

タスクリストを削除する。中のタスクもすべて消える。取り消せない。

NameRequiredDescriptionDefault
tasklistYes削除するタスクリストの ID

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true, and the description adds critical behavioral context: cascading deletion of all tasks and irreversibility ('取り消せない'). This goes beyond the annotation and is essential for an agent to assess the safety of the operation.

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 short, high-value sentences. The primary action and its most important side effects are front-loaded. No filler or redundancy.

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

Completeness5/5

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

For a simple delete operation with a single parameter, all necessary context is provided: what is deleted, what else is deleted, and irreversibility. The destructive annotation and schema fully cover the remaining needs. No missing information.

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?

The input schema covers 100% of parameter descriptions ('削除するタスクリストの ID'), so the tool description adds no additional meaning beyond what the schema already provides. Baseline 3 is appropriate.

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 states a clear verb ('削除する' = delete) and resource ('タスクリスト' = tasklist), and explicitly notes that all contained tasks are also deleted, distinguishing it from sibling delete-task. The purpose is unmistakable.

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?

While it doesn't explicitly name alternative tools, it clearly warns that all tasks within the tasklist are deleted and that the action cannot be undone. This implicitly tells an agent not to use this tool if they only want to delete a single task or if they need to preserve tasks, providing effective usage context.

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

get-taskタスク取得B
Read-only

タスク 1 件の詳細を取得する。

NameRequiredDescriptionDefault
taskYesタスクの ID。list-tasks で取得できる。
tasklistNoタスクリストの ID。既定のリストは '@default'。ID は list-tasklists で取得できる。@default

TDQS

B3.4/5.0
Behavior3/5

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

Annotations include readOnlyHint=true, which covers the safety profile. The description adds nothing beyond that—no mention of error handling, permissions, or return value. For a simple read operation, this is adequate but adds minimal value beyond the annotation.

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 that immediately states the action and resource. There is zero wasted text and the core purpose is front-loaded.

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 simple read tool with complete schema documentation and a readOnly annotation, the description is sufficient. It does not mention return format, but no output schema exists, and the behavior is straightforward. A slightly richer note on what the response contains would improve it, but nothing critical is missing.

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 100%—both parameters are fully documented in the schema, including how to obtain IDs from list-tasks and list-tasklists. The description adds no parameter-level information beyond what the schema already provides, so the baseline of 3 applies.

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 states a clear verb-resource pair: 'get details of one task.' It is unambiguous and distinguishes from list-tasks (which presumably retrieves multiple tasks) and tasklist operations. However, it does not explicitly differentiate from sibling get-tasklist, though the resource type makes that obvious.

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 vs alternatives. The description only states what it does, without mentioning that it is the correct choice for fetching a single task by ID or that list-tasks is for retrieving multiple tasks. No exclusions or alternative references.

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

get-tasklistタスクリスト取得B
Read-only

指定したタスクリストの情報を取得する。

NameRequiredDescriptionDefault
tasklistNoタスクリストの ID。既定のリストは '@default'。ID は list-tasklists で取得できる。@default

TDQS

B3.1/5.0
Behavior2/5

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

The readOnlyHint annotation already indicates this is a safe read operation. The description adds no additional behavioral context—no mention of what data is returned, error scenarios, or limitations. It simply restates the purpose without enriching the agent's understanding beyond the annotation.

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 sentence with no extraneous content. It is concise and front-loaded, conveying the core purpose directly.

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?

For a simple read-only tool with one optional parameter and no output schema, the description is adequate but minimal. It does not mention what information is returned or provide any additional context, but given the simplicity and the schema covering the parameter, it does not feel critically incomplete.

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 100% for the sole parameter 'tasklist', which includes default value and how to obtain IDs. The description itself adds no parameter-specific information, so the baseline of 3 applies.

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 (取得 / retrieve) and the resource (タスクリスト / task list), specifying it is for a given task list. While it does not explicitly distinguish from siblings like list-tasklists, the singular 'specified' implies fetching one item, which is reasonably clear in context.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that list-tasklists should be used when the user needs an overview or that get-tasklist is for a single known list. No exclusions or context are given.

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

list-tasklistsタスクリスト一覧A
Read-only

認証中のアカウントが持つタスクリストを一覧する。他ツールに渡す tasklist ID はここで得る。

NameRequiredDescriptionDefault
pageTokenNo次ページのトークン
maxResultsNo取得件数の上限(既定 20、最大 1000)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds behavioral context beyond the annotation: it scopes to the authenticated account's tasklists and indicates that the returned IDs are meant to be passed on to other tools. This tells the agent the output is a set of tasklists with IDs, which is useful for chaining. No additional risk or side-effect info is needed given the read-only nature.

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 short sentences, front-loaded with the main function (list tasklists) and immediately followed by the practical usage hint about tasklist IDs. Every word earns its place; no redundancy or fluff. The structure is exemplary.

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 simple read-only list tool with pagination params already documented in the schema, the description is complete. It explains the purpose (getting IDs for other tools) and the scope (authenticated account's tasklists). The main omission is a description of the return format (e.g., fields of each tasklist), but the read-only hint and the explicit mention of tasklist IDs cover the essential expectations. Very close to complete.

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 100% (both pageToken and maxResults have descriptions in Japanese). The description adds no parameter-specific detail, but that's unnecessary because the schema fully documents them. Baseline 3 applies because the schema does the heavy lifting; the description does not need to compensate.

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 states a specific verb (一覧する/list) and resource (タスクリスト/tasklists), and clarifies the account scope (認証中のアカウントが持つ). It also explains the purpose of the output (tasklist ID for other tools), which distinguishes it from siblings like get-tasklist (which fetches a single one) and create/update/delete operations. The purpose is unambiguous.

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 gives clear context on when to use this tool: to obtain tasklist IDs for other tools. It does not explicitly list exclusions or alternative tools, but the sibling list and the tasklist ID hint make it obvious this is the collection-list operation, not a single-get or mutation. The guidance is clear enough for an agent to know when to pick this over the others.

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

list-tasksタスク一覧A
Read-only

タスクリスト内のタスクを一覧する。期限や更新日時での絞り込みができる。API 経由で完了にしたタスクは既定でも一覧に含まれる(clear-completed-tasks で非表示にできる)。

NameRequiredDescriptionDefault
dueMaxNo期限の上限。指定日を含む(RFC 3339。日付部分のみ使われる)。今日までのタスクなら今日の日付を渡す。
dueMinNo期限の下限。指定日を含む(RFC 3339。日付部分のみ使われる)
tasklistNoタスクリストの ID。既定のリストは '@default'。ID は list-tasklists で取得できる。@default
pageTokenNo次ページのトークン
maxResultsNo取得件数の上限(既定 20、最大 100)
showHiddenNo非表示タスク(他クライアントで完了扱いになったもの)も含める
updatedMinNo更新日時の下限(RFC 3339)
showDeletedNo削除済みタスクも含める
completedMaxNo完了日時の上限(RFC 3339)
completedMinNo完了日時の下限(RFC 3339)
showCompletedNo完了済みタスクを含めるか(Google API の既定は true)。false にすると完了タスクを除外できる。

TDQS

A4.2/5.0
Behavior4/5

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

The annotation readOnlyHint already declares this a read-only operation, and the description adds a non-obvious behavioral nuance: API-completed tasks appear by default and can be hidden via clear-completed-tasks. This goes beyond the annotation and is highly relevant for correct invocation.

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 three short sentences, front-loaded with the core purpose and immediately followed by the key filtering and completion nuance. Every sentence earns its place, and there is no redundancy or filler.

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?

Despite having 11 parameters, all are fully documented in the schema, and the description covers the essential behavior and a crucial default that would otherwise be easy to miss. As a read-only list operation, it provides adequate context for correct usage without needing to explain return values (no output schema).

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 coverage is 100%, so the baseline is 3. The description adds value by summarizing that filtering is possible and by clarifying the default inclusion of completed tasks (related to showCompleted), but it does not elaborate on each parameter beyond what the schema already documents. This meets but does not exceed the baseline.

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 states a specific action ('list tasks') and the resource ('in a task list'), distinguishing it clearly from get-task (single task) and list-tasklists (listing task lists). It also mentions filtering capability, making the purpose unambiguous and immediately usable.

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?

It explicitly mentions that API-completed tasks are included by default and that clear-completed-tasks can hide them, guiding the agent toward an alternative tool for that specific need. While it doesn't exhaustively say when not to use other siblings, it provides useful context about the filtering and completion behavior.

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

move-taskタスクの移動・並べ替えA

タスクの位置を変える。parent でサブタスク化、previous で並び順、destinationTasklist で別のタスクリストへ移動できる。

NameRequiredDescriptionDefault
taskYesタスクの ID。list-tasks で取得できる。
parentNo移動先の親タスク ID。省略するとトップレベルになる。
previousNo直前に置くタスクの ID。省略すると先頭に移動する。
tasklistNoタスクリストの ID。既定のリストは '@default'。ID は list-tasklists で取得できる。@default
destinationTasklistNo移動先のタスクリスト ID(別リストへ移す場合)

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It does state the primary behavior ('変える' - change) and the three parameter-specific effects, which implies it is a write operation. However, it does not disclose potential side effects (e.g., removal from current list), reversibility, or permission requirements, leaving operational uncertainty.

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, compact sentence that front-loads the core action and then explains each parameter's role in one line. Every word contributes to understanding, with no redundant or tangential content.

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?

The description covers the main functionality and parameter-driven behaviors, which is adequate given the tool's simplicity and full schema coverage. However, it omits details about default behavior when destinationTasklist is omitted, error conditions, and the return value, and since there is no output schema or annotations, these gaps could confuse an agent in edge cases.

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 schema descriptions already cover each parameter's meaning at 100% coverage, but the description adds interpretive value by explicitly linking parameters to outcomes: 'parent' for subtasking, 'previous' for ordering, and 'destinationTasklist' for moving to another list. This contextualization goes beyond the raw schema descriptions.

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 states a specific action ('タスクの位置を変える' - change the position of a task) and lists three distinct movement mechanisms (subtask, reorder, move to another list). This clearly distinguishes it from siblings like update-task (field updates) and complete-task (status change), making the purpose unambiguous.

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 when to use this tool (whenever a task's position needs changing) but does not explicitly compare it to alternatives or state when not to use it. It lacks exclusions or prerequisites, so an agent would have to infer the use case from the action description alone.

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

update-taskタスク更新A

タスクの内容を部分更新する。指定した項目だけが変わり、他は保持される。完了にするだけなら complete-task を使う。

NameRequiredDescriptionDefault
dueNo期限。RFC 3339 形式(例: 2026-08-30T00:00:00.000Z)。Google Tasks は日付部分のみ保持し、時刻は無視される。
taskYesタスクの ID。list-tasks で取得できる。
notesNo新しいメモ。空文字を渡すとメモを消す。
titleNo新しいタイトル
statusNo状態。completed にすると完了扱いになる。
tasklistNoタスクリストの ID。既定のリストは '@default'。ID は list-tasklists で取得できる。@default

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the disclosure burden. It reveals a key behavior: partial updates preserve unspecified fields. However, it omits other behavioral aspects such as error handling, authentication requirements, idempotency, or response format. The partial-update guarantee is valuable, but the description is not comprehensive for a tool with no annotation safety profile.

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, front-loaded with the core behavior and purpose, then the alternative. No filler or redundant information. Every word earns its place, making it highly efficient for an agent to parse.

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 tool with 6 parameters and no output schema, the description covers the essential behavioral contract (partial update) and the main usage exclusion (complete-task). Parameter-specific details are handled by the schema. The description is adequate for an agent to correctly invoke the tool without missing crucial context.

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 coverage is 100% – every parameter has a description. The tool description adds a global behavior (only specified fields change) but does not provide per-parameter meaning beyond what the schema already offers. Baseline 3 is appropriate since the schema carries the parameter documentation.

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 states a specific action ('部分更新' – partial update) on a specific resource (task) and immediately clarifies the partial-update semantics (only specified items change). It also distinguishes itself from the sibling tool complete-task, making its purpose unambiguous.

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 explicitly tells the agent when not to use this tool: '完了にするだけなら complete-task を使う' (if you only want to complete, use complete-task). It provides clear context for partial updates but does not enumerate other alternative tools (e.g., move-task, delete-task), though the partial-update scope makes those less likely to be confused.

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

update-tasklistタスクリスト名の変更B

タスクリストの名前を変更する。

NameRequiredDescriptionDefault
titleYes新しいタスクリスト名
tasklistNoタスクリストの ID。既定のリストは '@default'。ID は list-tasklists で取得できる。@default

TDQS

B3.2/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 for behavioral disclosure. It only states the action of renaming without mentioning side effects (e.g., impact on tasks, permission requirements, error behavior if the tasklist does not exist, or queuing/move semantics). This is a minimal disclosure 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.

Conciseness4/5

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

The description is a single, concise sentence in Japanese that efficiently conveys the core purpose. It is appropriately front-loaded and contains no filler. However, it is so brief that it misses an opportunity to add contextual value, though it does not waste words.

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?

For a simple rename operation with full schema coverage and no output schema, the description is minimally adequate—it states the primary action. Yet it omits any mention of limitations (e.g., only the name changes, not other list properties) or prerequisites, which could be important for correct invocation. It does not introduce confusion, but it leaves room for richer context.

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 100%, with both 'title' and 'tasklist' already documented clearly. The description adds no new parameter information beyond what the schema provides. Since the schema fully explains the parameters, the baseline of 3 is appropriate.

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 a specific verb (change) and a resource (tasklist name), which distinguishes it from sibling tools like create-tasklist, delete-tasklist, and update-task. The title reinforces the exactly-scoped purpose, so an agent can correctly identify what the tool does 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 Guidelines2/5

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

The description provides no guidance on when to use this tool versus its siblings. It does not mention any conditions, exclusions, or alternatives, leaving the agent to infer that this is the right tool for renaming a tasklist. The only hint is the schema's tasklist description referencing list-tasklists, but that is not in the tool description itself.

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.

  1. 13 tool updatesv0.1.0
    • First observedclear-completed-tasks
    • First observedcomplete-task
    • First observedcreate-task
    • First observedcreate-tasklist
    • First observeddelete-task
    • First observeddelete-tasklist
    • First observedget-task
    • First observedget-tasklist
    • First observedlist-tasklists
    • First observedlist-tasks
    • First observedmove-task
    • First observedupdate-task
    • First observedupdate-tasklist

TDQS

A3.9/5.0

Scored across 13 tools

Disambiguation5/5

Every tool has a clearly distinct purpose: tasklist CRUD, task CRUD, and specific actions (complete, move, clear). No two tools overlap in functionality, and the descriptions reinforce their boundaries.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in lowercase with hyphens (e.g., list-tasklists, get-task, delete-task). The naming is uniform and predictable across both tasklists and tasks.

Tool Count5/5

With 13 tools, the set is well-scoped for a Google Tasks server. It covers both tasklists and tasks with CRUD operations plus useful extras (complete, move, clear-completed) without unnecessary bloat.

Completeness5/5

The tool surface is complete for the domain: full CRUD for tasklists and tasks, plus lifecycle operations like completion and moving. There are no missing essential operations or dead ends.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers