Skip to main content
Glama
taylorwilsdon

Google Workspace MCP Server - Control Gmail, Calendar, Docs, Sheets, Slides, Chat, Forms & Drive

Import to Google Sheets

import_to_google_sheets

Import XLSX, XLS, ODS, CSV, or TSV files into Google Sheets with automatic conversion, preserving rows, columns, sheets, and values.

Instructions

Imports a spreadsheet (XLSX, XLS, ODS, CSV, TSV) into Google Sheets format with automatic conversion.

Google Drive automatically converts the source spreadsheet to native Google Sheets format, preserving rows, columns, sheets, and values. Binary sources may be passed directly as base64_content. On a local server a file on disk can also be passed by path (preferred for batch operations, so callers do not need to load full file contents into their context).

Input Schema

NameRequiredDescriptionDefault
contentNoText content for text-based formats (CSV, TSV). Use only for short snippets or content already in memory.
file_urlNoRemote URL to fetch the spreadsheet from (http/https).
file_nameYesThe name for the new Google Sheets spreadsheet; the extension is dropped from the title. Without 'source_format', its extension also sets the format of 'content' or 'base64_content' (e.g. 'Data.csv').
file_pathNoLocal file path or file:// URL for any supported format (XLSX, XLS, ODS, CSV, TSV). Appropriate for larger files than content, but file_path may still load the file into memory or perform non-streaming reads. Avoid very large files that could exceed memory or time limits; use streaming/chunked uploads or an alternative API for huge files.
folder_idNoThe ID of the parent folder. Defaults to 'root'.root
base64_sha256NoExpected SHA-256 of decoded base64_content. Recommended for binary payload integrity checks.
source_formatNoSource format hint ('xlsx', 'xls', 'ods', 'csv', 'tsv'). Auto-detected from file_name extension if not provided.
base64_contentNoStandard base64-encoded bytes for an XLSX, XLS, or ODS source.
user_google_emailYesThe user's Google email address. Required.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.2.0
    • changedInput schema / properties / file_name / description
      Previous value: -"The name for the new Google Sheets spreadsheet (extension will be ignored)."New value: +"The name for the new Google Sheets spreadsheet; the extension is dropped from the title. Without 'source_format', its extension also sets the format of 'content' or 'base64_content' (e.g. 'Data.csv')."
  2. Changed12 schema fields changedv1.28.0
    • removedInput schema / properties / base64_content / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / base64_content / type
      Added value: +"string"
    • removedInput schema / properties / base64_sha256 / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / base64_sha256 / type
      Added value: +"string"
    • removedInput schema / properties / content / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / content / type
      Added value: +"string"
    • removedInput schema / properties / file_path / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / file_path / type
      Added value: +"string"
    • removedInput schema / properties / file_url / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / file_url / type
      Added value: +"string"
    • removedInput schema / properties / source_format / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / source_format / type
      Added value: +"string"
  3. Changed2 schema fields changedv1.25.2
    • addedInput schema / properties / base64_content
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Standard base64-encoded bytes for an XLSX, XLS, or ODS source."
      +}
    • addedInput schema / properties / base64_sha256
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Expected SHA-256 of decoded base64_content. Recommended for binary payload integrity checks."
      +}
  4. Addedv1.0.1

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly=false, openWorld=true, idempotent=false, destructive=false, so the safety profile is covered. The description adds context annotations don't carry: conversion is automatic via Google Drive, rows/columns/sheets/values are preserved, and integrity can be checked with a SHA-256 of the decoded base64. It stops short of covering permissions or failure modes.

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?

Front-loaded with the core action and supported formats, then narrows to input-channel details. A parenthetical aside about context loading is slightly conversational but still informative, so it is efficiently sized without waste.

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 nine fully documented parameters and an output schema present, the description needn't explain return values. It covers format handling and the main input channels; only the relationship to adjacent spreadsheet-creation tools is left to inference.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema baseline is 3. The description still adds value by ranking the input channels — base64_content for binary sources, file_path preferred for batch operations so callers avoid loading file contents into context — which gives an agent selection logic the schema doesn't state.

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?

States a specific verb and resource — imports a spreadsheet in listed formats into native Google Sheets format — and enumerates the supported formats (XLSX, XLS, ODS, CSV, TSV), which distinguishes it from siblings like create_spreadsheet or import_to_google_doc. It never explicitly contrasts itself with those siblings, so it lands just short of a 5.

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 gives useful routing guidance among input methods (base64_content for binary, file_path on a local server and preferred for batch work), which is real usage context. However, it never says when to use this tool rather than create_spreadsheet, or when not to use it, so tool-level usage is only implied.

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

Deploy Server

Other Tools