Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.mcparmory/google-sheets

OCI · GHCR.IO/MCPARMORY/GOOGLE-SHEETS:1.0.3 · 2 COMPONENTS · SCANNED SEP 20

Create, read, and modify spreadsheet data, formatting, and sheets

0 this week 48 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency32
Schema Quality & AI Usability67
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4009 tokens (~235/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management80
  • Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

How do I install the com.mcparmory/google-sheets MCP server?

com.mcparmory/google-sheets runs locally as a container image, launched with docker run --rm -i ghcr.io/mcparmory/google-sheets:1.0.3. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · ghcr.io/mcparmory/google-sheets:1.0.3

# add to Claude Code
claude mcp add com-mcparmory-google-sheets -- docker run --rm -i ghcr.io/mcparmory/google-sheets:1.0.3
// .cursor/mcp.json
{
  "mcpServers": {
    "com-mcparmory-google-sheets": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/google-sheets:1.0.3"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-mcparmory-google-sheets": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/google-sheets:1.0.3"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add com-mcparmory-google-sheets -- docker run --rm -i ghcr.io/mcparmory/google-sheets:1.0.3
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-mcparmory-google-sheets": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/google-sheets:1.0.3"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  com-mcparmory-google-sheets:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/mcparmory/google-sheets:1.0.3"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-mcparmory-google-sheets": {
      "Transport": "stdio",
      "Command": "docker",
      "Arguments": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/google-sheets:1.0.3"
      ]
    }
  }
}
// mcp.json
{
  "mcpServers": {
    "com-mcparmory-google-sheets": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/mcparmory/google-sheets:1.0.3"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 −2
    • Stability: pass → 0.80 functional
  • 19 Sept 26 0
    • Stability: 0.97 → pass security
  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 −3
    • Stability: pass → 0.77 functional
  • 11 Sept 26 0
    • Stability: 0.97 → pass security
  • 10 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed oci/ghcr.io/mcparmory/google-sheets:1.0.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 17 exposed · ~4,009 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
append_sheet_values ~322

Appends values to the next row of a detected data table in a spreadsheet. The operation automatically locates the table within the specified range and adds new rows starting from the first column of that table.

NameTypeReqDescription
includeValuesInResponsebooleanWhen enabled, the response will include the actual values that were appended to the spreadsheet. By default, the response omits the appended values.
insertDataOptionstringSpecifies how new data should be inserted: OVERWRITE replaces existing data, while INSERT_ROWS creates new rows for the appended data.
majorDimensionstringSpecifies whether the input array is organized by rows or columns. Defaults to ROWS, where each inner array represents a single row. Use COLUMNS if each inner array represents a single column.
rangestringyesThe range in A1 notation where the operation should search for an existing data table. New values will be appended to the row immediately following the last row of the detected table.
spreadsheetIdstringyesThe unique identifier of the spreadsheet to update.
valueInputOptionstringSpecifies how the input data should be interpreted: RAW treats values as-is, while USER_ENTERED applies the same parsing as if entered through the Sheets UI (e.g., formulas, dates).
valuesarrayA two-dimensional array of values to append, where each inner array represents either a row or column depending on majorDimension. Supported types are boolean, string, and number. Null values are ign…

No output schema declared.

No examples provided.

apply_spreadsheet_updates ~173

Applies one or more updates to a spreadsheet atomically. All requests are validated before being applied; if any request is invalid, the entire batch fails and no changes are made. Responses mirror the structure of requests, with replies provided only for updates that generate them.

NameTypeReqDescription
includeSpreadsheetInResponsebooleanWhen true, includes the complete spreadsheet resource in the response after updates are applied.
requestsarrayAn ordered list of update requests to apply to the spreadsheet. Requests are processed sequentially in the order specified. If any request fails validation, no updates will be applied.
responseRangesarrayRestricts which ranges are included in the response spreadsheet. Only meaningful when the spreadsheet is included in the response.
spreadsheetIdstringyesThe unique identifier of the spreadsheet to update.

No output schema declared.

No examples provided.

clear_spreadsheet_values ~126

Clears all values from one or more specified ranges in a spreadsheet while preserving cell formatting, data validation, and other properties. Useful for resetting data while maintaining spreadsheet structure.

NameTypeReqDescription
rangesarrayOne or more cell ranges to clear, specified using A1 notation (e.g., Sheet1!A1:B2) or R1C1 notation. If omitted, no ranges will be cleared. Order of ranges does not affect the operation.
spreadsheetIdstringyesThe unique identifier of the spreadsheet to update. This ID can be found in the spreadsheet URL.

No output schema declared.

No examples provided.

clear_spreadsheet_values_by_filter ~128

Clears cell values from a spreadsheet based on one or more data filters, while preserving all formatting, validation rules, and other cell properties. Use this to selectively remove data from ranges matching your specified filter criteria.

NameTypeReqDescription
dataFiltersarrayOne or more data filters that define which ranges to clear. Each filter is evaluated independently, and all ranges matching any filter will have their values cleared. If not specified, no ranges will…
spreadsheetIdstringyesThe unique identifier of the spreadsheet to update. This ID is typically found in the spreadsheet's URL.

No output schema declared.

No examples provided.

clear_spreadsheet_values_range ~121

Clears all values from specified cells in a spreadsheet while preserving formatting, data validation, and other cell properties. Specify the spreadsheet and target range using A1 or R1C1 notation.

NameTypeReqDescription
rangestringyesThe cells to clear, specified using A1 notation (e.g., Sheet1!A1:B10) or R1C1 notation. Supports single cells, ranges, and multiple ranges.
spreadsheetIdstringyesThe unique identifier of the spreadsheet to update. This ID is typically found in the spreadsheet's URL.

No output schema declared.

No examples provided.

copy_sheet ~127

Copies a sheet from one spreadsheet to another and returns the properties of the newly created sheet. If no destination spreadsheet is specified, the sheet is copied within the same spreadsheet.

NameTypeReqDescription
destinationSpreadsheetIdstringThe unique identifier of the spreadsheet where the sheet should be copied to. If omitted, the sheet will be copied within the same spreadsheet.
sheetIdintegeryesThe unique identifier of the sheet to copy. This must be a valid sheet ID within the source spreadsheet.
spreadsheetIdstringyesThe unique identifier of the spreadsheet that contains the sheet you want to copy.

No output schema declared.

No examples provided.

create_spreadsheet ~1,093

Creates a new spreadsheet with optional configuration for sheets, properties, formatting defaults, and external data sources. Returns the newly created spreadsheet object.

NameTypeReqDescription
anglestringText rotation angle in degrees, ranging from -90 to 90. Positive angles rotate counterclockwise (LTR) or clockwise (RTL), negative angles rotate the opposite direction.
autoRecalcstringRecalculation frequency for volatile functions. Options include: on change, every minute, or every hour. Defaults to unspecified behavior.
boldbooleanWhether text in cells should be displayed in bold.
bordersBottomobjectBottom border styling for cells in the default format.
bordersLeftobjectLeft border styling for cells in the default format.
bordersRightobjectRight border styling for cells in the default format.
bordersTopobjectTop border styling for cells in the default format.
convergenceThresholdnumberConvergence threshold for iterative calculations. When successive calculation results differ by less than this value, iteration stops. Must be a double-precision number.
dataSourcesarrayList of external data sources to connect with the spreadsheet, such as BigQuery or database connections.
developerMetadataarrayDeveloper metadata key-value pairs to associate with the spreadsheet for custom tracking or integration purposes.
fontFamilystringFont family name for text styling (e.g., Arial, Times New Roman).
fontSizestringFont size in points. Must be a 32-bit integer.
foregroundColorStyleobjectForeground color styling for text. Takes precedence over the foreground_color field if both are set.
horizontalAlignmentstringHorizontal alignment for cell values: left, center, or right alignment.
hyperlinkDisplayTypestringHow hyperlinks should display in cells: as clickable links or as plain text.
importFunctionsExternalUrlAccessAllowedbooleanWhether to allow external URL access for image and import functions. Read-only when true. May be overridden by admin URL allowlist settings.
italicbooleanWhether text in cells should be displayed in italics.
linkobjectHyperlink destination URL for text. Setting this clears any existing cell-level links. Link color and underline formatting are applied automatically unless overridden.
localestringSpreadsheet locale in ISO 639-1 format (e.g., 'en'), ISO 639-2 format (e.g., 'fil'), or combined language-country format (e.g., 'en_US'). Not all locales are supported for updates.
maxIterationsstringMaximum number of calculation rounds to perform when iterative calculation is enabled. Must be a 32-bit integer.
namedRangesarrayNamed ranges to define in the spreadsheet, allowing cells or ranges to be referenced by custom names instead of cell coordinates.
paddingBottomstringBottom padding in pixels for cells in the default format. Must be a 32-bit integer.
paddingLeftstringLeft padding in pixels for cells in the default format. Must be a 32-bit integer.
paddingRightstringRight padding in pixels for cells in the default format. Must be a 32-bit integer.
paddingTopstringTop padding in pixels for cells in the default format. Must be a 32-bit integer.
patternstringNumber format pattern string (e.g., for dates, currency, decimals). If not specified, a default pattern based on spreadsheet locale will be used.
primaryFontFamilystringPrimary font family name used as the default for the spreadsheet.
rgbColorobjectRGB color object for styling. Note that the alpha (transparency) channel is not generally supported by the API.
sheetsarrayArray of sheet objects that define the individual sheets within the spreadsheet.
strikethroughbooleanWhether text in cells should have a strikethrough line.
textDirectionstringText direction for cell content: left-to-right or right-to-left for language support.
themeColorstringTheme color selection from the spreadsheet's color palette, such as text, background, accent colors, or link color.
themeColorsarrayComplete set of theme color pairs for the spreadsheet. All theme color pairs must be provided together when updating.
timeZonestringSpreadsheet time zone in CLDR format (e.g., 'America/New_York'). Custom time zones like 'GMT-07:00' are supported if the standard zone isn't recognized.
titlestringTitle or name of the spreadsheet.
typestringNumber format type such as text, number, percent, currency, date, time, date-time, or scientific notation. Required when setting number formats.
underlinebooleanWhether text in cells should be underlined.
verticalbooleanIf true, text reads vertically from top to bottom while individual characters maintain their standard orientation.
verticalAlignmentstringVertical alignment for cell values: top, middle, or bottom alignment.
wrapStrategystringText wrapping strategy: overflow into adjacent cells, legacy wrap, clip excess text, or wrap to multiple lines.

No output schema declared.

No examples provided.

get_developer_metadata ~89

Retrieves a specific developer metadata entry from a spreadsheet by its unique metadata ID. Use this to access custom metadata properties attached to spreadsheet resources.

NameTypeReqDescription
metadataIdintegeryesThe unique identifier of the developer metadata entry to retrieve. This is a numeric ID assigned when the metadata was created.
spreadsheetIdstringyesThe unique identifier of the spreadsheet containing the developer metadata you want to retrieve.

No output schema declared.

No examples provided.

get_spreadsheet ~141

Retrieves a spreadsheet by its ID with optional support for specific cell ranges and grid data. By default, grid data is excluded; use field masks or the includeGridData parameter to include it.

NameTypeReqDescription
rangesarrayOptional cell ranges to retrieve from the spreadsheet, specified using A1 notation (e.g., A1, A1:D5, or Sheet2!A1:C4). Multiple ranges can be specified to retrieve data from different areas or sheets…
spreadsheetIdstringyesThe unique identifier of the spreadsheet to retrieve. This ID is required to access the correct spreadsheet.

No output schema declared.

No examples provided.

get_spreadsheet_values_batch ~296

Retrieves one or more ranges of values from a spreadsheet. Specify the spreadsheet ID and one or more ranges to fetch, with options to control how values and dates are formatted in the response.

NameTypeReqDescription
dateTimeRenderOptionstringControls how dates, times, and durations are represented in the output. Choose between serial number format (numeric representation) or formatted string. This setting is ignored if values are returne…
majorDimensionstringDetermines the orientation of returned data. Use ROWS to return data organized by rows (each inner array is a row), COLUMNS to return data organized by columns (each inner array is a column), or DIME…
rangesarrayThe cell ranges to retrieve, specified in A1 notation or R1C1 notation. Provide as an array of range strings (e.g., ['A1:B10', 'D5:E20']). If omitted, the entire sheet is retrieved.
spreadsheetIdstringyesThe unique identifier of the spreadsheet to retrieve data from.
valueRenderOptionstringControls how cell values are represented in the output. Choose FORMATTED_VALUE to return values as displayed in the spreadsheet, UNFORMATTED_VALUE for raw values, or FORMULA to return formulas as tex…

No output schema declared.

No examples provided.

get_spreadsheet_values_by_filter ~259

Retrieves one or more ranges of values from a spreadsheet that match specified data filters. Multiple ranges matching any of the provided filters are returned in a single response.

NameTypeReqDescription
dataFiltersarrayOne or more data filters that define which ranges to retrieve. Any ranges matching at least one filter will be included in the response.
dateTimeRenderOptionstringControls how dates, times, and durations are formatted in the output. Choose SERIAL_NUMBER for numeric representation or FORMATTED_STRING for human-readable text. This setting is ignored when valueRe…
majorDimensionstringSpecifies whether results should be organized by rows or columns. ROWS returns data as nested arrays where each inner array is a row; COLUMNS returns data where each inner array is a column. Defaults…
spreadsheetIdstringyesThe unique identifier of the spreadsheet to retrieve data from.
valueRenderOptionstringControls how cell values are represented in the output. FORMATTED_VALUE shows values as displayed in the spreadsheet, UNFORMATTED_VALUE shows raw values, and FORMULA shows the actual formulas. Defaul…

No output schema declared.

No examples provided.

read_spreadsheet_range ~247

Retrieves cell values from a specified range in a spreadsheet. Supports flexible formatting options for dates, times, and formulas, with configurable output structure.

NameTypeReqDescription
dateTimeRenderOptionstringControls how dates, times, and durations are formatted in the response. Choose SERIAL_NUMBER for numeric representation or FORMATTED_STRING for human-readable text. Ignored when valueRenderOption is…
majorDimensionstringDetermines the structure of the returned data. ROWS returns data organized by rows (default behavior), COLUMNS returns data organized by columns. This affects how nested arrays are structured in the…
rangestringyesThe cell range to retrieve, specified using A1 notation (e.g., Sheet1!A1:B10) or R1C1 notation.
spreadsheetIdstringyesThe unique identifier of the spreadsheet to read from.
valueRenderOptionstringSpecifies how cell values should be represented. FORMATTED_VALUE returns values as displayed in the spreadsheet, UNFORMATTED_VALUE returns raw values, and FORMULA returns the actual formulas. Default…

No output schema declared.

No examples provided.

retrieve_spreadsheet_by_data_filter ~111

Retrieves a spreadsheet by ID with the ability to filter which data ranges are returned. Use data filters to selectively fetch specific portions of the spreadsheet, optionally including grid data.

NameTypeReqDescription
dataFiltersarrayOne or more data filters that specify which ranges to return from the spreadsheet. When multiple filters are provided, the response includes data from all matching ranges. If omitted, only spreadshee…
spreadsheetIdstringyesThe unique identifier of the spreadsheet to retrieve.

No output schema declared.

No examples provided.

search_developer_metadata ~109

Search for developer metadata entries in a spreadsheet that match specified criteria. Returns all metadata matching the provided data filters, which can target specific metadata lookups or location-based regions.

NameTypeReqDescription
dataFiltersarrayOne or more data filters that define the search criteria. Metadata matching any of the specified filters will be included in the results. Filters can target specific metadata lookups or location regi…
spreadsheetIdstringyesThe unique identifier of the spreadsheet to search for developer metadata.

No output schema declared.

No examples provided.

update_sheet_values ~258

Updates cell values in a spreadsheet within a specified range using A1 notation. Specify how input data should be interpreted (raw or user-entered formulas) and optionally retrieve the updated values in the response.

NameTypeReqDescription
includeValuesInResponsebooleanWhen enabled, the response includes the actual values written to the cells. By default, responses omit updated values.
majorDimensionstringDetermines how the values array is organized: ROWS means each inner array represents a row, COLUMNS means each inner array represents a column. Defaults to ROWS if unspecified.
rangestringyesThe target range in A1 notation (e.g., 'Sheet1!A1:B10') where values will be written.
spreadsheetIdstringyesThe unique identifier of the spreadsheet to update.
valueInputOptionstringSpecifies how input data should be interpreted: RAW treats values as-is, USER_ENTERED evaluates formulas and formats. Defaults to RAW if unspecified.
valuesarrayA 2D array of values to write, where each inner array represents either a row or column depending on majorDimension. Supported types are boolean, string, and number; null values are ignored, and empt…

No output schema declared.

No examples provided.

update_sheet_values_batch ~188

Updates multiple ranges of cells in a spreadsheet with new values. Specify which ranges to update, how to interpret the input data, and optionally request the updated values in the response.

NameTypeReqDescription
dataarrayAn array of value ranges to update, where each range specifies the target cells and the values to write. Order matters as ranges are processed sequentially.
includeValuesInResponsebooleanWhen enabled, the response includes the actual values written to the cells, including all values in the requested range (excluding trailing empty rows and columns). Disabled by default.
spreadsheetIdstringyesThe unique identifier of the spreadsheet to update.
valueInputOptionstringSpecifies how the input data should be interpreted: RAW treats values as-is without formula parsing, USER_ENTERED parses formulas and formats like a user entering data manually, or UNSPECIFIED uses t…

No output schema declared.

No examples provided.

update_spreadsheet_values_by_filter ~221

Updates cell values in one or more ranges of a spreadsheet using data filters to target specific cells. Allows you to set values across multiple matched ranges simultaneously and optionally retrieve the updated values in the response.

NameTypeReqDescription
dataarrayArray of data filter value ranges specifying which cells to update and what values to apply. When multiple ranges match a filter, the same values are applied to all matched ranges.
includeValuesInResponsebooleanIf true, the response will include the actual values that were written to the cells. By default, responses omit updated values. When enabled, the response includes all values in the requested range,…
spreadsheetIdstringyesThe unique identifier of the spreadsheet to update.
valueInputOptionstringSpecifies how the input data should be interpreted: RAW treats values as-is without parsing, USER_ENTERED applies the same parsing as if entered through the Sheets UI (formulas, dates, etc.), or INPU…

No output schema declared.

No examples provided.

Common questions

What is the com.mcparmory/google-sheets MCP server?

com.mcparmory/google-sheets is an MCP server listed in the public MCP registry as com.mcparmory/google-sheets. Create, read, and modify spreadsheet data, formatting, and sheets. This page covers its container image (ghcr.io/mcparmory/google-sheets:1.0.3).

Is the com.mcparmory/google-sheets MCP server safe to use?

com.mcparmory/google-sheets scores 48 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the com.mcparmory/google-sheets MCP server expose?

com.mcparmory/google-sheets exposes 17 tools: apply_spreadsheet_updates, create_spreadsheet, get_spreadsheet, retrieve_spreadsheet_by_data_filter, get_developer_metadata, and 12 more. Their descriptions and schemas cost roughly 4,009 tokens of context every time the server is loaded.

Is the com.mcparmory/google-sheets MCP server still maintained?

com.mcparmory/google-sheets is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.