Skip to main content
Glama

My PM Tools

English · v5.4.0 — AI 時代の PM Operator Stance 搭載

GitHub Projects V2 の PM 支援スキル。環境構築・日常運用・Sprint 分析・移行を統合サポート。「Issue を作成して」「ステータスを変更」「Sprint レポート出して」等の自然言語で gh CLI + GraphQL + Notion + Google Workspace を束ねて実行します。

31 MCP ツール / 9 shell scripts / 536 tests / 6 references docs (12 principles + 30 anti-patterns + Cynefin + Premortem + Spec Quality Gate + CALM self-evaluation)

Product Vision

JTBD: PM が GitHub Projects V2 の管理と Notion・Google Workspace の読み書きを自然言語で即実行する

Field

Definition

Target User

個人〜小規模チーム(1-10人)の PM / テックリード。特に並行 AI コーディングエージェントを束ねる PM。

Core Value

GraphQL API + Notion API + Google APIs の複雑さを吸収し、CLI で完結。外部ドキュメント・スプレッドシート・カレンダーの双方向連携

Scope

Mode A(Setup), Mode B(Daily Ops), Mode C(Analytics), Migration, Workspace Bridge(Read+Write), PM Operator Stance

Non-Goals

GUI構築, マルチOrg対応, Slack連携自前実装, Jira/Linear完全代替, Gmail送信

Suite内の位置づけ: requirements_designer → speckit-bridge → **my_pm_tools** → pm-data-analysis。仕様が固まった後の実行管理レイヤー。


Related MCP server: GitHub Projects MCP Server

🛡️ PM Operator Stance — AI 時代の PM 自己規律(12 原則 / v5.4.0)

並行 AI コーディングエージェント(Claude Code / Cursor / Devin / Aider 等)を束ねる運用では、PM の役割は「ロードマップ責任者」よりも 最後の砦としての coordinator(インシデントコマンダーに近い) に寄ります。Multi-Agent System Taxonomy (MAST, UC Berkeley 2025) は multi-agent failures のうち 41.77% が spec 層、36.94% が coordination 層、21.30% が verification 層 で起きると報告しています。古典 PM 正典は必要だが、この 3 層攻略には不十分です。

12 原則は Amazon / Google SRE / DORA / Cagan / Perri / Torres / Klein / Snowden / Taleb / Meadows / Anthropic / MAST / CALM 等 200+ 文献の統合から導出され、各原則が (a) 出典 / (b) 適用しない条件 (reversal) / (c) 測定方法 を持ちます。reversal 無き原則はドグマ。

12 原則(要約 — 詳細は SKILL.md 「PM Operator Stance」章、および references/

#

原則

主な attack 先

P1

Outcomes over outputs

velocity 盲信

P2

Cynefin-aware routing

過剰/過小エンジニアリング

P3

Chain-of-Verification over self-report trust

MAST verification layer

P4

Premortem before commit

盲点リスク

P5

Blameless postmortem + Just Culture

再発・second victim

P6

Working Backwards artifact as SSOT

MAST spec layer / prompt bloat

P7

Error Budget / SLO-first

over-shipping / freeze discipline

P8

Trunk-Based + small PRs + fast CI

merge race / long branches

P9

Leverage-point prioritization

parameter 癒着修正

P10

Antifragile posture, convex bets

irreversible risk

P11

Continuous Discovery (human cadence)

AI が delivery 加速→ discovery 枯渇

P12

LNO triage + CALM bias audit

PM 自身の 12 認知バイアス

関連ドキュメント(references/)

Non-destructive upgrade note

v5.3.0 の 7 原則は 精神的に保存 され、12 原則に包摂されています。7 原則を既に内面化していれば、12 原則は同じ理念に citation / reversal / measurement を追加したもので、リセットではありません。詳細は SKILL.md の「Non-destructive upgrade note」参照。


3つのモード

モード

用途

主な操作

Mode A: 環境構築

新規プロジェクトのセットアップ

14ステータス・5ビュー・13ラベル・テンプレート・ワークフロー一括構築

Mode B: 日常運用

Issue/PR 作成、ステータス変更、バックログ管理

project-ops.sh + 自然言語対話

Mode C: 分析

Sprint レポート、ベロシティ追跡

sprint-report.sh

Lite モード(小〜中規模チーム向け)

--lite フラグで、1-3人チーム向けの簡素構成を構築できます:

./scripts/setup-all.sh <OWNER/REPO> <PROJECT_NUMBER> --lite

構成

ステータス

ビュー

ラベル

推奨チーム規模

Lite

8

3

5

1-3人

Full (デフォルト)

14

5

13

4人以上

Lite → Full への移行はいつでも可能(setup-all.sh--lite なしで再実行)。

初回起動時にプロジェクト状態を自動検出し、未構築なら Mode A、構築済みなら Mode B で起動します。プロジェクト情報は .github-project-config.json に保存され、2回目以降は即座に操作可能です。

前提条件

  • gh CLI がインストール済み&認証済み

  • GitHub Classic PAT(ghp_ トークン)— Fine-grained PAT は Projects V2 GraphQL API 非対応

  • PAT スコープ: project, repo, read:org

インストール

git clone git@github.com:fideguch/my_pm_tools.git
cd my_pm_tools
./install.sh    # ~/.claude/skills/my_pm_tools/ にインストール

Claude Code または Devin で以下のように起動:

「Issue を作成して」「プロジェクト環境を構築して」「Sprint レポートを出して」

クイックスタート

新規プロジェクト構築(Mode A)

./scripts/setup-all.sh <OWNER/REPO> <PROJECT_NUMBER>

日常運用(Mode B)

# Issue/PR をプロジェクトに追加
./scripts/project-ops.sh <OWNER> <NUMBER> add-issue <REPO> <ISSUE_NUM>
./scripts/project-ops.sh <OWNER> <NUMBER> add-pr <REPO> <PR_NUM>

# ステータス変更(カード移動)
./scripts/project-ops.sh <OWNER> <NUMBER> move <ITEM_ID> "開発中"

# Priority 設定
./scripts/project-ops.sh <OWNER> <NUMBER> set-priority <ITEM_ID> P1

# アイテム一覧
./scripts/project-ops.sh <OWNER> <NUMBER> list-items

分析・レポート(Mode C)

./scripts/sprint-report.sh <OWNER> <NUMBER>                        # 現在の Sprint
./scripts/sprint-report.sh <OWNER> <NUMBER> --sprint previous      # 前回の Sprint
./scripts/sprint-report.sh <OWNER> <NUMBER> --sprint "Sprint 3"    # タイトルで指定
./scripts/sprint-report.sh <OWNER> <NUMBER> --json                 # JSON 出力

MCP Server 経由の場合も sprint パラメータで current / previous / Sprint タイトルを指定可能。200+ アイテムのプロジェクトはカーソルページネーション(最大20ページ)で全件取得。

他ツールからの移行

./scripts/migrate-import.sh <OWNER/REPO> <NUMBER> export.csv --format jira     # Jira
./scripts/migrate-import.sh <OWNER/REPO> <NUMBER> export.csv --format linear   # Linear
./scripts/migrate-import.sh <OWNER/REPO> <NUMBER> export.csv --format notion   # Notion
./scripts/migrate-import.sh <OWNER/REPO> <NUMBER> tasks.csv --dry-run          # プレビュー

構築される環境

要素

内容

ステータス

14段階(Icebox → Planning → Design → Dev → Release → Done)

ビュー

5種(Product Backlog, Sprint Board, Sprint Table, Roadmap, My Items)

カスタムフィールド

Priority (P0-P4), Sprint (1w Iteration), Estimate (Number), Target (Text)

ラベル

13種(Type 6 + Area 4 + Ops 3)

テンプレート

Issue (feature/bug) + PR テンプレート

自動化

Built-in Workflows 5 + GitHub Actions 5

スクリプト一覧

スクリプト

モード

用途

setup-all.sh

A

全環境一括構築

setup-labels.sh

A

ラベル13種一括作成

setup-fields.sh

A

カスタムフィールド作成

setup-status.sh

A

Status 14オプション設定

setup-views.sh

A

5ビュー作成(Lite: 3ビュー)

setup-templates.sh

A

テンプレート&ワークフロー自動配置

project-ops.sh

B

Issue/PR追加・ステータス変更・Priority設定

migrate-import.sh

A

Jira/Linear/Notion CSV 移行

sprint-report.sh

C

Sprint レポート(ベロシティ・完了率)

MCP Server

AI エージェント(Claude Code, GitHub Copilot 等)から MCP 経由でプロジェクト操作を実行できます。

セットアップ

npm install && npm run build

Claude Desktop の設定 (~/.claude/settings.json または MCP 設定):

{
  "mcpServers": {
    "my_pm_tools": {
      "command": "node",
      "args": ["/path/to/my_pm_tools/dist/index.js"],
      "env": { "GITHUB_TOKEN": "ghp_..." }
    }
  }
}

MCP ツール一覧

ツール

方式

説明

project_list_fields

GraphQL

フィールド・オプション一覧

project_list_items

GraphQL

アイテム一覧(ステータス/優先度フィルタ対応、ページネーション)

project_add_item

GraphQL

Issue/PR をプロジェクトに追加

project_move_status

GraphQL

ステータス変更(別名対応: "dev"→"開発中")

project_set_priority

GraphQL

優先度設定(P0-P4)

project_sprint_report

GraphQL

Sprint レポート生成

project_get_issue

GraphQL

Issue 詳細取得(タイトル、本文、ラベル、アサイン、マイルストーン)

project_create_issue

gh CLI

Issue 新規作成(日本語タイトル・本文対応)

project_edit_issue

gh CLI

Issue のタイトル・本文を編集

project_manage_labels

gh CLI

Issue のラベル追加・削除

project_manage_assignees

gh CLI

Issue のアサイン追加・削除

project_set_issue_state

gh CLI

Issue のクローズ・リオープン

notion_search

Notion API

Notionページ・DB検索

notion_get_page

Notion API

ページ内容取得(Markdown変換)

notion_query_database

Notion API

データベースクエリ(フィルタ・ソート)

notion_create_page

Notion API

ページ作成

notion_append_blocks

Notion API

ブロック追記

workspace_search_drive

Drive API

Driveファイル検索

workspace_get_doc

Drive API

Googleドキュメント取得(Markdown)

workspace_get_sheet

Sheets API

スプレッドシートデータ取得

workspace_get_slides

Drive API

スライド取得(テキスト)

workspace_list_events

Calendar API

カレンダーイベント取得

workspace_search_gmail

Gmail API

メール検索

workspace_update_sheet

Sheets API

スプレッドシートセル書き込み

workspace_append_sheet

Sheets API

スプレッドシート行追加

workspace_create_event

Calendar API

カレンダーイベント作成

notion_update_page

Notion API

ページプロパティ更新

notion_archive_page

Notion API

ページアーカイブ(削除)

project_scan_zombies

gh CLI + grep/git

ゾンビIssue検出(実装済みだがOpenのままのIssue候補を証拠付きで提示)

project_scan_todos

gh CLI + grep

コード内TODO/FIXME/HACK/XXXを収集し、Issue化を提案

project_backlog_report

gh CLI + grep/git

バックログ健全性スコア(0-100)とレポート生成

ステータス別名(11種): 英語の省略形で日本語ステータスを操作可能。

Alias

解決先

Alias

解決先

dev

開発中

testing

テスト中

review

コードレビュー

done

Done

backlog

Backlog

icebox

Icebox

test-failed

テスト落ち

released

リリース済み

waiting

進行待ち

design

デザイン作成中

ready

開発待ち

解決順序: 完全一致 → エイリアス一致 → 部分一致(大文字小文字無視)。

ドキュメント

ドキュメント

内容

運用ガイド (USAGE.md)

日常運用・ビュー・Sprint・移行・FAQ

ワークフロー定義

14ステータスの詳細仕様

ビュー設計

5ビューの設定仕様

自動化ガイド

ワークフロー・スクリプトの設定手順

Workspace Bridge

Notion + Google Workspace 連携ガイド

開発者向け

npm install
npm test            # リグレッションテスト (502件)
npm run build       # MCP Server ビルド
npm run quality     # lint + typecheck + format:check

前提: Node.js 20+, ShellCheck(オプション)。詳細は CONTRIBUTING.md を参照。

サブスキル

スキル

用途

code-quality

ESLint + Prettier + Husky 導入

ci-cd-pipeline

GitHub Actions CI/CD パイプライン構築

typescript-best-practices

TypeScript 初期設定

git-workflow

ブランチ戦略 + Conventional Commits

project-setup-automation

プロジェクトセットアップ自動化

workspace-bridge

Notion + Google Workspace MCP 連携

pm-figjam-diagrams

FigJam ダイアグラム生成

speckit-bridge

要件→仕様変換ブリッジ

PM Tool Suite

このリポジトリは、Claude Code で PM ワークフローを自動化する5つのツールスイートの一部です。

#

Skill

Purpose

Repo

1

my_pm_tools

GitHub Projects V2 管理

this repo

2

requirements_designer

要件定義 + Figma UI生成

fideguch/requirements_designer

3

speckit-bridge

要件→仕様変換(品質ゲート≥70)

fideguch/speckit-bridge

4

pm-data-analysis

GAFA品質データ分析

fideguch/pm_data_analysis

5

pm-ad-operations

広告CSV分析(Google/Meta)

fideguch/pm_ad_operations

Pipeline

requirements_designer → speckit-bridge → my_pm_tools (project tracking)
                              |
                    pm-data-analysis ← pm-ad-analysis
  1. my_pm_tools (基盤 — GitHub Projects 環境構築)

  2. requirements_designer (上流 — 要件定義)

  3. speckit-bridge (変換 — 要件→仕様)

  4. pm-data-analysis (分析 — データ駆動意思決定)

  5. pm-ad-analysis (広告 — マルチチャネル最適化)

License

ISC License. See LICENSE for details.

Available Tools

31 tools
notion_append_blocksA

Append paragraph blocks to an existing Notion page or block

ParametersJSON Schema
NameRequiredDescriptionDefault
blockIdYesTarget block or page ID to append content to
contentYesContent as plain text (added as paragraph blocks)

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already indicate non-destructive behavior (destructiveHint=false) and open-world effects (openWorldHint=true). The description adds context that only paragraph blocks are appended, which is useful. However, it does not disclose potential side effects or error conditions beyond the schema.

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, front-loaded sentence that conveys the essential purpose with no extraneous words. Every part earns its place.

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?

Given the simple tool with two parameters, full schema descriptions, and non-destructive annotations, the description is complete enough. It accurately describes the tool's functionality and purpose without needing additional details.

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%, with descriptions for both parameters. The tool description does not add additional parameter meaning beyond what the schema already provides. Baseline score 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 action ('append'), the resource ('paragraph blocks'), and the target ('existing Notion page or block'). It is specific and distinguishes from sibling tools like notion_create_page (creates a new page) and notion_update_page (updates properties).

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 the tool is used for adding content to an existing page or block, but does not explicitly state when to use it over alternatives or any prerequisites (e.g., the page must exist). No when-not-to-use guidance is provided.

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

notion_archive_pageA
DestructiveIdempotent

Archive or unarchive a Notion page (archive=true to archive, archive=false to unarchive)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesNotion page ID (UUID format, with or without dashes)
archiveNotrue = archive the page (default), false = unarchive

TDQS

A4.2/5.0
Behavior4/5

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

The description explains the archive boolean behavior and notes the pageId format. Annotations already provide destructiveHint and idempotentHint; the description adds context on the toggle semantics.

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?

Single sentence with parenthetical explanation of parameter values. No extraneous words, front-loaded with action and key detail.

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 toggle with 2 parameters and annotations covering destructive/idempotent hints, the description suffices. No output schema exists, but return values are not critical for an action tool. Could mention success/failure behavior but not required.

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 coverage is 100%. The description clarifies the archive parameter's meaning (archive vs. unarchive) beyond the schema's default and boolean type. pageId is well-described in schema; description adds minimal but acceptable value.

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 archives or unarchives a Notion page, with explicit parameter mapping. It distinguishes from sibling tools like notion_update_page by focusing solely on archive state.

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 toggling archive state but provides no guidance on when not to use it or alternatives like notion_update_page or notion_get_page for other operations.

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

notion_create_pageA

Create a new Notion page under a database or page with optional paragraph content

ParametersJSON Schema
NameRequiredDescriptionDefault
parentIdYesParent database or page ID
parentTypeYesType of parent (database or page)
propertiesYesPage properties as JSON string (Notion properties format)
contentNoPage body as plain text (added as paragraph blocks)

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already mark the tool as non-destructive and open-world. The description adds that content is optional paragraph text but does not elaborate on side effects, permissions, or response shape. It provides minimal additional transparency beyond annotations.

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 of 15 words. It is front-loaded with the verb and resource, and every word is necessary. No redundancy.

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 4 parameters and no output schema, the description is adequate for basic understanding but omits return value details (e.g., what the API returns) and does not clarify how properties should be structured. Completeness is sufficient but not thorough.

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 parameters are documented. The description only adds the notion of 'optional paragraph content' for the content parameter. It does not explain properties JSON format or parentType enum semantics beyond 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 clearly states the verb 'Create', the resource 'Notion page', and the context 'under a database or page'. It distinguishes this tool from siblings like notion_append_blocks (which appends to existing pages) by specifying creation of a new page.

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 pages but does not explicitly contrast with alternatives like notion_update_page or notion_append_blocks. No when-not-to-use guidance is provided, leaving the agent to infer context.

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

notion_get_pageA
Read-only

Get a Notion page with its content converted to Markdown (recursive block fetch)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesNotion page ID (UUID format, with or without dashes)
maxDepthNoMax block recursion depth (default 3)

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description correctly aligns. It adds value by specifying 'recursive block fetch', which informs the agent that child blocks are fetched recursively. This goes beyond the annotations by disclosing this behavioral detail.

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, front-loaded sentence that conveys the core purpose and behavior without any wasted words. It is concise and effective.

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 tool's simplicity (2 params, read-only, no output schema), the description covers the essential behavior. However, it lacks details about the return format (e.g., structure of Markdown, error handling) which would be beneficial with no output schema. Overall, it is sufficiently complete for most agents.

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 baseline is 3. The description does not add extra meaning beyond the schema for parameters; it only reinforces the notion of recursion which is implicit from the overall description but not directly about parameter semantics.

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 verb 'Get', the resource 'Notion page', and specifies the key feature of converting to Markdown with recursive block fetch. This differentiates it from sibling tools like notion_create_page or notion_update_page.

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 retrieving pages in Markdown format but does not explicitly state when to use this tool vs alternatives like notion_query_database or notion_search. No exclusions or context for alternatives are provided.

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

notion_query_databaseA
Read-only

Query a Notion database with optional filter and sort (JSON filter/sort syntax)

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseIdYesNotion database ID
filterNoJSON filter object following Notion filter syntax
sortsNoJSON sorts array following Notion sort syntax
pageSizeNoResults per page (max 100)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true and openWorldHint=true, covering safety and scope. Description adds that filter and sort use JSON syntax, but does not disclose pagination behavior, rate limits, or other traits. Adequate but not enhanced.

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?

Single sentence, front-loaded with verb and resource, no wasted words. Excellent conciseness.

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?

No output schema, so description could cover return structure or examples. Lacks pagination details and error handling. For a simple read operation with good annotations, it is barely adequate.

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?

Schema description coverage is 100%, but description only repeats that filter/sort are JSON strings, which is already in schema. No additional meaning or syntax details beyond the schema. Essentially redundant.

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?

Description clearly states verb 'Query', resource 'Notion database', and optional features filter/sort. Distinguishes from siblings like notion_get_page (single page) and notion_search (broader search).

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?

Description implies usage for querying with filter/sort, but does not explicitly state when to use this vs alternatives like notion_search or notion_get_page. No when-not or alternative guidance.

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

notion_update_pageB
Idempotent

Update properties on an existing Notion page (title, status, select, date, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesNotion page ID (UUID format, with or without dashes)
propertiesYesProperties to update as JSON string (same format as Notion API). Updatable: title, rich_text, number, select, multi_select, date, checkbox, url, email, phone_number, relation, people, status. Read-only: formula, rollup, created_time, last_edited_time

TDQS

B3.2/5.0
Behavior2/5

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

Annotations provide idempotentHint and openWorldHint, but the description adds no behavioral context beyond that. It does not disclose error behavior, authentication requirements, or what happens if the page doesn't exist.

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 with no filler, efficiently conveying the core purpose.

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?

With no output schema, the description should explain what the tool returns (e.g., updated page object or success status). It does not, leaving the agent uncertain about the response format. Also, lack of error handling notes makes it 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%, with the schema itself detailing updatable and read-only property types. The description only lists a few property examples ('title, status, select, date, etc.'), which is less informative than the schema. Thus, the description adds no significant value beyond the schema, earning the baseline score of 3.

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 verb 'Update' and the resource 'properties on an existing Notion page', distinguishing it from sibling tools like notion_create_page (creates new page) and notion_archive_page (archives page).

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 when to use notion_get_page for reading or notion_create_page for new pages. It only implies usage via the verb 'Update', but lacks explicit context or exclusions.

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

project_add_itemA

Add an Issue or Pull Request to a GitHub Project V2

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesGitHub username or organization
projectNumberYesGitHub Project V2 number
repoYesRepository in 'owner/repo' format
itemNumberYesIssue or Pull Request number
itemTypeNoType of item to addissue

TDQS

A3.8/5.0
Behavior3/5

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

Annotations indicate destructiveHint=false, which is consistent with adding an item (non-destructive but mutating). The description does not add behavioral details beyond the verb 'Add', such as idempotency, permission requirements, or error behavior. No contradiction with annotations.

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 is front-loaded with the essential information. It is concise and contains no superfluous words.

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 moderate complexity (5 parameters, 1 enum) and no output schema, the description is mostly complete but could mention prerequisites like item existence or project access. However, it is sufficient for a straightforward operation.

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 the description does not need to add parameter meaning beyond what the schema provides. The description does not elaborate on parameters, which is acceptable given the schema richness.

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 verb 'Add', the resource 'Issue or Pull Request to a GitHub Project V2', and the scope. It distinguishes from sibling tools like project_create_issue or project_list_items by specifying that this tool adds an existing item to a project.

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 when wanting to add an existing issue or PR to a project, but lacks explicit guidance on when to use this versus alternatives like creating a new issue or editing a project item. No exclusions or context provided.

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

project_backlog_reportA
Read-only

Generate a comprehensive backlog health report: zombie issues, untracked TODOs, stale issues, priority distribution, and a 0-100 health score.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepository in 'owner/repo' format
ownerYesGitHub username or organization
projectNumberYesGitHub Project V2 number
basePathNoLocal codebase path (defaults to current working directory)
staleThresholdDaysNoDays without update to consider an issue stale

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description's mention of report contents (zombie issues, TODOs, stale issues, etc.) adds context about the output scope. No need to reiterate safety. Provides value by detailing what the report covers.

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?

Single sentence, informative, no redundant words. Front-loaded with action and key deliverables.

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 5 parameters with full schema coverage, the description sufficiently outlines the report's composition. However, it lacks indication of the output format (e.g., text, table, JSON) and any post-usage side effects, though readOnlyHint mitigates concern.

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 baseline is 3. The description does not add any additional meaning to the parameters; it simply describes the overall output without referencing input parameters like repo or staleThresholdDays.

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?

Describes specific action (generate comprehensive backlog health report) and lists distinct components (zombie issues, TODOs, stale issues, priority distribution, health score). Clearly differentiates from sibling tools like project_scan_todos and project_scan_zombies which focus on individual aspects.

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?

States the tool generates a comprehensive health report, implying use for an overview, but does not explicitly specify when to use over siblings or provide exclusion criteria. Lacks clear when-to-use or when-not-to-use guidance.

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

project_create_issueB

Create a new issue in a repository (supports Japanese title and body)

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepository in 'owner/repo' format
titleYesIssue title (supports Japanese)
bodyNoIssue body in Markdown (supports Japanese)
labelsNoLabels to apply (e.g. ["bug", "feature"])
assigneesNoGitHub usernames to assign
templateNoIssue template filename (e.g. "bug_report.yml", "feature_request.yml")

TDQS

B3.3/5.0
Behavior2/5

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

Annotations indicate destructiveHint=false, so the creation is non-destructive. However, the description adds no additional behavioral context such as authentication requirements, rate limits, or side effects. It only repeats the creation action already implied by the tool name.

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 sentence, concise and front-loaded with the main action. However, it could be slightly more structured by mentioning the key parameters or providing a brief example.

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 6 parameters, 2 required, and no output schema, the description is incomplete. It does not explain return values (e.g., created issue ID), how the 'template' parameter works, or how to use 'labels' and 'assignees' effectively. The sibling tools are related but not differentiated.

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?

All 6 parameters have schema descriptions, so coverage is 100%. The description adds no new semantic information beyond '(supports Japanese)' which is already in the parameter descriptions. 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 explicitly states the verb 'Create', resource 'issue', and context 'repository', with the distinguishing feature of supporting Japanese. This clearly differentiates it from sibling tools like project_edit_issue.

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 for creating issues, but does not explicitly state when to use versus alternatives like project_add_item or project_edit_issue. No prerequisites or exclusions are mentioned.

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

project_edit_issueA

Edit the title and/or body of an issue

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepository in 'owner/repo' format
issueNumberYesIssue number
titleNoNew title (optional)
bodyNoNew body (optional)

TDQS

A3.6/5.0
Behavior3/5

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

The description adds minimal behavioral context beyond the existing annotation (destructiveHint: false). It states the tool edits, which is a mutation, but does not elaborate on side effects, permissions, or reversibility, which is adequate given the annotation covers safety.

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, front-loaded sentence with no filler. Every word serves a purpose, making it highly concise and 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 simple edit tool with no output schema, the description is mostly complete. It could clarify that at least one of title or body should be provided, but the schema allows omitting both. Overall, it provides sufficient context for most use cases.

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 parameters, each with a description. The tool description adds no new meaning beyond what is already in the schema, making the baseline score of 3 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 edits the title and/or body of an issue, using a specific verb and resource. It distinguishes from siblings like project_create_issue and project_get_issue.

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 project_set_issue_state for state changes or project_manage_labels for labels. It lacks any context on when to edit versus create or other operations.

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

project_get_issueA
Read-only

Get detailed information about a specific issue by number

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepository in 'owner/repo' format
issueNumberYesIssue number

TDQS

A4.1/5.0
Behavior3/5

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

The description aligns with the readOnlyHint annotation, but adds no behavioral context beyond what annotations already provide.

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, efficient sentence with no wasted words.

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?

Given the simple two-parameter schema and the presence of annotations, the description is fully adequate for the tool's purpose.

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 the description adds no extra meaning beyond the parameter descriptions (e.g., 'by number' reflects the issueNumber param).

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 'Get detailed information' and the resource 'specific issue by number', which distinguishes it from sibling tools like project_create_issue or project_edit_issue.

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 usage when needing issue details by number, and the sibling set shows it's one of many project tools, but no explicit when-not-to-use or alternatives are provided.

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

project_list_fieldsA

List all fields and their options in a GitHub Project V2

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesGitHub username or organization
projectNumberYesGitHub Project V2 number

TDQS

A3.5/5.0
Behavior3/5

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

Without annotations, the description implies a read-only listing operation. However, it does not disclose any potential limitations (e.g., pagination, authentication scope, or rate limits). The absence of output schema also leaves the return format unclear.

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?

A single, concise sentence that directly conveys the tool's purpose with no extraneous information.

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 listing tool, the description is adequate but lacks details on return structure, pagination, or error behavior. Given the absence of annotations and output schema, it leaves some gaps.

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% with clear descriptions for owner and projectNumber. The tool description adds no further meaning beyond what the schema provides, warranting the baseline 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 verb 'List', the resource 'fields and their options', and the context 'GitHub Project V2'. It is specific and distinct from siblings like project_list_items or project_backlog_report.

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 on when to use this tool versus alternatives (e.g., project_list_fields vs project_get_issue). No exclusions or prerequisites mentioned.

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

project_list_itemsC

List all items in a GitHub Project V2 with status and metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesGitHub username or organization
projectNumberYesGitHub Project V2 number
statusFilterNoFilter by status name (optional)
priorityFilterNoFilter by priority (optional)

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 description must fully disclose behavior. It only says 'List all items' without mentioning pagination limits, rate limits, or side effects. The agent cannot tell if this is a read-only operation, if it returns all items or paginated, or what happens for large projects.

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?

Single sentence with no redundancy. It is front-loaded with verb and resource. Could be improved by adding structure like listing scope or output format, but as a minimal statement it is 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?

Missing crucial context for a list tool: no output schema, no mention of pagination, sorting, or whether returned items include IDs. The description says 'status and metadata' but these are not defined. Given many sibling tools, more detail on what is returned is needed for agent decision-making.

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% with descriptions for all four parameters. The description adds no additional meaning beyond schema; 'status and metadata' loosely connects to optional filters but doesn't explain parameter values or constraints. Baseline is 3 given high schema coverage.

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 lists items in a GitHub Project V2 with status and metadata. The verb 'List' and resource 'items in a GitHub Project V2' are specific. It distinguishes from sibling tools like project_add_item (adds items) and project_get_issue (gets single issue), but could be more explicit about scope.

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 on when to use this tool vs siblings like project_backlog_report or project_list_fields. The agent has no basis to choose between listing items here vs other project listing tools. No exclusions or best uses mentioned.

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

project_manage_assigneesA

Add or remove assignees on an issue

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepository in 'owner/repo' format
issueNumberYesIssue number
addAssigneesNoGitHub usernames to assign
removeAssigneesNoGitHub usernames to unassign

TDQS

A3.8/5.0
Behavior3/5

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

Annotations indicate non-destructive operation. Description accurately reflects add/remove behavior but adds no extra context about side effects, authorization, or return format beyond what annotations and schema provide.

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?

Single sentence that directly states the tool's function with no unnecessary words, achieving high conciseness.

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 mutation tool with complete schema coverage and annotations, the description is sufficient. Could benefit from mentioning return behavior, but 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?

Schema coverage is 100% with clear parameter descriptions. The description adds no additional meaning beyond the schema, so baseline 3 applies.

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 'Add or remove assignees on an issue' uses a specific verb+resource combination, clearly distinguishing from sibling tools like project_edit_issue or project_manage_labels.

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?

No explicit guidance on when to use versus alternatives, but the name and context make it clear it's for assignee management. Lacks when-not-to-use or alternative suggestions.

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

project_manage_labelsA

Add or remove labels on an issue

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepository in 'owner/repo' format
issueNumberYesIssue number
addLabelsNoLabels to add
removeLabelsNoLabels to remove

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already indicate destructiveHint=false, and the description aligns with that. However, beyond the annotations, the description does not disclose potential side effects (e.g., whether missing labels are created, error behavior, or permission requirements). The bar is lower due to annotations, but the description adds no extra behavioral context.

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 redundant words. It is front-loaded and efficiently conveys the tool's purpose. Every word earns its place.

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 low complexity (4 parameters, 2 required, no output schema), the description is adequate but lacks usage guidance and behavioral nuance (e.g., relationship between addLabels and removeLabels, order of operations). It is minimally complete but could be more helpful with explicit 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%, so the schema already documents each parameter (e.g., 'Labels to add', 'Labels to remove'). The tool description adds no additional meaning beyond the schema, meriting the baseline score of 3.

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 'Add or remove labels on an issue' clearly states the verb (add/remove) and resource (labels on an issue). It effectively distinguishes from siblings like project_edit_issue or project_manage_assignees by focusing specifically on label manipulation.

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?

No explicit guidance is provided about when to use this tool vs alternatives (e.g., project_edit_issue). The description implies label-only operations but does not state prerequisites, when-not-to-use, or context. This omission leaves the agent without clear decision criteria.

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

project_move_statusB

Change the status of a project item (e.g. 'Backlog', '開発中', 'Done'). Supports aliases like 'dev'→'開発中'

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesGitHub username or organization
projectNumberYesGitHub Project V2 number
itemIdYesProject item ID (PVTI_...)
statusYesTarget status name (e.g. '開発中', 'Done')

TDQS

B3.2/5.0
Behavior2/5

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

Annotations provide only destructiveHint: false. The description adds no behavioral details beyond stating it changes status (a write operation). No mention of side effects, permissions, or error behavior.

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, zero wasted words. The verb and resource appear first. Efficient and to the point.

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?

Tool has 4 required parameters, no output schema, and no error or return value description. While the action is simple, the description omits what happens on success (e.g., returns updated item) or failure conditions, which is a gap for an AI agent.

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 coverage is 100%, and the description enriches the status parameter by noting alias support (e.g., 'dev'→'開発中'), which adds meaning beyond the schema. Other parameters are not elaborated, but schema descriptions suffice.

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 ('Change the status') and the resource ('project item'), with examples of status values and alias support. It is specific but does not explicitly differentiate from sibling tools like project_set_issue_state.

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 on when to use this tool versus alternatives. Does not mention prerequisites, context, or exclusions.

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

project_scan_todosA

Scan codebase for TODO/FIXME/HACK/XXX markers, cross-reference with existing issues, and propose new issue creation. Set createIssues=true to auto-create (max 10/run).

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepository in 'owner/repo' format
basePathNoLocal codebase path (defaults to current working directory)
scanPathsNoPaths within basePath to scan (defaults to ["."])
markersNoComment markers to search for
excludePathsNoDirectories to exclude from scan
createIssuesNoIf true, create GitHub issues for untracked TODOs (max 10 per run)

TDQS

A4/5.0
Behavior4/5

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

Without annotations, the description must convey behavioral traits. It explicitly mentions scanning, cross-referencing, auto-creating issues (with max 10/run). However, it does not disclose potential side effects like requiring write permissions or the exact mutation behavior.

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 that front-load the main action. Every word adds value with no redundancy or fluff.

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 core functionality and key option. It lacks details about return value format, but is sufficient for understanding the tool's purpose and main usage.

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 baseline is 3. The description adds no new parameter details beyond what the schema already provides, merely repeating the createIssues option.

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 scans for TODO/FIXME/HACK/XXX markers, cross-references with existing issues, and proposes new issue creation. This specific verb+resource combination distinguishes it from sibling tools like project_scan_zombies or project_create_issue.

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 implicitly suggests use for codebase maintenance and mentions a key option (createIssues=true), but does not explicitly state when to use this tool vs alternatives like project_create_issue 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.

project_scan_zombiesA
Read-only

Scan for zombie issues (implemented but still Open). Cross-references code, commits, and issue titles. Never auto-closes — returns proposals only.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepository in 'owner/repo' format
basePathNoLocal codebase path (defaults to current working directory)
excludePathsNoDirectories to exclude from code search
maxIssuesNoMaximum number of open issues to scan
confidenceThresholdNoMinimum confidence score to include in report (0.0-1.0)

TDQS

A4/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description reveals key behaviors: 'Never auto-closes — returns proposals only' and explains the scanning methodology (cross-referencing code, commits, and titles). This fully informs the agent of the tool's read-only nature and output type.

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: the first captures the purpose, the second adds methodology and a behavioral constraint. No unnecessary words, efficient and 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 no output schema, the description explains the return type ('proposals') and the non-auto-close behavior. It does not detail the proposal format or error scenarios, but for a scan tool the core information is present. Sibling diversity is clear.

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% and the description adds no parameter-level details beyond what the schema already provides. A baseline score of 3 is appropriate as the description does not detract but also does not enhance parameter understanding.

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 scans for 'zombie issues (implemented but still Open)' and explains it cross-references code, commits, and issue titles. This specific verb+resource combination distinguishes it from siblings like project_scan_todos.

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 explicit guidance on when to use this tool versus alternatives (e.g., project_scan_todos). The description assumes the agent knows to use it for zombie issues but does not provide when-not or which sibling to use instead.

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

project_set_issue_stateB
Destructive

Close or reopen an issue

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesRepository in 'owner/repo' format
issueNumberYesIssue number
stateYesTarget state
reasonNoClose reason (only for state='closed')

TDQS

B3.4/5.0
Behavior3/5

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

The description is consistent with the destructiveHint annotation, confirming a write operation. However, it does not disclose additional behavioral details such as side effects (e.g., notifications, timeline updates) or the dependency of the 'reason' parameter on the 'state' being 'closed'. The description adds minimal context 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, concise sentence that directly states the tool's purpose. Every word is necessary and there is no wasted text.

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 description does not explain the return value or confirm success, nor does it mention constraints like the reason parameter being required only when closing. For a mutation tool with no output schema and 4 parameters, more context is needed for safe 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 input schema already provides complete descriptions for all four parameters (100% coverage). The description adds no extra meaning or context about the parameters, so it is adequate but not improved beyond the schema 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 'Close or reopen an issue' is a specific verb-resource pair that clearly indicates the tool's action. It distinguishes itself from siblings like project_edit_issue which may handle other fields, and project_move_status which likely moves status in a project board.

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 project_edit_issue for other modifications or project_move_status for board status transitions. There is no mention of prerequisites, exclusions, 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.

project_set_priorityA

Set the priority of a project item (P0-P4)

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesGitHub username or organization
projectNumberYesGitHub Project V2 number
itemIdYesProject item ID (PVTI_...)
priorityYesPriority level

TDQS

A3.6/5.0
Behavior2/5

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

Annotations already declare destructiveHint: false. The description adds no additional behavioral context beyond 'Set'. It does not mention overwriting behavior, permissions, or any side effects.

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?

A single, concise sentence that is front-loaded with the verb and resource. No unnecessary words.

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 setter tool with no output schema and good annotations, the description is largely adequate. It could mention that setting priority overwrites the existing value, but overall it provides the essential 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?

Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema's parameter 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 explicitly states the verb 'Set', the resource 'priority of a project item', and the allowed values 'P0-P4'. It clearly distinguishes from sibling tools like 'project_move_status' or 'project_edit_issue'.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies it's for setting priority, but does not mention when not to use it or compare with related tools.

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

project_sprint_reportB
Read-only

Generate a sprint report with velocity, completion rate, and blocker stats

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesGitHub username or organization
projectNumberYesGitHub Project V2 number
sprintNoSprint selector: 'current', 'previous', or a sprint titlecurrent

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the agent knows this is a safe read operation. The description adds that the report includes velocity, completion rate, and blocker stats, which provides useful behavioral context. However, it does not disclose other potential traits like required authentication or rate limits, but given annotations, the bar is lower, and a score of 3 is appropriate.

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 sentence that immediately communicates the tool's purpose and key outputs. It is front-loaded with 'Generate a sprint report with...' and has no unnecessary words. It could potentially be slightly more concise, but overall it is well-structured 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 has 3 parameters, no output schema, and annotations only for read-only behavior, the description is adequate but not complete. It lists the metrics included but does not specify the return format, pagination, or how the sprint parameter defaults work beyond what the schema says. It is sufficient for basic use but lacks depth.

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 complete descriptions for all three parameters (owner, projectNumber, sprint), achieving 100% schema description coverage. The tool description does not add any additional meaning beyond the schema. Per guidelines, baseline is 3 when coverage is high, and no extra value is provided.

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 generates a sprint report with specific metrics (velocity, completion rate, blocker stats). The verb 'Generate' and resource 'sprint report' are specific. The sibling includes project_backlog_report, which suggests a different focus, so the description effectively distinguishes the tool's purpose.

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 like project_backlog_report. It does not mention prerequisites, exclusions, or typical scenarios. The context signals show siblings with overlapping domains, but the description offers no help in choosing.

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

workspace_append_sheetA

Append rows to a Google Sheets table (POST — adds rows after the last row in the table)

ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheetIdYesSpreadsheet ID (from URL: docs.google.com/spreadsheets/d/{id})
rangeYesA1 notation range to detect table (e.g. "Sheet1!A:C")
valuesYesRows to append as JSON string 2D array
valueInputOptionNoHow values are interpreted: USER_ENTERED parses dates/numbers, RAW stores as-isUSER_ENTERED
insertDataOptionNoINSERT_ROWS shifts existing data down; OVERWRITE replaces data below the tableINSERT_ROWS

TDQS

A3.8/5.0
Behavior4/5

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

The description adds value beyond annotations by specifying the HTTP POST method and exact behavior (appends after last row). Annotations already indicate non-idempotent and open world, and the description reinforces this without contradiction.

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, front-loaded sentence that conveys purpose and method without any unnecessary words.

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 append operation, the description covers the core functionality. Although it does not mention return values or error handling, the annotations and schema compensate sufficiently.

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 description only adds overall context. It does not elaborate on individual parameters beyond what the schema provides, achieving the baseline for high coverage.

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 verb 'Append rows' and the resource 'Google Sheets table', and distinguishes from sibling tools like workspace_get_sheet and workspace_update_sheet by specifying appending after the last row.

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 does not provide guidance on when to use this tool versus alternatives (e.g., workspace_update_sheet for overwriting rows). It only mentions the HTTP method, which is implicit.

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

workspace_create_eventA

Create a Google Calendar event (timed or all-day). Supports RFC3339 datetimes and IANA timezones.

ParametersJSON Schema
NameRequiredDescriptionDefault
calendarIdNoCalendar ID (default: 'primary' for the authenticated user's calendar)primary
summaryYesEvent title
startDateTimeYesStart time in RFC3339 with timezone offset (e.g. "2026-04-01T10:00:00+09:00"). For all-day events use date only: "2026-04-01"
endDateTimeYesEnd time in RFC3339 with timezone offset. For all-day events use date only: "2026-04-02"
timeZoneNoIANA timezone (e.g. "Asia/Tokyo"). Used when offset is ambiguous.
allDayNoIf true, use date-only format for start/end (e.g. "2026-04-01")
descriptionNoEvent description
locationNoLocation or meeting room

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate idempotentHint=false and openWorldHint=true. The description adds minimal behavioral context (supports timed or all-day events) but does not disclose potential side effects, permissions, or limits beyond what is obvious from the 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?

Extremely concise with two short sentences. Every word adds value, no redundancy.

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?

For a tool with 8 parameters and no output schema, the description is too minimal. It does not explain return values, constraints (e.g., duration limits), or behavior when parameters conflict (e.g., allDay flag vs datetime format). More context needed for confident use.

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 baseline is 3. The description reinforces RFC3339 and IANA timezone support, but adds little beyond the detailed parameter descriptions already in 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 clearly states 'Create a Google Calendar event (timed or all-day)', specifying the verb (Create) and resource (Google Calendar event). It distinguishes from sibling tools like workspace_list_events by focusing on creation.

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 events with specific datetime and timezone support but does not provide explicit guidance on when to use or alternatives. No exclusions or prerequisites mentioned.

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

workspace_get_docA
Read-only

Get a Google Docs document exported as Markdown via Drive export API

ParametersJSON Schema
NameRequiredDescriptionDefault
documentIdYesGoogle Docs document ID (from URL: docs.google.com/document/d/{id})

TDQS

A4/5.0
Behavior4/5

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

Annotations already provide readOnlyHint and openWorldHint. Description adds export method (Drive API) and output format (Markdown), which is useful beyond annotations. Could mention rate limits or size constraints.

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?

Single sentence, no redundant information. Front-loaded with key details.

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 simple single-parameter tool with annotations and no output schema, description adequately covers purpose and output format. Slightly lacking on the exact structure of returned Markdown content.

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 has 100% coverage with documentId description. Description adds no additional semantic value beyond 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?

Description clearly states verb 'Get', resource 'Google Docs document', and format 'Markdown'. Distinguishes from siblings like notion_get_page and workspace_get_sheet.

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?

No explicit when-to-use or when-not-to-use guidance. Implied by purpose, but lacks context of alternatives or prerequisites.

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

workspace_get_sheetA
Read-only

Get values from a Google Sheets range (first row as headers, rest as data rows)

ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheetIdYesGoogle Sheets spreadsheet ID (from URL: docs.google.com/spreadsheets/d/{id})
rangeYesCell range in A1 notation (e.g. 'Sheet1!A1:D10')

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, indicating a safe read operation. The description adds value by specifying the return structure (first row as headers), which is a behavioral nuance not covered by annotations.

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 efficiently conveys the core functionality without 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?

Given the simple get operation, no output schema, and informative annotations, the description adequately explains the return format. However, it lacks mention of error handling or edge cases.

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 provides full descriptions for both parameters (spreadsheetId, range). The description does not add additional parameter-level detail, so 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?

Description states specific verb 'Get' and resource 'values from a Google Sheets range', and clarifies the data format (first row as headers). While clear, it does not explicitly distinguish from sibling read tools like workspace_get_doc.

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 on when to use this tool versus alternatives. The description does not mention when to prefer this over workspace_append_sheet or workspace_get_doc.

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

workspace_get_slidesA
Read-only

Get a Google Slides presentation exported as plain text via Drive export API

ParametersJSON Schema
NameRequiredDescriptionDefault
presentationIdYesGoogle Slides presentation ID (from URL: docs.google.com/presentation/d/{id})

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds that it exports to plain text via Drive export API, providing useful context beyond the annotations. It does not cover edge cases like invalid IDs or rate limits, but the annotations cover the 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 a single sentence, under 20 words, front-loaded with the action, and contains no unnecessary words.

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 tool with one parameter and no output schema, the description is complete. It explains what the tool does, the input required, and the output format (plain text). No additional information is needed given the tool's simplicity.

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% with the parameter description already providing sufficient context (where to find the presentationId). The tool description does not add further parameter semantics, so 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 clearly states the action ('Get'), the resource ('Google Slides presentation'), and the output format ('plain text via Drive export API'). It distinguishes from siblings like workspace_get_doc (for docs) and workspace_get_sheet (for sheets).

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 or avoid this tool, nor does it mention alternatives. However, the clear purpose implicitly guides usage given sibling tools.

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

workspace_list_eventsA
Read-only

List events from a Google Calendar with optional time range filter

ParametersJSON Schema
NameRequiredDescriptionDefault
calendarIdNoCalendar ID (default: 'primary' for the authenticated user's calendar)primary
timeMinNoStart time filter in RFC3339 format (e.g. 2026-03-28T00:00:00Z)
timeMaxNoEnd time filter in RFC3339 format
limitNoMax events to return (default 20)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint. Description adds that events are from Google Calendar and filtering is optional, which is consistent but does not significantly enhance behavioral understanding beyond annotations and schema.

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?

Single concise sentence that efficiently conveys the tool's purpose with no redundant information. Well front-loaded.

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 list tool with 4 parameters, no output schema, and annotations present, the description is adequate but lacks detail on return format or pagination behavior. The 'limit' parameter implies pagination, but this is not addressed.

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% with each parameter described. The tool description adds only 'optional time range filter', which summarizes timeMin and timeMax but no new meaning beyond the schema. Baseline 3 applies.

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?

Description uses specific verb 'List' and resource 'events from a Google Calendar', clearly distinguishing from sibling tools like workspace_create_event. It also mentions optional time range filter, adding specificity.

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 explicit guidance on when to use this tool vs alternatives (e.g., workspace_create_event, workspace_get_doc). Usage is only implied by the verb 'List', but no when-not or context is provided.

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

workspace_search_driveC
Read-only

Search Google Drive for files by query and optional MIME type filter

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesDrive search query (e.g. "name contains 'report'")
mimeTypeNoMIME type filter (e.g. application/vnd.google-apps.document for Google Docs)
limitNoMax results (default 20)

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already provide readOnlyHint and openWorldHint. Description adds no additional behavioral details such as pagination, sorting, rate limits, or error behavior. For a search tool, missing information on result format or iteration.

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?

Single sentence, efficiently structured with key action and parameters. No redundancy.

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?

Despite complete schema coverage and annotations, the description is too sparse. For a tool with no output schema, it should explain return values, result format, or give query examples. Missing context for effective 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?

Schema coverage is 100%, so schema already documents parameters thoroughly. Description does not add new meaning beyond what is in schema (e.g., no explanation of query syntax or MIME type formats). Baseline 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?

Description clearly states action (search), resource (Google Drive files), and method (query and MIME type filter). However, it does not differentiate from sibling tools like workspace_search_gmail, which also searches but for emails. The verb 'search' and resource 'Google Drive' are specific.

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 on when to use this tool vs alternatives. No mention of preconditions, exclusions, or typical use cases. The existence of sibling search tools (e.g., workspace_search_gmail) is not addressed.

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

workspace_search_gmailA
Read-only

Search Gmail messages and return subject, from, date, and snippet for each

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesGmail search query (e.g. 'from:user@example.com subject:report after:2024/01/01')
limitNoMax messages to return (default 10)

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to repeat these. It adds context by specifying the returned fields, which provides transparency about the output. No contradictions with annotations.

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 conveys the core purpose and output. No unnecessary words.

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 search tool with well-defined parameters and annotations, the description is adequately complete. However, it could mention ordering, pagination, or handling of large result sets. Given the constraints, it is sufficient.

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 parameters are already well-documented. The description adds marginal value by mentioning the output fields (subject, from, date, snippet) but does not explain parameter syntax beyond what the schema 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 clearly states the tool searches Gmail messages and returns specific fields (subject, from, date, snippet). It uses a specific verb and resource, and distinguishes from sibling tools like workspace_search_drive that search different resources.

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 searching Gmail messages and specifies returned fields, but lacks explicit guidance on when to use vs alternatives. The sibling list includes workspace_search_drive which is a clear alternative for Drive search, but the description does not mention exclusions or conditions.

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

workspace_update_sheetA
Idempotent

Update cell values in a Google Sheets range (PUT — overwrites the range completely)

ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheetIdYesSpreadsheet ID (from URL: docs.google.com/spreadsheets/d/{id})
rangeYesA1 notation range (e.g. "Sheet1!A1:C10")
valuesYes2D array as JSON string (e.g. [["A1","B1"],["A2","B2"]])
valueInputOptionNoHow values are interpreted: USER_ENTERED parses dates/numbers, RAW stores as-isUSER_ENTERED

TDQS

A4.2/5.0
Behavior4/5

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

The description clarifies the overwrite behavior and uses 'PUT' to indicate the method. Annotations already provide idempotentHint and openWorldHint, so the description adds context on the destructive nature of overwriting.

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, well-structured sentence that clearly states the action, resource, and method. It is concise and front-loaded with the verb and resource.

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 4 parameters fully described in the schema, no output schema, and clear sibling distinctions, the description is adequate. It could mention response behavior but is largely 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?

All parameters are described in the schema with 100% coverage. The description adds no new semantic information beyond what the schema already provides, maintaining a baseline 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 tool updates cell values in a Google Sheets range, specifies it uses PUT (overwrites completely), and distinguishes itself from the sibling tool 'workspace_append_sheet' which implies appending rather than replacing.

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 mentions 'overwrites the range completely' and 'PUT', hinting at full replacement. While it doesn't explicitly state when not to use it, the presence of sibling 'workspace_append_sheet' provides context for alternative usage.

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. 31 tool updatesv1.0.0
    • First observednotion_append_blocks
    • First observednotion_archive_page
    • First observednotion_create_page
    • First observednotion_get_page
    • First observednotion_query_database
    • First observednotion_search
    • First observednotion_update_page
    • First observedproject_add_item
    • First observedproject_backlog_report
    • First observedproject_create_issue
    • First observedproject_edit_issue
    • First observedproject_get_issue
    • First observedproject_list_fields
    • First observedproject_list_items
    • First observedproject_manage_assignees
    • First observedproject_manage_labels
    • First observedproject_move_status
    • First observedproject_scan_todos
    • First observedproject_scan_zombies
    • First observedproject_set_issue_state
    • First observedproject_set_priority
    • First observedproject_sprint_report
    • First observedworkspace_append_sheet
    • First observedworkspace_create_event
    • First observedworkspace_get_doc
    • First observedworkspace_get_sheet
    • First observedworkspace_get_slides
    • First observedworkspace_list_events
    • First observedworkspace_search_drive
    • First observedworkspace_search_gmail
    • First observedworkspace_update_sheet

TDQS

A3.6/5.0
Disambiguation5/5

Tools are clearly grouped by prefix (notion_, project_, workspace_) and each tool has a distinct purpose. No two tools could be easily confused, as the verb-noun combinations are unique within each domain.

Naming Consistency4/5

The naming convention is predominantly prefix_verb_noun, which is consistent across most tools. However, 'project_backlog_report' and 'project_sprint_report' deviate by using a noun-noun pattern instead of verb-noun, creating a minor inconsistency.

Tool Count3/5

With 31 tools, the server is on the heavier side. The tool count is appropriate given it covers three distinct domains (Notion, GitHub Projects, Google Workspace), but it exceeds the typical well-scoped range of 3-15 tools, making it feel somewhat overloaded.

Completeness4/5

The tool surface covers core CRUD operations for the main resources (pages, issues, sheets, events) and includes search, scanning, and reporting. Missing operations like deletion or updating events are minor gaps that do not severely hinder common PM workflows.

Maintenance

ActivitySlowing
ResponsivenessSyncing

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/fideguch/my_pm_tools'

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