Skip to main content
Glama

Google Sheets MCP Server

Powerful tools for automating Google Sheets using Model Context Protocol (MCP)

mcp-name: io.github.henilcalagiya/google-sheets-mcp

Overview

Google Sheets MCP Server provides seamless integration of Google Sheets with any MCP-compatible client. It enables full spreadsheet automation — including creating, reading, updating, and deleting sheets — through a simple and secure API layer.

Related MCP server: @node2flow/google-sheets-mcp

Features

  • Full CRUD support for Google Sheets and tables

  • Works with Continue.dev, Claude Desktop, Perplexity, and other MCP clients

  • Secure authentication via Google Service Account

  • Comprehensive tools for Google Sheets automation

  • Automatic installation via uvx

Requirements

  • Python 3.10+

  • uv package manager (for uvx command)

  • A Google Cloud project with a Service Account

  • MCP-compatible client (e.g., Continue.dev)

Install uv:

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows PowerShell
irm https://astral.sh/uv/install.ps1 | iex

Quick Start

1. Set Up Google Service Account

Step 1: Create a Google Cloud Project

  1. Go to Google Cloud Console

  2. Click "Select a project" → "New Project"

  3. Enter a project name (e.g., "my-sheets-automation")

  4. Click "Create"

Step 2: Enable Required APIs

  1. In your project, go to "APIs & Services" → "Library"

  2. Search for "Google Sheets API" → Click → "Enable"

  3. Search for "Google Drive API" → Click → "Enable"

Step 3: Create Service Account

  1. Go to "IAM & Admin" → "Service Accounts"

  2. Click "Create Service Account"

  3. Enter service account name (e.g., "sheets-mcp-service")

  4. Click "Create and Continue"

  5. Skip role assignment → Click "Continue"

  6. Click "Done"

Step 4: Generate JSON Key

  1. Click on your new service account email

  2. Go to "Keys" tab → "Add Key" → "Create new key"

  3. Choose "JSON" format → Click "Create"

  4. The JSON file will download automatically

Step 5: Extract Required Values Open the downloaded JSON file and note these values:

Example Google service account JSON structure:

{
  "type": "service_account",
  "project_id": "your-project-id",
  "private_key_id": "your-private-key-id",
  "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
  "client_email": "your-service@your-project.iam.gserviceaccount.com",
  "client_id": "your-client-id",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/your-service%40your-project.iam.gserviceaccount.com"
}

Follow this guide if needed

2. Configure MCP Client

{
  "mcpServers": {
    "google-sheets-mcp": {
      "command": "uvx",
      "args": ["google-sheets-mcp@latest"],
      "env": {
        "project_id": "your-project-id",
        "private_key_id": "your-private-key-id",
        "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
        "client_email": "your-service@your-project.iam.gserviceaccount.com",
        "client_id": "your-client-id",
        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/your-service%40your-project.iam.gserviceaccount.com"
      }
    }
  }
}

💡 Pro Tip: You can copy the values directly from your Google service account JSON file. The field names in the JSON file are used exactly as they are - no changes needed!

🔄 Backward Compatibility: The server also supports the old GOOGLE_ prefixed variable names (e.g., GOOGLE_PROJECT_ID) for existing configurations.

3. Share Your Google Sheet with the Service Account

  • Open your target Google Spreadsheet in your web browser.

  • Click the Share button.

  • Enter the service account email (e.g., your-service@your-project.iam.gserviceaccount.com) and assign Editor access.

  • Click Send to provide editor permissions.

🎉 You're all set! Your MCP client will automatically install and run the package when needed.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Henil C Alagiya

Support & Contributions:

  • 🐛 Report Issues: GitHub Issues

  • 💬 Questions: Reach out on LinkedIn

  • 🤝 Contributions: Pull requests welcome!

Available Tools

24 tools
add_table_column_toolA
Add new columns to an existing table in Google Sheets.

This tool extends an existing table with additional columns.
New columns can have different data types and validation rules.
Supports adding multiple columns at once with proper positioning.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    table_name: Name of the table to add columns to
    column_names: List of column names to add
    column_types: List of column types corresponding to column_names
    positions: List of positions to insert columns (0-based index, empty list for end)
    dropdown_columns: List of column names that should have dropdown validation
    dropdown_values: List of comma-separated dropdown options for each dropdown column

Returns:
    JSON string with success status and column addition details
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
table_nameYesName of the table to add columns to
column_namesYesList of column names (e.g., ['Status', 'Priority', 'Notes'])
column_typesYesList of column types: DOUBLE, CURRENCY, PERCENT, DATE, TIME, DATE_TIME, TEXT, BOOLEAN, DROPDOWN
positionsNoList of positions to insert columns (0-based index, empty list for end)
dropdown_columnsNoList of column names that should have dropdown validation
dropdown_valuesNoComma-separated dropdown options for each dropdown column

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions support for different data types and validation rules, but does not disclose side effects, permissions, or error scenarios. It adds some context beyond the schema but is not thorough.

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 concise with a clear title, brief paragraph, and structured Args/Returns. No redundant information, and every sentence serves a purpose.

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 complexity (8 parameters) and the presence of an output schema, the description adequately covers the tool's functionality. It explains multi-column addition and positioning, though it lacks explicit prerequisites or error handling 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 description coverage is 100%, so baseline is 3. The description summarizes parameters but does not add significant new meaning beyond what the schema already provides for individual parameters.

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

Purpose5/5

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

The description starts with 'Add new columns to an existing table in Google Sheets', clearly stating the verb and resource. It distinguishes itself from siblings like delete_table_column_tool and update_table_column_name_tool by focusing on addition.

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 adding columns but does not explicitly state when to use this tool versus alternatives like update_table_column_type_tool. No exclusionary language or alternative guidance is provided.

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

add_table_records_toolA
Add records (rows) into a table in Google Sheets at the end.

This tool adds new records into a table at the end using InsertRangeRequest,
UpdateCellsRequest, and UpdateTableRequest operations. Each record must match the table's column structure.
Records are automatically formatted according to column types.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    table_name: Name of the table to add records into
    records: List of records, where each record is a list of values matching table columns

Returns:
    JSON string with success status and operation details
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
table_nameYesName of the table to add records into
recordsYesList of records to add into the table. Each record must be a list of values matching the table's column structure. Values can be strings, numbers, booleans, or None. EXAMPLE: [ ['John Doe', 30, 'HR', 50000], ['Jane Smith', 25, 'Engineering', 60000], ['Bob Johnson', 35, 'Marketing', 55000] ]

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that records are automatically formatted by column types and the internal operations used (InsertRangeRequest, etc.). It lacks mention of error handling or authorization, but for an additive operation with clear input constraints, this is sufficient.

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 front-loaded with the core purpose and uses a structured Args/Returns format. It contains approximately 5 sentences, each contributing necessary information. Could be slightly more concise, but it is well-organized and easy to parse.

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

Completeness4/5

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

Given the presence of an output schema and 100% input schema coverage, the description sufficiently covers the operation, parameter types, and formatting behavior. It could mention error scenarios (e.g., table not found), but overall it provides a complete picture for a simple data-addition tool.

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% with each parameter having a description. The description's Args section adds a clarifying example for the 'records' parameter and notes that values can include None, slightly exceeding the schema's type definitions. This adds value 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 ('add'), resource ('records into a table in Google Sheets'), and location ('at the end'). It effectively distinguishes itself from siblings like delete_table_records_tool and update_table_cells_by_* tools, making purpose unambiguous.

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

Usage Guidelines4/5

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

The description provides clear usage context by specifying that records must match the table's column structure and are appended to the end. However, it does not explicitly state when to not use this tool or mention alternatives, though the sibling set implies the differentiation.

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

analyze_sheet_structure_toolA
Analyze a specific sheet's structure - quick overview.

This tool provides a simple overview of what's in the sheet:
- Sheet basic info (name, size, hidden status)
- Tables (count, names, ranges, sizes)
- Charts (count, IDs, positions)
- Slicers (count, IDs, positions)
- Drawings (count, IDs, positions)
- Developer metadata (count, keys, values)
- Summary (total elements, sheet type, frozen panes)

Args:
    spreadsheet_name: The name of the Google Spreadsheet
    sheet_name: Name of the specific sheet to analyze

Returns:
    JSON string with simplified structure overview
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesName of the specific sheet to analyze

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It clearly indicates it is a read-only analysis by listing what it returns (sheet info, tables, charts, etc.) without mentioning any side effects or destructive actions. It could be improved by noting any performance impact or permissions needed.

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 well-structured with a front-loaded purpose, a bullet list of contents, and separate Args/Returns sections. It is efficient, though the Args section is redundant with the schema.

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 tool's simplicity and the presence of an output schema, the description covers all relevant aspects: sheet info, tables, charts, slicers, drawings, developer metadata, and a summary. It is complete for its 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?

The description repeats parameter names and descriptions already present in the input schema (100% coverage), adding no new semantics beyond what the schema provides.

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 'Analyze a specific sheet's structure - quick overview' and lists the types of elements it covers (tables, charts, slicers, etc.), distinguishing it from sibling tools that focus on specific data retrieval or modification. The tool's purpose is uniquely about structural analysis.

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 a quick structural overview but does not explicitly state when to use it over alternative tools like get_table_metadata or get_sheet_cells. No guidance on when not to use or alternatives is provided.

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

create_duplicate_sheet_toolB

Create a duplicate of an existing sheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
source_sheet_nameYesName of the sheet to duplicate
new_sheet_nameNoName for the duplicated sheet (optional, will auto-generate if not provided)
insert_positionNoPosition to insert the duplicated sheet (1-based index, optional - will insert at end if not specified)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, yet the description does not disclose behavioral details such as whether formatting is preserved, collision handling for existing sheet names, or authentication requirements.

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?

One sentence, front-loaded, no extraneous information; perfectly concise.

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 duplication tool with an output schema, the description suffices minimally but lacks usage context and behavioral details that would help an agent use it correctly.

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

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 additional parameter meaning beyond what is already in the schema; 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 'Create a duplicate of an existing sheet' uses a specific verb and resource, clearly distinguishing it from siblings like 'create_sheets_tool' which creates new blank sheets.

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; no mention of prerequisites 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.

create_sheets_toolC

Create new sheets in a Google Spreadsheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_namesYesList of sheet names to create as new sheets

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided. The description only says 'create new sheets' without disclosing side effects, limitations, or whether the spreadsheet must exist.

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 with no wasted words. However, it could be slightly expanded without losing conciseness.

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?

Output schema exists but description does not explain behavior like preconditions (spreadsheet existence) or conflict handling. Lacks completeness for a tool with no annotations.

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 schema adequately describes both parameters. The description adds no extra meaning beyond what the schema provides.

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 (create) and resource (new sheets in a Google Spreadsheet). It is specific but does not distinguish from sibling tools like create_duplicate_sheet_tool.

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. There is no mention of prerequisites, exclusions, or context for selection.

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

create_table_toolA
Create a new table in Google Sheets.

This tool creates a structured table with specified columns and data types.
Tables provide better data organization, validation, and formatting capabilities.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet to create table in
    table_name: Name for the table
    start_cell: Starting cell for the table (e.g., "A1")
    column_names: List of column names
    column_types: List of column types corresponding to column_names
    dropdown_columns: List of column names that should have dropdown validation
    dropdown_values: List of comma-separated dropdown options for each dropdown column

Returns:
    JSON string with success status and table details
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet to create table in
table_nameYesA descriptive name for the table (e.g., 'Project Tracker', 'Customer Data')
start_cellYesStarting cell for the table (e.g., 'A1')
column_namesYesList of column names (e.g., ['Employee Name', 'Age', 'Department', 'Salary'])
column_typesYesList of column types: DOUBLE, CURRENCY, PERCENT, DATE, TIME, DATE_TIME, TEXT, BOOLEAN, DROPDOWN
dropdown_columnsNoList of column names that should have dropdown validation
dropdown_valuesNoComma-separated dropdown options for each dropdown column

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description must cover all behavioral aspects. It discloses that this tool creates a new table and mentions data validation and formatting, but it does not specify potential side effects, permission requirements, or error conditions (e.g., if the table already exists).

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 reasonably concise with 5 sentences plus Args/Returns. It front-loads the main purpose. However, the Args list repeats schema information, which could be trimmed.

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 has 8 parameters (6 required) and an output schema, the description covers the core functionality and parameters. It mentions return value format but lacks detail on how to interpret the JSON response. It also misses usage context relative to sibling tools.

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's Args section provides brief parameter explanations that largely mirror the schema. It does not add significant new meaning beyond what the schema already offers.

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 new table in Google Sheets' and explains it creates a structured table with columns and data types. It also mentions benefits like data organization and validation, distinguishing it from siblings that modify or delete tables.

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 explicitly state when to use this tool versus alternatives like create_sheets_tool or add_table_column_tool. There is no guidance on prerequisites 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.

delete_sheets_toolB

Delete sheets from a Google Spreadsheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_namesYesList of sheet names to delete

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description alone must inform the agent about behavioral traits. It fails to disclose whether deletion is permanent, reversible, or requires permissions, leaving critical gaps for a destructive operation.

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 extremely concise (one sentence, 6 words) with no wasted words. However, it could be structured better by placing the most critical info (e.g., permanent deletion) at the front.

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 low complexity (2 parameters, simple action) and the presence of an output schema (though not shown), the description is minimally adequate. However, without behavioral or usage context, it is incomplete for an agent to use safely.

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 both parameters described. The description adds no extra meaning beyond what the schema already states, 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.

Purpose5/5

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

The description clearly states the action 'Delete sheets' and specifies the target resource 'Google Spreadsheet', which distinguishes it from sibling tools like create_sheets_tool or update_sheet_titles_tool.

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 such as delete_table_tool, nor any prerequisites or consequences mentioned. The description lacks context about the scope of deletion (e.g., entire sheets vs. content).

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

delete_table_column_toolA
Delete specific columns from a table in Google Sheets.

This tool removes the specified columns from the table and updates the table structure
accordingly. The remaining columns will be shifted left to fill the gaps.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    table_name: Name of the table to delete columns from
    column_names: List of column names to delete

Returns:
    JSON string with operation results
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
table_nameYesName of the table to delete columns from
column_namesYesList of column names to delete from the table

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

The description mentions that remaining columns shift left to fill gaps, disclosing a key behavioral trait. However, it lacks disclosure of destructive nature (irreversibility), required permissions, or error conditions. With no annotations, the description carries the full burden and is adequate but not comprehensive.

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 reasonably concise (6 lines including a docstring format), but the structured Args/Returns formatting is not necessary for an agent and adds slight redundancy. Still, it is efficient and well-organized.

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?

The description explains the operation and return value, but lacks details on error handling, preconditions (e.g., table must exist), and edge cases. Given the tool complexity and presence of an output schema, the description is adequate but could be more 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?

The input schema already provides descriptions for all 4 parameters (100% coverage). The description's Args section adds no new semantic information beyond the schema, so the baseline score of 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 clearly states the tool deletes specific columns from a table in Google Sheets, using a specific verb and resource. It distinguishes itself from sibling tools like add_table_column_tool and update_table_column_name_tool.

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 explains what the tool does but does not provide explicit guidance on when to use it versus alternatives, such as when to delete columns versus hiding them or using other modification tools.

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

delete_table_records_toolA
Delete specific records (rows) from a table.

This tool removes specific records from a table while preserving the table structure.
Record numbers are 1-based and exclude the header row. Records are deleted in descending order
(bigger numbers first) to avoid index shifting issues.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    table_name: Name of the table to delete records from
    record_numbers: List of record numbers to delete (1-based, excluding header)

Returns:
    JSON string with success status and deletion details
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
table_nameYesName of the table to delete records from
record_numbersYesList of record numbers to delete (1-based, excluding header)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description discloses key behaviors: record numbers are 1-based excluding header, deletion occurs in descending order to avoid index shifting, and table structure is preserved. It does not cover error cases or side effects but is sufficient for a simple delete.

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 well-structured with clear purpose, behavioral details, and an Args/Returns section. It is slightly verbose but every sentence adds value.

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 annotations, the description covers purpose, parameters, behavior, and return format. It does not mention errors or prerequisites, but it is reasonably complete for a delete operation.

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%, so baseline is 3. The description adds value by clarifying the 1-based indexing of record_numbers and the descending deletion order, which is not explicit in the schema descriptions.

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

Purpose5/5

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

The description clearly states the tool deletes specific records while preserving table structure. It distinguishes from siblings like delete_table_tool by specifying it removes rows, not the entire table.

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 alternatives are mentioned, but the name and description imply it's for deleting rows only. The behavioral note about descending order provides some context but no usage guidance.

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

delete_table_toolA
Delete tables from Google Sheets.

This tool removes specified tables from a sheet while preserving other content.
The table structure and data will be permanently deleted.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the tables
    table_names: List of table names to delete

Returns:
    JSON string with success status and deletion details
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the tables
table_namesYesList of table names to delete (e.g., ['Project Tracker', 'Customer Data', 'Sales Report'])

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states that tables are 'permanently deleted' and 'preserving other content', which is transparent. However, it lacks details on permissions, reversibility, or side effects for a destructive tool.

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

Conciseness4/5

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

The description is concise at 8 lines, with a clear first sentence and structured sections (Args, Returns). The Returns section is slightly redundant given the output schema, but overall it is well-organized and free of 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 delete tool with three parameters and an output schema, the description adequately covers the core behavior, permanence, and preservation of other content. It could mention error conditions or prerequisites, but remains largely complete for agent understanding.

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 schema already documents all parameters. The description's Args section mostly mirrors the schema, adding only an example for table_names. This provides minimal added value 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 action 'Delete tables from Google Sheets' and specifies that it removes specified tables while preserving other content. This distinguishes it from sibling tools like create_table_tool or delete_table_column_tool.

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 tables need to be removed, but lacks explicit guidance on when not to use it or alternatives. Among siblings, there are other delete operations (columns, records), but no comparative context is provided.

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

discover_spreadsheets_toolB
Discover spreadsheets and their sheet names.

Args:
    max_spreadsheets: Maximum number of spreadsheets to analyze (default: 10)

Returns:
    JSON string containing spreadsheet names and their sheet names
ParametersJSON Schema
NameRequiredDescriptionDefault
max_spreadsheetsNoMaximum number of spreadsheets to analyze

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavior. It only states the return type (JSON string) but does not mention read-only nature, potential rate limits, or what happens when max_spreadsheets is exceeded.

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 short, with two sentences and a clearly separated Args/Returns section. No redundant information; it is appropriately 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?

Given the single parameter and output schema existence, the description is minimally adequate. It mentions the return format but lacks details like the scope of discovery (e.g., all spreadsheets up to max). Could be more specific.

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%, and the description adds the default value (10). However, it does not explain the impact of different values or any other parameter details beyond what the schema provides.

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

Purpose5/5

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

The description uses a specific verb 'Discover' and resource 'spreadsheets and their sheet names.' It clearly distinguishes from siblings that add, delete, or update sheets. The purpose is immediately understandable.

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 over alternatives like analyze_sheet_structure_tool. The description only provides parameter details without context on prerequisites or situations.

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

get_sheet_cells_by_notation_toolA
Get values from specific cells in a sheet.

This tool retrieves values from multiple cells in a sheet using A1 notation.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet to get cells from
    cell_notations: List of cell notations to get values from (e.g., ['A1', 'A6', 'A10', 'E5'])

Returns:
    JSON string with cell values and mapping
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet to get cells from
cell_notationsYesList of cell notations to get values from (e.g., ['A1', 'A6', 'A10', 'E5'])

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must convey safety. It states the tool retrieves values, implying read-only behavior, but does not explicitly confirm no side effects or authentication requirements.

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

Conciseness4/5

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

The description is concise with a clear first paragraph, but the Args section redundantly lists parameters already in the schema. Well-structured overall.

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

Completeness4/5

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

For a simple read tool with 3 well-documented parameters and an output schema, the description adequately covers purpose, parameters, and return format (including 'mapping'). Missing error or permission details but 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 coverage is 100%, and the description repeats parameter names and provides an example for 'cell_notations'. This adds minimal value beyond the schema's clear 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 clearly states the tool's purpose: 'Get values from specific cells in a sheet.' It specifies the verb (get), resource (cell values), and method (A1 notation). This distinguishes it from the sibling 'get_sheet_cells_by_range_tool', which uses ranges.

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 explains use for retrieving multiple specific cells via A1 notation, with an example. However, it does not explicitly state when not to use this tool or compare to alternatives like the range-based tool.

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

get_sheet_cells_by_range_toolB
Get sheet cells by range.

This tool retrieves cell data from a specific range within a sheet.
You can specify the exact cell range using A1 notation.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet to get cells from
    start_cell: Starting cell reference (e.g., 'A1', 'B2')
    end_cell: Ending cell reference (e.g., 'C5', 'D10')
    include_headers: Whether to include header row

Returns:
    JSON string with cells data and metadata
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet to get cells from
start_cellYesStarting cell reference (e.g., 'A1', 'B2')
end_cellYesEnding cell reference (e.g., 'C5', 'D10')
include_headersNoWhether to include header row (default: False)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states the tool is read-only (retrieves data) and explains parameters like include_headers, but it does not disclose potential error behaviors (e.g., if range is invalid) or any other operational characteristics beyond the basic retrieval action.

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 concise with a clear first sentence defining the tool's purpose. The Args section is helpful but somewhat redundant given the input schema, and it is not excessively long. It could be more concise by removing the Args section since schema already covers it.

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 has 5 parameters, an output schema, and a straightforward retrieval operation, the description is mostly complete. It explains the range notation and the include_headers option. However, it lacks details about error handling, return format specifics (e.g., data structure), and potential performance implications.

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 all parameter descriptions clearly provided. The description adds little beyond restating the schema, such as in the Args section which mirrors the schema. Therefore, the description adds minimal incremental value over the schema.

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 retrieves cell data from a specific range within a sheet using A1 notation. It specifies the verb 'Get' and resource 'sheet cells by range'. However, it does not explicitly differentiate from the sibling tool 'get_sheet_cells_by_notation_tool' which may also use A1 notation, so it lacks full sibling distinction.

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 'get_table_data_tool' or 'get_sheet_cells_by_notation_tool'. There is no mention of preferred contexts, limitations, or conditions under which this tool should be chosen.

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

get_table_data_toolB
Get table data with optional column filtering using Google Sheets API.

This unified tool can retrieve all table data or specific columns based on user input.
If column_names is provided, it uses spreadsheets.values.get for efficiency.
If column_names is not provided, it uses spreadsheets.tables.get for full data.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    table_name: Name of the table to read data from
    column_names: List of column names to retrieve (optional - if not provided, gets all columns)
    start_row: Starting row index (0-based, optional)
    end_row: Ending row index (0-based, optional)
    include_headers: Whether to include header row in results
    max_rows: Maximum number of rows to return (optional)

Returns:
    JSON string with table data and metadata
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
table_nameYesName of the table to read data from
column_namesNoList of column names to retrieve (optional - if not provided, gets all columns)
start_rowNoStarting row index (0-based, optional, use -1 for all rows)
end_rowNoEnding row index (0-based, optional, use -1 for all rows)
include_headersNoWhether to include header row in results
max_rowsNoMaximum number of rows to return (optional, use -1 for no limit)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry full burden. It discloses internal API selection but does not mention behavioral aspects like mutation safety (it is read-only), error handling, rate limits, or what happens if the table does not exist.

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

Conciseness3/5

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

The description is moderately concise but includes implementation details (internal API choice) that could be omitted. It front-loads the main purpose but then expands with parameter list and logic, making it slightly verbose.

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?

With 8 parameters and an output schema, the description explains the two distinct retrieval methods, optional parameters, and return format. It is missing some error behavior details but is otherwise complete given the output schema exists.

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 description adds marginal clarification (e.g., -1 for all rows, include_headers), but the baseline of 3 is appropriate as the schema already provides sufficient detail.

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

Purpose5/5

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

The description clearly states it retrieves table data with optional column filtering via Google Sheets API. It distinguishes from sibling read tools like get_sheet_cells_by_notation/rang and get_table_metadata_tool by focusing on table-level data retrieval.

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 explains when to use which internal method (with/without column_names) but does not explicitly guide when to choose this tool over siblings like get_sheet_cells_by_range_tool or discover_spreadsheets_tool. Usage context is implied but lacks alternative exclusions.

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

get_table_metadata_toolA
Get comprehensive metadata for tables in Google Sheets.

This tool provides detailed information about table structure, columns, data types,
formatting, statistics, and other properties. If no table name is provided, returns 
metadata for all tables.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    table_name: Name of the table to get metadata for (optional)
    include_sample_data: Whether to include sample data rows
    include_formulas: Whether to include formula information
    include_formatting: Whether to include cell formatting details
    include_statistics: Whether to include data statistics
    max_sample_rows: Maximum number of sample rows to return
    specific_columns: List of column names to get metadata for (optional)
    exclude_metadata_types: List of metadata types to exclude

Returns:
    JSON string containing table metadata or list of all tables
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
table_nameNoName of the table to get metadata for. If not provided, returns metadata for all tables in the sheet.
include_sample_dataNoWhether to include sample data rows
include_formulasNoWhether to include formula information
include_formattingNoWhether to include cell formatting details
include_statisticsNoWhether to include data statistics
max_sample_rowsNoMaximum number of sample rows to return
specific_columnsNoList of column names to get metadata for (optional)
exclude_metadata_typesNoList of metadata types to exclude (e.g., ['sample_data', 'formatting', 'statistics', 'merges', 'conditional_formatting', 'filters'])

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so the description carries full burden. It implies read-only behavior with 'Get metadata', but does not explicitly confirm it does not modify data. The return format is mentioned but lacks details on error conditions or 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.

Conciseness3/5

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

The description is moderately concise, with a clear overview and structured Args/Returns. However, the Args section is verbose and redundantly lists parameters, increasing length without adding new information.

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 complexity (10 params, output schema exists), the description covers parameter usage, behavior for optional inputs, and return type. It lacks explicit error handling notes or limits, but is generally complete for effective 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 coverage is 100%, so all parameters already have descriptions. The description's Args section largely duplicates the schema, adding marginal value. It clarifies the optional nature of table_name and sample data inclusion, but does not provide deeper 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 it gets comprehensive metadata for tables in Google Sheets, specifying verb+resource (get metadata) and scope (tables in spreadsheet/sheet). It distinguishes from siblings like get_table_data_tool by focusing on structure, columns, and statistics rather than raw cell values.

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

Usage Guidelines4/5

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

The description provides clear context: use when detailed table structure is needed, and explains behavior when table_name is omitted (returns all tables). However, it does not explicitly say when not to use or mention alternative tools, leaving some ambiguity.

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

update_dropdown_options_toolA
Update dropdown options in a table column.

This tool can add or remove specific dropdown options from an existing column in a table.
For 'add' action: Adds new options to existing dropdown (preserves existing options).
For 'remove' action: Removes specific options from existing dropdown.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    table_name: Name of the table to update dropdown options in
    action: Action to perform - "add" or "remove"
    column_name: Name of the column to update dropdown options for
    dropdown_options: List of dropdown options to add/remove

Returns:
    JSON string with success status and dropdown update details
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
table_nameYesName of the table to update dropdown options in
actionYesAction to perform: 'add' or 'remove'
column_nameYesName of the column to update dropdown options for
dropdown_optionsNoList of dropdown options to add/remove (required for 'add' and 'remove' actions)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that add preserves existing options and remove deletes specific options, but does not mention potential side effects (e.g., impact on existing data) or authentication needs.

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 front-loaded with purpose and structured with Args/Returns, but includes some redundancy (e.g., repeating parameter types). Could be slightly more concise.

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 tool's complexity (6 parameters, output schema provided), the description covers all necessary aspects: actions, parameter usage, and return format. No missing information.

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?

Input schema has 100% coverage, baseline is 3. Description adds value by explaining the effect of actions on dropdown options (e.g., 'preserves existing options'), which goes beyond schema descriptions.

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

Purpose5/5

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

The description clearly states 'Update dropdown options in a table column' and specifies add/remove actions, distinguishing it from sibling tools that add/delete columns or records.

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

Usage Guidelines4/5

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

The description provides clear context for when to use add vs remove actions but does not explicitly state when not to use this tool or compare with alternatives.

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

update_sheet_titles_toolC

Update sheet titles in a Google Spreadsheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_namesYesList of sheet names to rename (put only the names of the sheets you want to rename)
new_titlesYesList of new titles for the sheets

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behaviors. It only states the action without mentioning side effects (e.g., overwriting existing titles), permission requirements, or reversibility. The schema covers parameters, but the description adds minimal 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.

Conciseness4/5

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

The description is a single, front-loaded sentence that conveys the core action. It is efficient with no extraneous text. However, it is very brief, which limits the depth of 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 tool with three required parameters and an output schema (not shown), the description is adequate but not complete. It lacks context on return values, error conditions, or typical use cases. The presence of an output schema reduces the need to describe return values, but the description could still be more informative.

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 each parameter has a meaning. The description does not add additional semantics beyond the schema. Baseline score of 3 is appropriate as the schema already does the work.

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 verb (Update) and resource (sheet titles in a Google Spreadsheet). It distinguishes from sibling tools like update_spreadsheet_title_tool and update_table_title_tool by specifying 'sheet titles'. However, it could be more precise by mentioning that it renames sheets.

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 create_sheets_tool or delete_sheets_tool. It does not mention prerequisites, context, or exclude scenarios, leaving the agent to infer usage from the name alone.

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

update_spreadsheet_title_toolC

Update a Google Spreadsheet title.

ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the spreadsheet to rename
new_titleYesThe new title for the spreadsheet

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden. It only indicates a mutation ('Update') but lacks details on permissions, idempotency, side effects, or whether the old title is overwritten. This is insufficient for an agent to understand behavioral consequences.

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

Conciseness4/5

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

The description is a single, concise sentence with no unnecessary words. It is front-loaded with the core action. However, it might be overly terse given the need for behavioral transparency.

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 2 required parameters and existence of an output schema, the description lacks sufficient context about the tool's behavior, output, prerequisites, and how it differs from similar tools. It is minimally complete only for the basic 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%, with each parameter having a clear description. The tool description adds no additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action (Update) and resource (Google Spreadsheet title), making the purpose understandable. However, it does not distinguish from the sibling tool 'update_sheet_titles_tool', which could cause confusion between updating the spreadsheet title vs. sheet titles.

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, when not to use it, or alternatives. Given the sibling tool for updating sheet titles, usage context would be valuable to avoid misuse.

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

update_table_cells_by_notation_toolA
Update specific cells in a table.

This tool updates multiple cells in a table with new values using A1 notation.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    table_name: Name of the table to update
    cell_updates: List of cell updates with cell_notation and value

Returns:
    JSON string with success status and update details
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
table_nameYesName of the table to update
cell_updatesYesList of cell updates, each containing: - cell_notation: Cell reference in A1 notation (e.g., 'A1', 'B5') - value: New value for the cell (string, number, boolean, or None) EXAMPLE: [ {"cell_notation": "A1", "value": "New Value"}, {"cell_notation": "B5", "value": 50000}, {"cell_notation": "C10", "value": True} ]

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It states the tool returns a JSON string with success status and update details, but does not disclose error handling, preconditions, or side effects beyond overwriting cells. This is adequate for a straightforward update.

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

Conciseness3/5

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

The description is functional but somewhat verbose with the Args section repeating schema details. It could be more concise by front-loading the purpose and omitting redundant parameter listings.

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 that an output schema exists (as indicated by context signals), the description adequately covers the tool's purpose and parameters. It mentions the return format, which suffices for this straightforward update 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 coverage is 100% and the schema itself provides detailed descriptions, including an example for cell_updates. The description's Args section adds minimal extra value beyond repeating schema info, so a 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 it updates multiple cells in a table using A1 notation, distinguishing it from the sibling update_table_cells_by_range_tool which updates by range. The verb 'update' and resource 'table cells' are specific and unambiguous.

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

Usage Guidelines4/5

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

The description explains the tool updates cells using A1 notation, implying use for individual cell modifications vs. range updates. However, it does not explicitly state when not to use it or provide alternatives, which would make it more complete.

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

update_table_cells_by_range_toolB
Update table cells by range.

This tool updates cell data in a specific range within a table.
You can specify the exact cell range using A1 notation.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    table_name: Name of the table to update
    start_cell: Starting cell reference (e.g., 'A1', 'B2')
    end_cell: Ending cell reference (e.g., 'C5', 'D10')
    cell_values: 2D array of values to update (rows x columns)

Returns:
    JSON string with update details
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
table_nameYesName of the table to update
start_cellYesStarting cell reference (e.g., 'A1', 'B2')
end_cellYesEnding cell reference (e.g., 'C5', 'D10')
cell_valuesYes2D array of values to update (rows x columns) Must match the range dimensions based on start_cell and end_cell. EXAMPLE: For range 'A1:C2', you need 2 rows x 3 columns: [ ['Value1', 'Value2', 'Value3'], ['Value4', 'Value5', 'Value6'] ]

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It states 'update' but does not disclose behavioral traits such as whether the operation is idempotent, permissions required, or side effects like overwriting existing data.

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 well-structured with a clear purpose at the top, but the Args/Returns block is somewhat verbose for a simple update tool. Could be more concise.

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 presence of an output schema, the description adequately covers core functionality. However, it lacks differentiation from sibling tools and does not mention edge cases or error conditions.

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%, baseline 3. The description adds value by explaining the cell_values parameter with a concrete example matching the range dimensions, which is not 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 'Update table cells by range' and explains the use of A1 notation, distinguishing it from the sibling 'update_table_cells_by_notation_tool' which uses a different addressing scheme.

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 like 'update_table_cells_by_notation_tool' or other table update tools. The description does not mention contexts or exclusions.

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

update_table_column_name_toolA
Update column names in a table.

This tool updates existing column names in a table by their index.
The number of column indices must match the number of new column names.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    table_name: Name of the table to update column names in
    column_indices: List of column indices to update (0-based)
    new_column_names: List of new column names

Returns:
    JSON string with success status and update details
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
table_nameYesName of the table to update column names in
column_indicesYesList of column indices to update (0-based)
new_column_namesYesList of new column names (must match column_indices count)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

The description explains the matching requirement and return format (JSON with success status and details). However, it does not discuss whether the operation is reversible, potential side effects on formulas, or required permissions.

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 concise with two short paragraphs. The first sentence provides the main action, and the Args section is structured. Some redundancy exists but it remains clear.

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

Completeness4/5

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

The description covers all key aspects: action, parameters, constraint, and return value. With full schema coverage and an output schema, it is adequately complete.

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

Parameters3/5

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

Schema coverage is 100%, so the description does not add significant meaning beyond the schema. The matching constraint is already noted in the schema's new_column_names description.

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 it updates column names in a table, specifies the method (by index), and includes a constraint (matching counts). This distinguishes it from siblings like update_table_column_type_tool and update_table_title_tool.

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. While the name and description imply column renaming, it does not mention when not to use it or suggest other tools for adding/deleting columns.

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

update_table_column_type_toolA
Update column types in a table.

This tool updates the data type of existing columns in a table.
The number of column names must match the number of new column types.

Available column types:
- DOUBLE: Numeric data with decimals
- CURRENCY: Monetary values ($#,##0.00)
- PERCENT: Percentage values (0.00%)
- DATE: Date values (yyyy-mm-dd)
- TIME: Time values (hh:mm:ss)
- DATE_TIME: Date and time values
- TEXT: Plain text data
- BOOLEAN: True/false values
- DROPDOWN: Selection from predefined options

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    table_name: Name of the table to update column types in
    column_names: List of column names to update types for
    new_column_types: List of new column types

Returns:
    JSON string with success status and type update details
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
table_nameYesName of the table to update column types in
column_namesYesList of column names to update types for
new_column_typesYesList of new column types (must match column_names count)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It does not mention potential data loss when converting column types, permissions required, or whether the operation is reversible. This is a significant gap for a mutation tool.

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

Conciseness4/5

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

The description is well-structured with a clear opening, a list of types, and parameter definitions. It is slightly verbose but front-loaded and efficient. Minor redundancy could be trimmed.

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?

The description covers usage and return format adequately, but lacks critical behavioral context (e.g., data loss risks). Given the tool's moderate complexity and full schema coverage, it is partially complete but missing safety information.

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 descriptions cover all parameters (100% coverage). The description adds value by listing valid column types and stating the matching rule, enhancing understanding beyond the schema alone.

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

Purpose5/5

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

The description clearly states the tool's purpose: updating column types in a table. It lists all available types and enforces a matching constraint between column names and new types. This distinguishes it from sibling tools like update_table_column_name_tool or delete_table_column_tool.

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 explains what the tool does and lists available types, but does not explicitly guide when to use this tool vs alternatives or when not to use it. No exclusions or preconditions are mentioned, leaving the agent to infer usage context.

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

update_table_sorting_toolA
Update table sorting by a specific column.

This tool sorts all data rows in a table based on a specified column.
The header row remains in place, and data rows are reordered.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    table_name: Name of the table to sort
    column_name: Name of the column to sort by
    sort_order: Sort order - "ASC" or "DESC" (default: "ASC")

Returns:
    JSON string with success status and sorting details
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
table_nameYesName of the table to sort
column_nameYesName of the column to sort by
sort_orderNoSort order: 'ASC' or 'DESC' (default: 'ASC')ASC

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

The description discloses that data rows are reordered while the header row remains, and that it returns a JSON string with status and details. With no annotations, it provides adequate behavioral insight, though it omits potential side effects or permission requirements.

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

Conciseness4/5

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

The description is concise with a clear structure, including Args and Returns sections. However, the Args section redundantly lists parameters already defined in the schema, slightly reducing 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?

Given the tool has 5 parameters with full schema coverage and an output schema, the description covers the main behavioral aspects and return format. It lacks error handling or prerequisite details, but is sufficient for a single-purpose mutation tool.

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%, and the description repeats parameter descriptions from the schema without adding significant new meaning. The default value for sort_order is already in the schema, so the description adds marginal 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 it updates table sorting by a specific column, with explicit mention that the header row remains and data rows are reordered. This distinguishes it from sibling tools like add_table_column_tool or delete_table_records_tool.

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 explains what the tool does but does not provide guidance on when to use it versus alternatives, or when not to use it. It lacks explicit usage context, relying only on implicit purpose.

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

update_table_title_toolB
Update a table title in Google Sheets.

This tool allows you to update the title of an existing table.
The table structure and data remain unchanged.

Args:
    spreadsheet_name: Name of the spreadsheet
    sheet_name: Name of the sheet containing the table
    old_table_name: Current name of the table to update
    new_table_name: New title for the table

Returns:
    JSON string with success status and update details
ParametersJSON Schema
NameRequiredDescriptionDefault
spreadsheet_nameYesThe name of the Google Spreadsheet
sheet_nameYesThe name of the sheet containing the table
old_table_nameYesCurrent name of the table to update
new_table_nameYesNew title for the table

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It discloses that the table structure and data remain unchanged, which is helpful. However, it does not mention permissions, error behavior (e.g., missing table), or idempotency, leaving gaps for an agent to infer.

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 concise, with a clear opening sentence, a short explanation of side effects, and structured Args/Returns sections. Every sentence serves a purpose without 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?

Given the tool's simplicity and the presence of an output schema, the description covers the essential aspects: purpose, unchanged data, parameters, and return type. It lacks edge cases but is sufficiently complete for typical 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?

Input schema has 100% description coverage, so the baseline is 3. The description's Args section adds minimal extra meaning beyond the schema, simply restating parameter names and brief purpose. It does not clarify formats or constraints.

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 verb (update), resource (table title in Google Sheets), and the scope (existing table). It is unambiguous but does not explicitly differentiate from sibling tools like update_sheet_titles_tool or update_table_column_name_tool.

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, nor does it mention prerequisites or conditions like table existence or ownership. It lacks explicit context for selection among siblings.

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. 24 tool updates
    • First observedadd_table_column_tool
    • First observedadd_table_records_tool
    • First observedanalyze_sheet_structure_tool
    • First observedcreate_duplicate_sheet_tool
    • First observedcreate_sheets_tool
    • First observedcreate_table_tool
    • First observeddelete_sheets_tool
    • First observeddelete_table_column_tool
    • First observeddelete_table_records_tool
    • First observeddelete_table_tool
    • First observeddiscover_spreadsheets_tool
    • First observedget_sheet_cells_by_notation_tool
    • First observedget_sheet_cells_by_range_tool
    • First observedget_table_data_tool
    • First observedget_table_metadata_tool
    • First observedupdate_dropdown_options_tool
    • First observedupdate_sheet_titles_tool
    • First observedupdate_spreadsheet_title_tool
    • First observedupdate_table_cells_by_notation_tool
    • First observedupdate_table_cells_by_range_tool
    • First observedupdate_table_column_name_tool
    • First observedupdate_table_column_type_tool
    • First observedupdate_table_sorting_tool
    • First observedupdate_table_title_tool

TDQS

A3.5/5.0

Scored across 24 tools

Disambiguation4/5

Tools are mostly distinct with clear purposes, but there is some overlap between cell update tools (by notation vs by range) and between getting cell data (by notation vs by range). However, these are differentiated by input methods, so agents can select appropriately.

Naming Consistency4/5

Most tools follow a verb_noun pattern (create_, delete_, update_, get_, etc.) with 'tool' suffix consistently applied. Slight inconsistency: some tools omit 'tool' (e.g., discover_spreadsheets vs get_sheet_cells_by_notation_tool), but overall pattern is predictable.

Tool Count4/5

24 tools is on the high side for a single server but justified given the comprehensive coverage of sheet and table operations, cell manipulation, and metadata. Each tool serves a specific purpose with no redundancy.

Completeness4/5

The tool set covers most CRUD operations for sheets and tables, plus cell-level operations, metadata retrieval, and table configuration. Minor gaps like lack of a tool to merge cells or to copy sheets (though duplicate sheet exists). Core workflows are well supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

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

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

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