CCM
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
henilcalagiya avatar

Google Sheets Mcp

henilcalagiya/google-sheets-mcp
1438 toolsSTDIOregistry active
Summary

Bridges Claude to Google Sheets via service account authentication, giving you full CRUD operations on spreadsheets without leaving your MCP client. You get tools to create, read, update, and delete sheets and tables directly through the API. Setup involves creating a Google Cloud service account, enabling the Sheets and Drive APIs, then dropping credentials into your MCP config as environment variables. Once configured, share your target spreadsheet with the service account email and you're ready to automate. Works with Claude Desktop, Continue.dev, and other MCP compatible clients. Runs via uvx, so no manual installation required.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →

Tools

Public tool metadata for what this MCP can expose to an agent.

38 tools
GOOGLESHEETS_ADD_SHEETAdds a new sheet (worksheet) to a spreadsheet. Use this tool to create a new tab within an existing Google Sheet, optionally specifying its title, index, size, and other properties. IMPORTANT: - Always provide the spreadsheetId. Use 'Search Spreadsheets' action if you need to...2 params

Adds a new sheet (worksheet) to a spreadsheet. Use this tool to create a new tab within an existing Google Sheet, optionally specifying its title, index, size, and other properties. IMPORTANT: - Always provide the spreadsheetId. Use 'Search Spreadsheets' action if you need to...

Parameters* required
propertiesvalue
The properties the new sheet should have. All properties are optional. If none are specified, a default sheet will be created.
spreadsheetIdstring
The ID of the spreadsheet to add the sheet to. This is the long string of characters in the URL of your Google Sheet. Use the 'Search Spreadsheets' action first to find the spreadsheet ID by name i...
GOOGLESHEETS_AGGREGATE_COLUMN_DATASearches for rows where a specific column matches a value and performs mathematical operations on data from another column.9 params

Searches for rows where a specific column matches a value and performs mathematical operations on data from another column.

Parameters* required
case_sensitiveboolean
Whether the search should be case-sensitive. Examples: true falsedefault: true
has_header_rowboolean
Whether the first row contains column headers. If True, column names can be used for search_column and target_column. Examples: true falsedefault: true
operationstring
The mathematical operation to perform on the target column values. Examples: "sum" "average" "count" "min" "max" "percentage"one of sum · average · count · min · max · percentage
percentage_totalnumber
For percentage operation, the total value to calculate percentage against. If not provided, uses sum of all values in target column. Examples: 10000 50000.5
search_columnstring
The column to search in. Can be a letter (e.g., 'A', 'B') or column name from header row (e.g., 'Region', 'Department'). Examples: "A" "Region" "Department"
search_valuestring
The exact value to search for in the search column. Case-sensitive by default. Examples: "HSR" "Sales" "North Region"
sheet_namestring
The name of the specific sheet within the spreadsheet. Examples: "Sheet1" "Sales Data"
spreadsheet_idstring
The unique identifier of the Google Sheets spreadsheet. Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
target_columnstring
The column to aggregate data from. Can be a letter (e.g., 'C', 'D') or column name from header row (e.g., 'Sales', 'Revenue'). Examples: "D" "Sales" "Revenue"
GOOGLESHEETS_APPEND_DIMENSIONTool to append new rows or columns to a sheet, increasing its size. Use when you need to add empty rows or columns to an existing sheet.4 params

Tool to append new rows or columns to a sheet, increasing its size. Use when you need to add empty rows or columns to an existing sheet.

Parameters* required
dimensionstring
Specifies whether to append rows or columns. Example: "ROWS"one of ROWS · COLUMNS
lengthinteger
The number of rows or columns to append. Example: 10
sheet_idinteger
The ID of the sheet to append rows or columns to. Example: 0
spreadsheet_idstring
The ID of the spreadsheet. Example: "1q2w3e4r5t6y7u8i9o0p"
GOOGLESHEETS_BATCH_GETRetrieves data from specified cell ranges in a Google Spreadsheet.4 params

Retrieves data from specified cell ranges in a Google Spreadsheet.

Parameters* required
dateTimeRenderOptionstring
How dates and times should be rendered in the output. SERIAL_NUMBER: Dates are returned as serial numbers (default). FORMATTED_STRING: Dates returned as formatted strings.one of SERIAL_NUMBER · FORMATTED_STRINGdefault: SERIAL_NUMBER
rangesarray
A list of cell ranges in A1 notation (e.g., 'Sheet1!A1:B2', 'A1:C5') from which to retrieve data. If this list is omitted or empty, all data from the first sheet of the spreadsheet will be fetched....
spreadsheet_idstring
The unique identifier of the Google Spreadsheet from which data will be retrieved. This is the ID found in the spreadsheet URL after /d/. Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
valueRenderOptionstring
How values should be rendered in the output. FORMATTED_VALUE: Values are calculated and formatted (default). UNFORMATTED_VALUE: Values are calculated but not formatted. FORMULA: Values are not calc...one of FORMATTED_VALUE · UNFORMATTED_VALUE · FORMULAdefault: FORMATTED_VALUE
GOOGLESHEETS_BATCH_UPDATEUpdates a specified range in a Google Sheet with given values, or appends them as new rows if `first_cell_location` is omitted. Auto-expands grid for large datasets, preventing range errors. Requirements: Target sheet must exist and spreadsheet must contain at least one worksh...6 params

Updates a specified range in a Google Sheet with given values, or appends them as new rows if `first_cell_location` is omitted. Auto-expands grid for large datasets, preventing range errors. Requirements: Target sheet must exist and spreadsheet must contain at least one worksh...

Parameters* required
first_cell_locationstring
The starting cell for the update range, specified in A1 notation (e.g., 'A1', 'B2'). The update will extend from this cell to the right and down, based on the provided values. If omitted, values ar...
includeValuesInResponseboolean
If set to True, the response will include the updated values from the spreadsheet after the update is applied. Examples: true falsedefault: false
sheet_namestring
The name of the specific sheet (tab) within the spreadsheet to update. Case-sensitive. Examples: "Sheet1" "Sales Data" "Budget"
spreadsheet_idstring
The unique identifier of the Google Sheets spreadsheet to be updated. Can be found in the spreadsheet URL. Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
valueInputOptionstring
How input data should be interpreted. 'USER_ENTERED': Values are parsed as if typed by a user (e.g., strings may become numbers/dates, formulas are calculated). 'RAW': Values are stored exactly as...one of RAW · USER_ENTEREDdefault: USER_ENTERED
valuesarray
A 2D array of cell values where each inner array represents a row. Values can be strings, numbers, booleans, or None/null for empty cells. Ensure columns are properly aligned across rows. Example:...
GOOGLESHEETS_BATCH_UPDATE_VALUES_BY_DATA_FILTERTool to update values in ranges matching data filters. Use when you need to update specific data in a Google Sheet based on criteria rather than fixed cell ranges.6 params

Tool to update values in ranges matching data filters. Use when you need to update specific data in a Google Sheet based on criteria rather than fixed cell ranges.

Parameters* required
dataarray
The new values to apply to the spreadsheet. If more than one range is matched by the specified DataFilter the specified values are applied to all of those ranges.
includeValuesInResponseboolean
Determines if the update response should include the values of the cells that were updated. By default, responses do not include the updated values.default: false
responseDateTimeRenderOptionvalue
Determines how dates, times, and durations in the response should be rendered. This is ignored if responseValueRenderOption is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.default: SERIAL_NUMBER
responseValueRenderOptionvalue
Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.default: FORMATTED_VALUE
spreadsheetIdstring
The ID of the spreadsheet to update.
valueInputOptionstring
How the input data should be interpreted.one of RAW · USER_ENTERED
GOOGLESHEETS_CLEAR_BASIC_FILTERTool to clear the basic filter from a sheet. Use when you need to remove an existing basic filter from a specific sheet within a Google Spreadsheet.2 params

Tool to clear the basic filter from a sheet. Use when you need to remove an existing basic filter from a specific sheet within a Google Spreadsheet.

Parameters* required
sheet_idinteger
The ID of the sheet on which the basic filter should be cleared. Examples: 0 123456789
spreadsheet_idstring
The ID of the spreadsheet. Example: "abc123xyz789"
GOOGLESHEETS_CLEAR_VALUESClears cell content (preserving formatting and notes) from a specified A1 notation range in a Google Spreadsheet; the range must correspond to an existing sheet and cells.2 params

Clears cell content (preserving formatting and notes) from a specified A1 notation range in a Google Spreadsheet; the range must correspond to an existing sheet and cells.

Parameters* required
rangestring
The A1 notation of the range to clear values from (e.g., 'Sheet1!A1:B2', 'MySheet!C:C', or 'A1:D5'). If the sheet name is omitted (e.g., 'A1:B2'), the operation applies to the first visible sheet....
spreadsheet_idstring
The unique identifier of the Google Spreadsheet from which to clear values. This ID can be found in the URL of the spreadsheet. Examples: "1qZ_g6N0g3Z0s5hJ2xQ8vP9r7T_u6X3iY2o0kE_l5N7M" "spreαds...
GOOGLESHEETS_CREATE_CHARTCreate a chart in a Google Sheets spreadsheet using the specified data range and chart type. Conditional requirements: - Provide either a simple chart via chart_type + data_range (basicChart), OR supply a full chart_spec supporting all chart types. Exactly one approach should...13 params

Create a chart in a Google Sheets spreadsheet using the specified data range and chart type. Conditional requirements: - Provide either a simple chart via chart_type + data_range (basicChart), OR supply a full chart_spec supporting all chart types. Exactly one approach should...

Parameters* required
background_bluenumber
Blue component of chart background color (0.0-1.0). If not specified, uses default. Examples: 0 0.5 1
background_greennumber
Green component of chart background color (0.0-1.0). If not specified, uses default. Examples: 0 0.5 1
background_rednumber
Red component of chart background color (0.0-1.0). If not specified, uses default. Examples: 0 0.5 1
chart_specvalue
Optional full ChartSpec object to send to the Google Sheets API. Use this to support ALL chart types and advanced options. Must set exactly one of: basicChart, pieChart, bubbleChart, candlestickCha...
chart_typestring
The type of chart to create. Supported types: BAR, LINE, AREA, COLUMN, SCATTER, COMBO, STEPPED_AREA (basic charts), PIE, BUBBLE, CANDLESTICK, HISTOGRAM, TREEMAP, WATERFALL, ORG, SCORECARD. If you n...
data_rangestring
A single contiguous range of data for the chart in A1 notation (e.g., 'A1:C10' or 'Sheet1!B2:D20'). Must be a single continuous range - comma-separated multi-ranges (e.g., 'A1:A10,C1:C10') are not...
legend_positionstring
Position of the chart legend. Options: BOTTOM_LEGEND, TOP_LEGEND, LEFT_LEGEND, RIGHT_LEGEND, NO_LEGEND. Examples: "BOTTOM_LEGEND" "RIGHT_LEGEND" "NO_LEGEND"default: BOTTOM_LEGEND
sheet_idinteger
The sheetId of the worksheet where the chart will be created. This is a unique non-zero integer identifier. Use 'Get Sheet Names' or 'Get Spreadsheet Info' actions to retrieve the sheetId for your...
spreadsheet_idstring
The unique identifier of the Google Sheets spreadsheet where the chart will be created. Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
subtitlestring
Optional subtitle for the chart. Examples: "Q1 2024" "Year over Year"
titlestring
Optional title for the chart. Examples: "Sales Data" "Monthly Revenue"
x_axis_titlestring
Optional title for the X-axis. Examples: "Time Period" "Categories"
y_axis_titlestring
Optional title for the Y-axis. Examples: "Revenue ($)" "Count"
GOOGLESHEETS_CREATE_GOOGLE_SHEET1Creates a new Google Spreadsheet in Google Drive using the provided title.1 params

Creates a new Google Spreadsheet in Google Drive using the provided title.

Parameters* required
titlestring
The title for the new Google Sheet. This will be the name of the file in Google Drive. Examples: "Q4 Financial Report" "Project Plan Ideas" "Meeting Notes"
GOOGLESHEETS_CREATE_SPREADSHEET_COLUMNCreates a new column in a Google Spreadsheet, requiring a valid `spreadsheet_id` and an existing `sheet_id`; an out-of-bounds `insert_index` may append/prepend the column.4 params

Creates a new column in a Google Spreadsheet, requiring a valid `spreadsheet_id` and an existing `sheet_id`; an out-of-bounds `insert_index` may append/prepend the column.

Parameters* required
inherit_from_beforeboolean
If true, the new column inherits properties (e.g., formatting, width) from the column immediately to its left (the preceding column). If false (default), it inherits from the column immediately to...default: false
insert_indexinteger
The 0-based index at which the new column will be inserted. For example, an index of 0 inserts the column before the current first column (A), and an index of 1 inserts it between the current colum...default: 0
sheet_idinteger
The numeric identifier of the specific sheet (tab) within the spreadsheet where the column will be added. Examples: "0" "123456789"
spreadsheet_idstring
The unique identifier of the Google Spreadsheet where the column will be created. Example: "1qZysYd_N2cZ9gkZ8sR7M0rP8sX5vW2bA9gV3rF1cE0"
GOOGLESHEETS_CREATE_SPREADSHEET_ROWInserts a new, empty row into a specified sheet of a Google Spreadsheet at a given index, optionally inheriting formatting from the row above.4 params

Inserts a new, empty row into a specified sheet of a Google Spreadsheet at a given index, optionally inheriting formatting from the row above.

Parameters* required
inherit_from_beforeboolean
If True, the newly inserted row will inherit formatting and properties from the row immediately preceding its insertion point. If False, it will have default formatting. Examples: true falsedefault: false
insert_indexinteger
The 0-based index at which the new row should be inserted. For example, an index of 0 inserts the row at the beginning of the sheet. If the index is greater than the current number of rows, the row...default: 0
sheet_idinteger
The numeric identifier of the sheet (tab) within the spreadsheet where the row will be inserted. This ID (gid) is found in the URL of the spreadsheet (e.g., '0' for the first sheet). Examples: 0...
spreadsheet_idstring
The unique identifier of the Google Spreadsheet. This ID is found in the URL of the spreadsheet (e.g., '1qpyC0XzHc_-_d824s2VfopkHh7D0jW4aXCS1D_AlGA'). Example: "1qpyC0XzHc_-_d824s2VfopkHh7D0jW4aXCS...
GOOGLESHEETS_DELETE_DIMENSIONTool to delete specified rows or columns from a sheet in a Google Spreadsheet. Use when you need to remove a range of rows or columns.5 params

Tool to delete specified rows or columns from a sheet in a Google Spreadsheet. Use when you need to remove a range of rows or columns.

Parameters* required
delete_dimension_requestobject
The details for the delete dimension request object.
include_spreadsheet_in_responseboolean
Determines if the update response should include the spreadsheet resource. Examples: true false
response_include_grid_databoolean
True if grid data should be returned. This parameter is ignored if a field mask was set in the request. Examples: true false
response_rangesvalue
Limits the ranges of cells included in the response spreadsheet. Example: ["Sheet1!A1:B2","Sheet2!C:C"]
spreadsheet_idstring
The ID of the spreadsheet. Example: "abc123xyz789"
GOOGLESHEETS_DELETE_SHEETTool to delete a sheet (worksheet) from a spreadsheet. Use when you need to remove a specific sheet from a Google Sheet document.2 params

Tool to delete a sheet (worksheet) from a spreadsheet. Use when you need to remove a specific sheet from a Google Sheet document.

Parameters* required
sheet_idinteger
The ID of the sheet to delete. If the sheet is of DATA_SOURCE type, the associated DataSource is also deleted. Example: 123456789
spreadsheetIdstring
The ID of the spreadsheet from which to delete the sheet. Example: "abc123xyz789"
GOOGLESHEETS_EXECUTE_SQLExecute SQL queries against Google Sheets tables. Supports SELECT, INSERT, UPDATE, and DELETE operations with familiar SQL syntax. Tables are automatically detected and mapped from the spreadsheet structure.4 params

Execute SQL queries against Google Sheets tables. Supports SELECT, INSERT, UPDATE, and DELETE operations with familiar SQL syntax. Tables are automatically detected and mapped from the spreadsheet structure.

Parameters* required
delete_methodstring
For DELETE operations: 'clear' preserves row structure, 'remove_rows' shifts data upone of clear · remove_rowsdefault: clear
dry_runboolean
Preview changes without applying them (for write operations)default: false
spreadsheet_idstring
Google Sheets ID Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
sqlstring
SQL query to execute. Supports SELECT, INSERT, UPDATE, DELETE operations. Examples: "SELECT * FROM \"Sales_Data\" LIMIT 10" "INSERT INTO \"Customers\" (name, email) VALUES ('John Doe', 'john@ex...
GOOGLESHEETS_FIND_REPLACETool to find and replace text in a Google Spreadsheet. Use when you need to fix formula errors, update values, or perform bulk text replacements across cells. Common use cases: - Fix #ERROR! cells by replacing with empty string or correct formula - Update old values with new o...9 params

Tool to find and replace text in a Google Spreadsheet. Use when you need to fix formula errors, update values, or perform bulk text replacements across cells. Common use cases: - Fix #ERROR! cells by replacing with empty string or correct formula - Update old values with new o...

Parameters* required
allSheetsboolean
Whether to search across all sheets in the spreadsheet. Examples: true falsedefault: false
findstring
The text to find. Can be a literal string or a regular expression pattern. Examples: "#ERROR!" "=SUM(A1:A10)" "old_value"
matchCaseboolean
Whether the search should be case-sensitive. Examples: true falsedefault: false
matchEntireCellboolean
Whether to match only cells that contain the entire search term. Examples: true falsedefault: false
rangestring
The A1 notation range to search in. If not specified, searches the entire sheet(s). Examples: "A1:Z100" "Sheet1!A:C" "B2:D10"
replacementstring
The text to replace the found instances with. Examples: "" "=SUM(A1:A5)" "new_value"
searchByRegexboolean
Whether to treat the find text as a regular expression. Examples: true falsedefault: false
sheetIdvalue
The ID of the sheet to search in. If not specified, searches all sheets. Examples: 0 123456789
spreadsheetIdstring
The ID of the spreadsheet to update. Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
GOOGLESHEETS_FIND_WORKSHEET_BY_TITLEFinds a worksheet by its exact, case-sensitive title within a Google Spreadsheet; returns a boolean indicating if found and the complete metadata of the entire spreadsheet, regardless of whether the target worksheet is found.2 params

Finds a worksheet by its exact, case-sensitive title within a Google Spreadsheet; returns a boolean indicating if found and the complete metadata of the entire spreadsheet, regardless of whether the target worksheet is found.

Parameters* required
spreadsheet_idstring
The unique identifier of the Google Spreadsheet. This ID is part of the spreadsheet's URL. Examples: "1aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789_drivE" "your_actual_spreadsheet_id"
titlestring
The exact, case-sensitive title of the worksheet (tab name) to find. Examples: "Sheet1" "Q3 Report" "Customer Data"
GOOGLESHEETS_FORMAT_CELLApplies text and background cell formatting to a specified range in a Google Sheets worksheet.15 params

Applies text and background cell formatting to a specified range in a Google Sheets worksheet.

Parameters* required
bluenumber
Blue component of the background color (0.0-1.0). Examples: "0.0" "0.5" "1.0"default: 0.9
boldboolean
Apply bold formatting. Examples: "true" "false"default: false
end_column_indexvalue
OPTION 2: 0-based index of the column AFTER the last column (exclusive). Required if 'range' is not provided. Must provide ALL four index fields together. Examples: 1 2 6
end_row_indexvalue
OPTION 2: 0-based index of the row AFTER the last row (exclusive). Required if 'range' is not provided. Must provide ALL four index fields together. Examples: 1 9
fontSizeinteger
Font size in points. Examples: "10" "12" "14"default: 10
greennumber
Green component of the background color (0.0-1.0). Examples: "0.0" "0.5" "1.0"default: 0.9
italicboolean
Apply italic formatting. Examples: "true" "false"default: false
rangestring
OPTION 1: Cell range in A1 notation (RECOMMENDED). Examples: 'A1' (single cell), 'F9' (cell F9), 'A1:B5' (range). Provide EITHER this field OR all four index fields below, not both. Examples: "A1...
rednumber
Red component of the background color (0.0-1.0). Examples: "0.0" "0.5" "1.0"default: 0.9
spreadsheet_idstring
Identifier of the Google Sheets spreadsheet. Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
start_column_indexvalue
OPTION 2: 0-based column index (A = 0, B = 1, F = 5). Required if 'range' is not provided. Must provide ALL four index fields together. Examples: 0 1 5
start_row_indexvalue
OPTION 2: 0-based row index (row 1 = index 0, row 9 = index 8). Required if 'range' is not provided. Must provide ALL four index fields together. Examples: 0 8
strikethroughboolean
Apply strikethrough formatting. Examples: "true" "false"default: false
underlineboolean
Apply underline formatting. Examples: "true" "false"default: false
worksheet_idinteger
ID (sheetId) of the worksheet. Use `GOOGLESHEETS_GET_SPREADSHEET_INFO` to find this ID. Example: "123456789"
GOOGLESHEETS_GET_SHEET_NAMESLists all worksheet names from a specified Google Spreadsheet (which must exist), useful for discovering sheets before further operations.1 params

Lists all worksheet names from a specified Google Spreadsheet (which must exist), useful for discovering sheets before further operations.

Parameters* required
spreadsheet_idstring
The unique identifier of the Google Spreadsheet. This ID is typically found in the spreadsheet's URL. Example: "1qpyC0XzvTcKT6EISywY_7H7D7No1tpxEXAMPLE_ID"
GOOGLESHEETS_GET_SPREADSHEET_BY_DATA_FILTERReturns the spreadsheet at the given ID, filtered by the specified data filters. Use this tool when you need to retrieve specific subsets of data from a Google Sheet based on criteria like A1 notation, developer metadata, or grid ranges.4 params

Returns the spreadsheet at the given ID, filtered by the specified data filters. Use this tool when you need to retrieve specific subsets of data from a Google Sheet based on criteria like A1 notation, developer metadata, or grid ranges.

Parameters* required
dataFiltersarray
The DataFilters used to select which ranges to retrieve.
excludeTablesInBandedRangesboolean
True if tables should be excluded in the banded ranges. False if not set. Example: false
includeGridDataboolean
True if grid data should be returned. Ignored if a field mask is set. Example: true
spreadsheetIdstring
The ID of the spreadsheet to request. Example: "abc123xyz789"
GOOGLESHEETS_GET_SPREADSHEET_INFORetrieves comprehensive metadata for a Google Spreadsheet using its ID, excluding cell data.1 params

Retrieves comprehensive metadata for a Google Spreadsheet using its ID, excluding cell data.

Parameters* required
spreadsheet_idstring
Unique identifier of the Google Spreadsheet, typically found in its URL. Example: "12345abcdefGHIJKLMNOPqrstuvwxyz67890UVWXYZ"
GOOGLESHEETS_GET_TABLE_SCHEMAThis action is used to get the schema of a table in a Google Spreadsheet, call this action to get the schema of a table in a spreadsheet BEFORE YOU QUERY THE TABLE. Analyze table structure and infer column names, types, and constraints. Uses statistical analysis of sample data...4 params

This action is used to get the schema of a table in a Google Spreadsheet, call this action to get the schema of a table in a spreadsheet BEFORE YOU QUERY THE TABLE. Analyze table structure and infer column names, types, and constraints. Uses statistical analysis of sample data...

Parameters* required
sample_sizeinteger
Number of rows to sample for type inferencedefault: 50
sheet_namestring
Sheet/tab name if table_name is ambiguous across multiple sheets
spreadsheet_idstring
Google Sheets ID Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
table_namestring
Specific table name from LIST_TABLES response (e.g., 'Sales_Data', 'Employee_List'). Use 'auto' to analyze the largest/most prominent table. Examples: "Sales_Data" "Employee_List" "auto"
GOOGLESHEETS_INSERT_DIMENSIONTool to insert new rows or columns into a sheet at a specified location. Use when you need to add empty rows or columns within an existing Google Sheet.5 params

Tool to insert new rows or columns into a sheet at a specified location. Use when you need to add empty rows or columns within an existing Google Sheet.

Parameters* required
include_spreadsheet_in_responseboolean
True if the updated spreadsheet should be included in the response.
insert_dimensionobject
The details for the insert dimension request.
response_include_grid_databoolean
True if grid data should be included in the response (if includeSpreadsheetInResponse is true).
response_rangesvalue
Limits the ranges of the spreadsheet to include in the response.
spreadsheet_idstring
The ID of the spreadsheet to update. Example: "abc123spreadsheetId"
GOOGLESHEETS_LIST_TABLESThis action is used to list all tables in a Google Spreadsheet, call this action to get the list of tables in a spreadsheet. Discover all tables in a Google Spreadsheet by analyzing sheet structure and detecting data patterns. Uses heuristic analysis to find header rows, data...4 params

This action is used to list all tables in a Google Spreadsheet, call this action to get the list of tables in a spreadsheet. Discover all tables in a Google Spreadsheet by analyzing sheet structure and detecting data patterns. Uses heuristic analysis to find header rows, data...

Parameters* required
min_columnsinteger
Minimum number of columns to consider a valid tabledefault: 1
min_confidencenumber
Minimum confidence score (0.0-1.0) to consider a valid tabledefault: 0.5
min_rowsinteger
Minimum number of data rows to consider a valid tabledefault: 2
spreadsheet_idstring
Google Sheets ID from the URL (e.g., '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms') Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
GOOGLESHEETS_LOOKUP_SPREADSHEET_ROWFinds the first row in a Google Spreadsheet where a cell's entire content exactly matches the query string, searching within a specified A1 notation range or the first sheet by default.4 params

Finds the first row in a Google Spreadsheet where a cell's entire content exactly matches the query string, searching within a specified A1 notation range or the first sheet by default.

Parameters* required
case_sensitiveboolean
If `True`, the query string search is case-sensitive.default: false
querystring
Exact text value to find; matches the entire content of a cell in a row. Examples: "John" "Completed" "ID-12345"
rangestring
A1 notation range with explicit subrange (e.g., 'Sheet1!A1:D5', 'MySheet!A:Z'). Defaults to the first sheet if omitted. IMPORTANT: Sheet names with spaces must be single-quoted (e.g., "'My Sheet'!A...
spreadsheet_idstring
Identifier of the Google Spreadsheet to search. Example: "1BiexwqQYjfC_BXy6zDQYJqb6zxzRyP9"
GOOGLESHEETS_QUERY_TABLEThis action is used to query a table in a Google Spreadsheet, call this action to query a table in a spreadsheet. Execute SQL-like SELECT queries against spreadsheet tables. Supports WHERE conditions, ORDER BY, LIMIT clauses. Call this action after calling the GET_TABLE_SCHEMA...3 params

This action is used to query a table in a Google Spreadsheet, call this action to query a table in a spreadsheet. Execute SQL-like SELECT queries against spreadsheet tables. Supports WHERE conditions, ORDER BY, LIMIT clauses. Call this action after calling the GET_TABLE_SCHEMA...

Parameters* required
include_formulasboolean
Whether to return formula text instead of calculated values for formula columnsdefault: false
spreadsheet_idstring
Google Sheets ID Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
sqlstring
SQL SELECT query. Supported: SELECT cols FROM table WHERE conditions ORDER BY col LIMIT n. Table names must be quoted if they contain spaces. Examples: "SELECT * FROM \"Sales_Data\" LIMIT 10" "...
GOOGLESHEETS_SEARCH_DEVELOPER_METADATATool to search for developer metadata in a spreadsheet. Use when you need to find specific metadata entries based on filters.2 params

Tool to search for developer metadata in a spreadsheet. Use when you need to find specific metadata entries based on filters.

Parameters* required
dataFiltersarray
The data filters describing the criteria used to determine which DeveloperMetadata entries to return.
spreadsheetIdstring
The ID of the spreadsheet to retrieve metadata from. Example: "1q2w3e4r5t6y7u8i9o0p"
GOOGLESHEETS_SEARCH_SPREADSHEETSSearch for Google Spreadsheets using various filters including name, content, date ranges, and more.8 params

Search for Google Spreadsheets using various filters including name, content, date ranges, and more.

Parameters* required
created_afterstring
Return spreadsheets created after this date. Use RFC 3339 format like '2024-01-01T00:00:00Z'. Examples: "2024-01-01T00:00:00Z" "2024-12-01T12:00:00-08:00"
include_trashedboolean
Whether to include spreadsheets in trash. Defaults to False.default: false
max_resultsvalue
Maximum number of spreadsheets to return (1-1000). Defaults to 10.default: 10
modified_afterstring
Return spreadsheets modified after this date. Use RFC 3339 format like '2024-01-01T00:00:00Z'. Examples: "2024-01-01T00:00:00Z" "2024-12-01T12:00:00-08:00"
order_bystring
Order results by field. Common options: 'modifiedTime desc', 'modifiedTime asc', 'name', 'createdTime desc' Examples: "modifiedTime desc" "name" "createdTime desc" "viewedByMeTime desc"default: modifiedTime desc
querystring
Search query to filter spreadsheets using Google Drive query syntax. ALWAYS use field names like 'name contains', 'fullText contains'. DO NOT use plain keywords without field names (wrong: 'finance...
shared_with_meboolean
Whether to return only spreadsheets shared with the current user. Defaults to False.default: false
starred_onlyboolean
Whether to return only starred spreadsheets. Defaults to False.default: false
GOOGLESHEETS_SET_BASIC_FILTERTool to set a basic filter on a sheet in a Google Spreadsheet. Use when you need to filter or sort data within a specific range on a sheet.2 params

Tool to set a basic filter on a sheet in a Google Spreadsheet. Use when you need to filter or sort data within a specific range on a sheet.

Parameters* required
filterobject
The filter to set.
spreadsheetIdstring
The ID of the spreadsheet.
GOOGLESHEETS_SHEET_FROM_JSONCreates a new Google Spreadsheet and populates its first worksheet from `sheet_json`, which must be non-empty as its first item's keys establish the headers.3 params

Creates a new Google Spreadsheet and populates its first worksheet from `sheet_json`, which must be non-empty as its first item's keys establish the headers.

Parameters* required
sheet_jsonarray
A list of dictionaries representing the rows of the sheet. Each dictionary must have the same set of keys, which will form the header row. Values can be strings, numbers, booleans, or null (represe...
sheet_namestring
The name for the first worksheet within the newly created spreadsheet. This name will appear as a tab at the bottom of the sheet. Examples: "Sheet1" "Data Summary" "October Metrics"
titlestring
The desired title for the new Google Spreadsheet. Examples: "Q3 Sales Report" "Project Plan Alpha"
GOOGLESHEETS_SPREADSHEETS_SHEETS_COPY_TOTool to copy a single sheet from a spreadsheet to another spreadsheet. Use when you need to duplicate a sheet into a different spreadsheet.3 params

Tool to copy a single sheet from a spreadsheet to another spreadsheet. Use when you need to duplicate a sheet into a different spreadsheet.

Parameters* required
destination_spreadsheet_idstring
The ID of the spreadsheet to copy the sheet to. Example: "2rY_..."
sheet_idinteger
The ID of the sheet to copy. Example: 0
spreadsheet_idstring
The ID of the spreadsheet containing the sheet to copy. Example: "1qZ_..."
GOOGLESHEETS_SPREADSHEETS_VALUES_APPENDTool to append values to a spreadsheet. Use when you need to add new data to the end of an existing table in a Google Sheet.9 params

Tool to append values to a spreadsheet. Use when you need to add new data to the end of an existing table in a Google Sheet.

Parameters* required
includeValuesInResponseboolean
Determines if the update response should include the values of the cells that were appended. By default, responses do not include the updated values. Example: true
insertDataOptionvalue
How the input data should be inserted. Example: "INSERT_ROWS"
majorDimensionvalue
The major dimension of the values. For output, if the spreadsheet data is: A1=1,B1=2,A2=3,B2=4, then requesting range=A1:B2,majorDimension=ROWS will return [[1,2],[3,4]], whereas requesting range=A...
rangestring
The A1 notation of a range to search for a logical table of data. Values are appended after the last row of the table. Example: "Sheet1!A1:B2"
responseDateTimeRenderOptionvalue
Determines how dates, times, and durations in the response should be rendered. This is ignored if responseValueRenderOption is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER....
responseValueRenderOptionvalue
Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. Example: "FORMATTED_VALUE"
spreadsheetIdstring
The ID of the spreadsheet to update. Example: "1q0gLhLdGXYZblahblahblah"
valueInputOptionstring
How the input data should be interpreted. Example: "USER_ENTERED"one of RAW · USER_ENTERED
valuesarray
The data to be written. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. Each item in the inner array corresponds with one...
GOOGLESHEETS_SPREADSHEETS_VALUES_BATCH_CLEARTool to clear one or more ranges of values from a spreadsheet. Use when you need to remove data from specific cells or ranges while keeping formatting and other properties intact.2 params

Tool to clear one or more ranges of values from a spreadsheet. Use when you need to remove data from specific cells or ranges while keeping formatting and other properties intact.

Parameters* required
rangesarray
The ranges to clear, in A1 notation or R1C1 notation. Example: ["Sheet1!A1:B2","Sheet1!C3:D4"]
spreadsheet_idstring
The ID of the spreadsheet to update. Example: "1q2w3e4r5t6y7u8i9o0p"
GOOGLESHEETS_SPREADSHEETS_VALUES_BATCH_CLEAR_BY_DATA_FILTERClears one or more ranges of values from a spreadsheet using data filters. The caller must specify the spreadsheet ID and one or more DataFilters. Ranges matching any of the specified data filters will be cleared. Only values are cleared -- all other properties of the cell (su...2 params

Clears one or more ranges of values from a spreadsheet using data filters. The caller must specify the spreadsheet ID and one or more DataFilters. Ranges matching any of the specified data filters will be cleared. Only values are cleared -- all other properties of the cell (su...

Parameters* required
dataFiltersarray
The DataFilters used to determine which ranges to clear.
spreadsheetIdstring
The ID of the spreadsheet to update.
GOOGLESHEETS_SPREADSHEETS_VALUES_BATCH_GET_BY_DATA_FILTERTool to return one or more ranges of values from a spreadsheet that match the specified data filters. Use when you need to retrieve specific data sets based on filtering criteria rather than entire sheets or fixed ranges.5 params

Tool to return one or more ranges of values from a spreadsheet that match the specified data filters. Use when you need to retrieve specific data sets based on filtering criteria rather than entire sheets or fixed ranges.

Parameters* required
dataFiltersarray
The data filters used to match the ranges of values to retrieve. Ranges that match any of the specified data filters are included in the response. Example: [{"a1Range":"Sheet1!A1:B5"}]
dateTimeRenderOptionvalue
How dates, times, and durations should be represented in the output. This is ignored if valueRenderOption is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
majorDimensionvalue
The major dimension that results should use. For example, if the spreadsheet data is: A1=1,B1=2,A2=3,B2=4, then a request that selects that range and sets majorDimension=ROWS returns [[1,2],[3,4]],...
spreadsheetIdstring
The ID of the spreadsheet to retrieve data from. Example: "1q2w3e4r5t6y7u8i9o0p"
valueRenderOptionvalue
How values should be represented in the output. The default render option is FORMATTED_VALUE.
GOOGLESHEETS_UPDATE_SHEET_PROPERTIESTool to update properties of a sheet (worksheet) within a Google Spreadsheet, such as its title, index, visibility, tab color, or grid properties. Use this when you need to modify the metadata or appearance of a specific sheet.2 params

Tool to update properties of a sheet (worksheet) within a Google Spreadsheet, such as its title, index, visibility, tab color, or grid properties. Use this when you need to modify the metadata or appearance of a specific sheet.

Parameters* required
spreadsheetIdstring
The ID of the spreadsheet containing the sheet to update.
updateSheetPropertiesobject
The details of the sheet properties to update.
GOOGLESHEETS_UPDATE_SPREADSHEET_PROPERTIESTool to update properties of a spreadsheet, such as its title, locale, or auto-recalculation settings. Use when you need to modify the overall configuration of a Google Sheet.3 params

Tool to update properties of a spreadsheet, such as its title, locale, or auto-recalculation settings. Use when you need to modify the overall configuration of a Google Sheet.

Parameters* required
fieldsstring
The fields that should be updated. Use '*' for all fields in 'properties' or a comma-separated list (e.g., 'title,locale,iterativeCalculationSettings.maxIterations'). The root 'properties' is impli...
propertiesobject
The properties to update. At least one field within properties must be set.
spreadsheetIdstring
The ID of the spreadsheet to update. Example: "abc123spreadsheetId"
GOOGLESHEETS_UPSERT_ROWSUpsert rows - update existing rows by key, append new ones. Automatically handles column mapping and partial updates. Use for: CRM syncs (match Lead ID), transaction imports (match Transaction ID), inventory updates (match SKU), calendar syncs (match Event ID). Features: - Aut...6 params

Upsert rows - update existing rows by key, append new ones. Automatically handles column mapping and partial updates. Use for: CRM syncs (match Lead ID), transaction imports (match Transaction ID), inventory updates (match SKU), calendar syncs (match Event ID). Features: - Aut...

Parameters* required
dataarray
2D array of data rows to upsert (no header row). Each row should have values matching the headers list. Cell values can be strings, numbers, booleans, or null. You can provide a subset of columns -...
headersarray
List of column names for the data. These will be matched against sheet headers. If a column doesn't exist in the sheet, it will be added automatically. Order doesn't need to match sheet order. Exam...
keyColumnstring
The column NAME to use as unique identifier for matching rows. Must match a header name exactly. Example inputs: 'Email' (for contact lists), 'ID' (for records), 'SKU' (for inventory), 'Transaction...
sheetNamestring
The name of the sheet/tab within the spreadsheet. Examples: "Leads" "Transactions" "Inventory"
spreadsheetIdstring
The ID of the spreadsheet. Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
tableStartstring
Cell where the table starts (where headers are located). Defaults to 'A1'. Use this if your table is offset (e.g., 'C5', 'D10'). Examples: "A1" "C5" "D10"default: A1

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.

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:

  • project_id (e.g., "my-sheets-automation-123456")
  • private_key_id (e.g., "a4ae73111b11b2c3b07cc01006e71eb8230dfa29")
  • private_key (the long private key starting with "-----BEGIN PRIVATE KEY-----")
  • client_email (e.g., "sheets-mcp-service@my-sheets-automation-123456.iam.gserviceaccount.com")
  • client_id (e.g., "113227823918217958816")
  • client_x509_cert_url (e.g., "https://www.googleapis.com/robot/v1/metadata/x509/sheets-mcp-service%40my-sheets-automation-123456.iam.gserviceaccount.com")

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

  • GitHub: @henilcalagiya
  • LinkedIn: Henil C Alagiya

Support & Contributions:

  • 🐛 Report Issues: GitHub Issues
  • 💬 Questions: Reach out on LinkedIn
  • 🤝 Contributions: Pull requests welcome!
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Categories
Data & Analytics
Registryactive
Packagegoogle-sheets-mcp
TransportSTDIO
UpdatedSep 11, 2025
View on GitHub

More from henilcalagiya

  • Mcp Apple Notes51

Related Data & Analytics MCP Servers

View all →
cct15 avatar
Futuristic Risk Intelligence

cct15/war-dashboard-data

Geopolitical conflict risk, political events, and maritime traffic data for AI agents
1
br0ski777 avatar
CSV to JSON API

io.github.br0ski777/csv-to-json

Parse CSV to JSON array. Auto-detect delimiter, headers. x402 micropayment.
moooonad avatar
Mcp Google Sheets Full

moooonad/mcp-google-sheets-full

Full Google Sheets MCP: 26 tools + run_sheets_script escape hatch. User OAuth, no service account.
bigquery avatar
Google BigQuery

bigquery

Run SQL queries on BigQuery datasets, list tables, and inspect schemas. Manage jobs, export results, and explore data warehouse resources.
igormilovanovic avatar
MCP Data Converter

io.github.igormilovanovic/data-converter

Convert between 200+ format pairs: JSON, CSV, XML, YAML, PDF, Excel, DOCX and more.
infoinlet-marketplace avatar
Mcp Data

io.github.infoinlet-marketplace/mcp-data

Tabular data for AI agents — load CSV/JSON/XLSX, query, group-by, stats (no database).