Skip to main content
Glama
Longtran2404

mcp-google-sheets-server

by Longtran2404

πŸš€ MCP Google Sheets Server v2.2.1

Official TaskKit MCP Server for Google Sheets - 37 tools for sheet management, formatting, charts, and automation.

This is an official open-source package in the TaskKit ecosystem, maintained by TrαΊ§n Minh Long.

TaskKit open-source catalog Β· npm Β· GitHub

Version 2.2.1 aligns the package with TaskKit's canonical identity and updates the MCP and Google API dependencies to patched supported releases.

Runtime requirement: Node.js 20 or newer.

npm version npm downloads License: MIT TypeScript


✨ Complete Sheet Management & Enhanced Charts

  • πŸ“‹ Complete Sheet Management - Create, rename, hide/show, move, duplicate, delete sheets

  • πŸ“Š Advanced Chart Creation - Create charts with data, from tables, update chart data

  • πŸ” Sheet Information - Get detailed sheet properties, list all sheets

  • 🎨 Professional Formatting - Colors, fonts, borders, conditional formatting

  • πŸ”’ Data Protection - Validation rules, range protection, access control

  • ⚑ Performance Optimized - Batch operations, efficient API usage

  • πŸš€ Enterprise Ready - 37 tools for professional Google Sheets management


πŸš€ Quick Installation

Install Node.js 20 or newer before using the package.

npm install -g mcp-google-sheets-server

Method 2: Local installation

npm install mcp-google-sheets-server

Method 3: Use npx (No installation needed)

npx mcp-google-sheets-server

πŸ” Google Service Account Authentication

Detailed Guide

See the Google Service Account setup guide for step-by-step instructions on how to get a Google Service Account key.

Quick Configuration

{
  "mcpServers": {
    "mcp-google-sheets": {
      "command": "npx",
      "args": ["mcp-google-sheets-server"],
      "env": {
        "GOOGLE_SERVICE_ACCOUNT_KEY": "your-service-account-json"
      }
    }
  }
}

πŸ“‹ Complete Tool Collection (37 Tools)

πŸ”§ Basic Operations

Tool

Description

Parameters

sheets_get_data

Get data with formatting options

spreadsheetId, range, valueRenderOption, dateTimeRenderOption

sheets_update_data

Update data with input options

spreadsheetId, range, values, valueInputOption

sheets_create

Create spreadsheet with theme

title, initialData, theme

🎨 Advanced Formatting

Tool

Description

Parameters

sheets_format_cells

Apply professional formatting

spreadsheetId, range, backgroundColor, textColor, fontSize, bold, italic, alignment, borders

sheets_conditional_formatting

Set conditional rules

spreadsheetId, range, ruleType, value, colors

sheets_merge_cells

Merge cells with options

spreadsheetId, range, mergeType

πŸ“ˆ Enhanced Charts & Visualization

Tool

Description

Parameters

sheets_create_chart

Create basic charts

spreadsheetId, chartType, dataRange, title, position

sheets_create_chart_with_data

Create charts with data

spreadsheetId, chartType, dataRange, title, position, chartOptions

sheets_create_chart_from_table

Create charts from tables

spreadsheetId, chartType, tableRange, title, useFirstRowAsLabels

sheets_update_chart

Update existing charts

spreadsheetId, chartId, title, dataRange

sheets_update_chart_data

Update chart data

spreadsheetId, chartId, newDataRange, updateTitle

sheets_delete_chart

Delete charts

spreadsheetId, chartId

sheets_list_charts

List all charts

spreadsheetId

πŸ“‹ Complete Sheet Management

Tool

Description

Parameters

sheets_create_sheet

Create new sheets

spreadsheetId, title, index

sheets_duplicate_sheet

Duplicate existing sheets

spreadsheetId, sheetId, newTitle

sheets_delete_sheet

Delete sheets

spreadsheetId, sheetId

sheets_rename_sheet

Rename sheets

spreadsheetId, sheetId, newTitle

sheets_hide_sheet

Hide sheets from view

spreadsheetId, sheetId

sheets_show_sheet

Show hidden sheets

spreadsheetId, sheetId

sheets_move_sheet

Move sheets to new position

spreadsheetId, sheetId, newIndex

sheets_get_sheet_info

Get all sheet information

spreadsheetId, includeGridData

sheets_get_sheet_properties

Get specific sheet properties

spreadsheetId, sheetId

πŸ”’ Data Validation & Protection

Tool

Description

Parameters

sheets_set_data_validation

Set validation rules

spreadsheetId, range, ruleType, values, message

sheets_protect_range

Protect ranges from editing

spreadsheetId, range, description, warningOnly

πŸ“Š Advanced Data Operations

Tool

Description

Parameters

sheets_insert_rows

Insert rows at position

spreadsheetId, sheetId, startIndex, endIndex

sheets_insert_columns

Insert columns at position

spreadsheetId, sheetId, startIndex, endIndex

sheets_delete_rows

Delete rows from position

spreadsheetId, sheetId, startIndex, endIndex

sheets_delete_columns

Delete columns from position

spreadsheetId, sheetId, startIndex, endIndex

πŸ“ Formula & Calculation

Tool

Description

Parameters

sheets_set_formula

Set formulas in cells

spreadsheetId, range, formulas

sheets_calculate_formula

Calculate formula results

spreadsheetId, formula

⚑ Batch Operations

Tool

Description

Parameters

sheets_batch_update

Multiple operations in one request

spreadsheetId, requests

sheets_batch_get

Get data from multiple ranges

spreadsheetId, ranges, valueRenderOption

πŸ” Search & Sharing

Tool

Description

Parameters

sheets_search

Search spreadsheets

query, maxResults

sheets_share

Share with permissions

spreadsheetId, email, role, message

sheets_get_metadata

Get comprehensive metadata

spreadsheetId, includeGridData

🧹 Utility Operations

Tool

Description

Parameters

sheets_clear_range

Clear content and formatting

spreadsheetId, range

sheets_copy_to

Copy sheets between spreadsheets

spreadsheetId, sheetId, destinationSpreadsheetId


πŸ› οΈ Advanced Setup Examples

Create Professional Spreadsheet with Multiple Sheets

{
  "mcpServers": {
    "mcp-google-sheets": {
      "command": "npx",
      "args": ["mcp-google-sheets-server"],
      "env": {
        "GOOGLE_SERVICE_ACCOUNT_KEY": "your-service-account-json"
      }
    }
  }
}

πŸ“š Advanced Usage Examples

Complete Sheet Management Workflow

// 1. Create spreadsheet
const spreadsheet = await mcp.callTool("sheets_create", {
  title: "Business Dashboard 2024",
  theme: "LIGHT",
});

// 2. Create multiple sheets
await mcp.callTool("sheets_create_sheet", {
  spreadsheetId: spreadsheet.spreadsheetId,
  title: "Sales Data",
  index: 1,
});

await mcp.callTool("sheets_create_sheet", {
  spreadsheetId: spreadsheet.spreadsheetId,
  title: "Charts",
  index: 2,
});

// 3. Add data to Sales Data sheet
await mcp.callTool("sheets_update_data", {
  spreadsheetId: spreadsheet.spreadsheetId,
  range: "Sales Data!A1:D6",
  values: [
    ["Month", "Revenue", "Expenses", "Profit"],
    ["January", 50000, 30000, 20000],
    ["February", 55000, 32000, 23000],
    ["March", 60000, 35000, 25000],
    ["April", 65000, 38000, 27000],
    ["May", 70000, 40000, 30000],
  ],
});

// 4. Create professional chart
await mcp.callTool("sheets_create_chart_from_table", {
  spreadsheetId: spreadsheet.spreadsheetId,
  chartType: "COLUMN",
  tableRange: "Sales Data!A1:D6",
  title: "Monthly Financial Performance",
  useFirstRowAsLabels: true,
});

// 5. Rename and organize sheets
await mcp.callTool("sheets_rename_sheet", {
  spreadsheetId: spreadsheet.spreadsheetId,
  sheetId: 0, // First sheet
  newTitle: "Summary",
});

// 6. Move Charts sheet to the end
await mcp.callTool("sheets_move_sheet", {
  spreadsheetId: spreadsheet.spreadsheetId,
  sheetId: 2, // Charts sheet
  newIndex: 3, // Move to end
});

// 7. Hide a temporary sheet if needed
await mcp.callTool("sheets_hide_sheet", {
  spreadsheetId: spreadsheet.spreadsheetId,
  sheetId: 1, // Hide Sales Data sheet
});

Advanced Chart Management

// Create chart with custom options
await mcp.callTool("sheets_create_chart_with_data", {
  spreadsheetId: "your-spreadsheet-id",
  chartType: "LINE",
  dataRange: "A1:C10",
  title: "Trend Analysis",
  chartOptions: {
    colors: ["#4285F4", "#34A853"],
    legendPosition: "RIGHT_LEGEND",
  },
});

// Update chart data when source data changes
await mcp.callTool("sheets_update_chart_data", {
  spreadsheetId: "your-spreadsheet-id",
  chartId: 12345,
  newDataRange: "A1:C15", // Extended range
  updateTitle: "Updated Trend Analysis",
});

// List all charts in spreadsheet
const charts = await mcp.callTool("sheets_list_charts", {
  spreadsheetId: "your-spreadsheet-id",
});

// Delete unwanted charts
await mcp.callTool("sheets_delete_chart", {
  spreadsheetId: "your-spreadsheet-id",
  chartId: 12345,
});

Sheet Information and Properties

// Get information about all sheets
const sheetInfo = await mcp.callTool("sheets_get_sheet_info", {
  spreadsheetId: "your-spreadsheet-id",
  includeGridData: false,
});

// Get properties of specific sheet
const sheetProps = await mcp.callTool("sheets_get_sheet_properties", {
  spreadsheetId: "your-spreadsheet-id",
  sheetId: 0,
});

// Check if sheet is hidden
if (sheetProps.properties.hidden) {
  // Show the sheet
  await mcp.callTool("sheets_show_sheet", {
    spreadsheetId: "your-spreadsheet-id",
    sheetId: 0,
  });
}

πŸ”§ Troubleshooting

Common errors:

Error

Solution

"GOOGLE_SERVICE_ACCOUNT_KEY not found"

β€’ Check environment variable in mcp.jsonβ€’ Ensure JSON is properly escaped

"Permission denied"

β€’ Check service account access permissionsβ€’ Ensure Google Sheets are shared with service account

"Invalid credentials"

β€’ Check service account JSON fileβ€’ Ensure Google Sheets API is enabled


πŸš€ Advantages Over Other Solutions

  • βœ… 37 Advanced Tools - Complete Google Sheets MCP tool collection

  • βœ… Complete Sheet Management - Full control over sheets (create, rename, hide, move, delete)

  • βœ… Enhanced Chart Creation - Create charts with data, from tables, update dynamically

  • βœ… Professional Formatting - Colors, fonts, borders, conditional formatting

  • βœ… Data Validation - Set rules and protect sensitive data

  • βœ… Batch Operations - High-performance multiple operations

  • βœ… Sheet Information - Get detailed properties and status of all sheets

  • βœ… Performance Optimized - Efficient API usage and batch processing


πŸ“„ License

MIT License - See LICENSE file for details.


🀝 Contributing

All contributions are welcome! Please:

  1. 🍴 Fork the project

  2. 🌿 Create a feature branch (git checkout -b feature/AmazingFeature)

  3. πŸ’Ύ Commit your changes (git commit -m 'Add some AmazingFeature')

  4. πŸš€ Push to the branch (git push origin feature/AmazingFeature)

  5. πŸ”„ Open a Pull Request


πŸ“ž Support

If you encounter issues:

  1. πŸ” Check Issues first

  2. πŸ†• Create a new issue if none exists

  3. πŸ“ Describe the problem in detail and how to reproduce it

  4. 🌐 TaskKit: Official open-source catalog


⭐ Star the Project

If this project is helpful, please give it a star! ⭐


Made with ❀️ by Longtran2404

Founder profile: TrαΊ§n Minh Long

πŸš€ 37 Tools for Complete Google Sheets Management πŸš€