Skip to main content
Glama
Longtran2404

mcp-google-sheets-server

by Longtran2404

๐Ÿš€ MCP Google Sheets Server v2.1.0

Complete MCP Server for Google Sheets - 40+ tools for professional sheet management, advanced charts, and enterprise features!

npm version npm downloads License: MIT TypeScript


โœจ NEW in v2.1.0 - 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 - 40+ tools for professional Google Sheets management


Related MCP server: Google Docs, Drive & Sheets MCP Server

๐Ÿš€ Quick Installation

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 GOOGLE_SERVICE_ACCOUNT_SETUP.md for step-by-step instructions on how to get 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 (40+ 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

  • โœ… 40+ Advanced Tools - Most comprehensive Google Sheets MCP server

  • โœ… 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


โญ Star the Project

If this project is helpful, please give it a star! โญ


Made with โค๏ธ by Longtran2404

๐Ÿš€ Now with 40+ Tools for Complete Google Sheets Management! ๐Ÿš€

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
0dRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Latest Blog Posts

MCP directory API

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

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

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