Mmcp.market

Google Workspace MCP server

by takiguchi-yu·io.github.takiguchi-yu/google-workspace-mcp-server·v0.9.0

An MCP server for Google Workspaces.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

0 stars855 downloads/wk

Reviews

Write one

Nobody has reviewed Google Workspace yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Google Workspace tools (63, 28 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • accounts_list

    Lists the Google accounts registered on this server, with their labels and which one is the default.

  • drive_list_items

    List files and folders within a specific Drive folder.

  • drive_search_files

    Search for files in Google Drive using query syntax or free text. Supports filtering by name, type, and other criteria.

  • sheets_add_conditional_format

    Add a conditional formatting rule to a sheet. Either pass condition + format to color cells that match a condition, or pass gradient to apply a color scale. All ranges of one rule must be on the same sheet.

  • sheets_add_sheet

    Adds a new sheet (tab) to an existing Google Spreadsheet.

  • sheets_append_values

    Appends rows of data after the last row in a Google Sheet range.

  • sheets_batch_update_sheet_valueswrite action

    Batch updates values in multiple ranges of a Google Sheet.

  • sheets_clear_basic_filterwrite action

    Remove the basic filter from a sheet. Rows hidden by the filter become visible again; cell contents are not changed.

  • sheets_clear_data_validationwrite action

    Remove data validation rules (dropdowns, checkboxes, input restrictions) from one or more cell ranges. The cell values themselves are left untouched.

  • sheets_clear_sheet_values

    Clears values from a specific range in a Google Sheet. Formatting is preserved.

  • sheets_create_spreadsheetwrite action

    Creates a new Google Spreadsheet with a specified title.

  • sheets_delete_conditional_formatwrite action

    Delete a conditional formatting rule by its index. Indexes shift down when a rule is removed, so call sheets_list_conditional_formats first, and delete from the highest index when removing several.

  • sheets_delete_dimensionwrite action

    Deletes rows or columns from a specific range in a sheet.

  • sheets_delete_sheetwrite action

    Delete a sheet (tab) and everything on it from a spreadsheet. The sheet name is required — there is no default. A spreadsheet must keep at least one sheet, so the last remaining one cannot be deleted.

  • sheets_duplicate_sheet

    Duplicate a sheet (tab) within the same spreadsheet, including its values, formulas, and formatting. Useful for creating a new sheet from a template sheet.

  • sheets_format_cells

    Apply visual formatting (background color, font color, bold, size, alignment, number format) to one or more cell ranges. Only the properties you specify are changed; everything else is left as is.

  • sheets_freeze_panes

    Freeze the first rows and/or columns of a sheet so they stay visible while scrolling. Pass 0 to unfreeze. Freezing applies to a whole sheet, not a range.

  • sheets_get_spreadsheet_info

    Gets information about a specific spreadsheet including its sheets, properties, and structure.

  • sheets_import_csv

    Imports CSV (or TSV) data into a Google Sheet. Supports custom delimiters and handles quoted fields.

  • sheets_insert_dimensionwrite action

    Inserts new rows or columns at a specific position in a sheet.

  • sheets_list_conditional_formats

    List the conditional formatting rules of a spreadsheet with the index needed to delete them, the ranges they cover in A1 notation, and a summary of each rule.

  • sheets_list_spreadsheets

    Lists spreadsheets from Google Drive that the user has access to.

  • sheets_merge_cells

    Merge or unmerge cell ranges. MERGE_ALL makes the range a single cell, MERGE_COLUMNS merges each column, MERGE_ROWS merges each row, and UNMERGE splits existing merges back apart.

  • sheets_read_sheet_values

    Reads values from a specific range in a Google Sheet. Row numbers in the output are the actual row numbers in the sheet, not offsets within the range. By default cells are returned as they are displayed; pass valueRenderOption to read the underlying formulas or raw values instead.

  • sheets_resize_dimension

    Set the width of columns or the height of rows, or auto-resize them to fit their contents. The range is given in A1 notation (e.g., "Sheet1!B:D" for columns, "Sheet1!2:5" for rows).

  • sheets_set_basic_filterwrite action

    Put a filter on a range so the header row gets filter buttons, optionally hiding rows that do not match a criterion. Unlike sheets_sort_range this does not move any cell contents. A sheet holds only one basic filter; calling this again replaces it.

  • sheets_set_borders

    Draw or clear borders around and inside one or more cell ranges. Use "all" to apply the same border to every edge, or set individual edges. Use style NONE to remove a border.

  • sheets_set_data_validation

    Set a data validation rule on one or more cell ranges. Use ONE_OF_LIST for a dropdown of fixed choices, ONE_OF_RANGE for a dropdown backed by a range, and BOOLEAN for a checkbox. To remove a rule, use sheets_clear_data_validation.

  • sheets_sort_range

    Sort the rows of a range by one or more columns. Exclude the header row from the range (e.g., "Sheet1!A2:D100"), otherwise the header is sorted along with the data. This rewrites the cells; it does not add a filter.

  • sheets_update_sheet_propertieswrite action

    Rename a sheet (tab), change its tab color, move it to another position among the tabs, or hide/show it. Only the properties you specify are changed. To freeze rows or columns, use sheets_freeze_panes instead.

  • sheets_update_sheet_valueswrite action

    Updates values in a specific range of a Google Sheet.

  • slides_add_line

    Draw a line or arrow on a slide between two points. Coordinates are in points from the top-left corner of the slide, which is 720 x 405 pt. Color, thickness, dash style, and the arrowheads at each end are all set here, so no follow-up call is needed.

  • slides_add_shape

    Add a geometric shape (rectangle, circle, triangle, etc.) to a slide with custom position, size, and colors.

  • slides_add_slide

    Add a slide using one of the built-in layouts, filling in its title and body text in the same call. Not every layout has both: BLANK has neither, CAPTION_ONLY has no title, and TITLE_ONLY / SECTION_HEADER / MAIN_POINT have no body. Passing text for a slot the layout does not have is refused with the list of slots it does have.

  • slides_add_table

    Add a table to a slide, filled with its contents. The number of rows and columns comes from the "rows" array, so no separate counts are needed. Short rows are padded with empty cells. Position and size are in points; anything you leave out is centred on the slide, so omitting all four puts a 570 pt wide table in the middle. Cell borders and shading are not set here.

  • slides_add_text_box

    Add a new text box to a slide with custom position and content. Font, color, and paragraph alignment can be set here too. Position and size are in EMUs (1 inch = 914400 EMU, 1 pt = 12700 EMU); the newer slides_add_line and slides_add_table take points instead.

  • slides_batch_update_presentationwrite action

    Execute multiple update requests on a presentation in a single API call. Supports complex multi-step operations with various request types.

  • slides_connect_line

    Attach the ends of a line to shapes so the line follows them when they move. Give the line and the shape for either end, or both. Connection site indexes are optional — leave them out and Google picks a sensible point on each shape. Tables have no connection sites and cannot be attached. When both ends end up attached, the line is also rerouted along the shortest path.

  • slides_create_paragraph_bulletswrite action

    Turn the paragraphs of a shape or text box into a bulleted or numbered list. Names describe the glyphs per nesting level, so BULLET_DISC_CIRCLE_SQUARE is a disc at level 1, a circle at level 2, a square at level 3. NUMBERED_* presets are numbered lists. Applies to all paragraphs unless startIndex and endIndex are given. Use slides_delete_paragraph_bullets to remove them.

  • slides_create_presentationwrite action

    Create a new Google Slides presentation with a specified title.

  • slides_delete_elementwrite action

    Delete a specific element (shape, text box, image, etc.) from a slide.

  • slides_delete_paragraph_bulletswrite action

    Remove bullets or numbering from the paragraphs of a shape or text box, keeping the text. Nested paragraphs keep an indent that reflects how deep they were, but top-level ones go back to the margin: the indent the bullet itself added is removed, and any indent you set earlier is overwritten. Call slides_update_paragraph_style afterwards if you need a particular indent. Applies to all paragraphs un

  • slides_delete_table_dimensionwrite action

    Delete a row or column from a table, together with the text in it. Say which one, counted the way A1 notation does ("2" is the second row, "B" is the second column). A table must keep at least one row and one column.

  • slides_disconnect_line

    Detach a line from both of the shapes it is attached to, so it stops following them. The line itself stays where it is. Use slides_update_element_transform afterwards to move it, or slides_delete_element to remove it.

  • slides_duplicate_slide

    Duplicate an existing slide within the presentation.

  • slides_get_page

    Get details about a specific page (slide) in a presentation including elements and layout.

  • slides_get_presentation

    Read content from a presentation including text and tables to understand specifications.

  • slides_group_elements

    Group two or more elements on the same slide so they move and resize together. Shapes, text boxes, lines, images, and existing groups can be grouped; tables and placeholders inherited from the layout cannot, and neither can an element that already belongs to another group. The returned group object ID can be passed to slides_update_element_transform or slides_delete_element. Use slides_ungroup_ele

  • slides_insert_imagewrite action

    Insert an image into a slide from a publicly accessible URL. The image is fetched once at insertion time, so the URL must be reachable without login. Formats: PNG, JPEG, GIF. Max 50 MB and 25 megapixels.

  • slides_insert_table_dimensionwrite action

    Add rows or columns to an existing table. Say which row or column to insert next to, counted the way A1 notation does ("2" is the second row, "B" is the second column), and whether the new ones go before or after it. New cells are empty; use slides_update_text_shape to fill them.

  • slides_list_presentations

    Lists presentations from Google Drive that the user has access to.

  • slides_replace_all_text

    Replace every occurrence of a string across a presentation, or only on the slides you name. Useful for filling in placeholders such as {{title}} in a template.

  • slides_resize_table

    Set the height of rows or the width of columns of a table, in points. Name the rows or columns the way A1 notation does ("2" is the second row, "B" is the second column); omit "at" to apply to all of them. Row height is a minimum: a row grows taller when its text does not fit. To resize the table as a whole, use slides_update_element_transform.

  • slides_ungroup_elements

    Take groups apart, leaving the elements inside on the slide. Pass the object IDs of the groups themselves, not of their children.

  • slides_update_element_transformwrite action

    Move, resize, or rotate an existing element (shape, text box, image, line, table, or group). Lengths are in points: a slide is 720 x 405 pt. Only the properties you specify are changed. Position is the anchor corner of the element before rotation, not the corner of its rotated bounding box.

  • slides_update_elements_z_orderwrite action

    Change which elements are drawn on top of which. All elements must be on the same slide, and their order relative to each other is preserved. BRING_FORWARD and SEND_BACKWARD move by one step; BRING_TO_FRONT and SEND_TO_BACK move all the way.

  • slides_update_paragraph_stylewrite action

    Change paragraph-level formatting of a shape or text box: alignment, line spacing, indentation, and space before/after. Only the properties you specify are changed. Applies to all paragraphs unless startIndex and endIndex are given. Lengths are in points.

  • slides_update_shape_stylewrite action

    Change the look of an existing shape or text box: fill, outline, where its text sits vertically, and whether it links somewhere. Only the properties you specify are changed. Use fillColor "NONE" or outlineColor "NONE" to make them transparent, and link "NONE" to remove a link.

  • slides_update_slide_propertieswrite action

    Change a slide itself: its background (a solid color or a picture), and whether it is skipped when presenting. Background color and background image both occupy the same slot, so give only one of them. Applying a different layout is not possible through the API.

  • slides_update_table_borderswrite action

    Draw borders on a table: color, thickness, and dash pattern. Each entry takes a range in A1 notation over the table ("A1:C3", "B:B", "2:3"; omit it to cover the whole table) and a position saying which edges inside that range are drawn. Several entries can be given, applied in order, so an outer border and an inner grid can be drawn in one call. Borders cannot be erased — to hide one, give it the

  • slides_update_table_cellswrite action

    Set the background color and vertical alignment of table cells. Ranges are A1 notation over the table itself: "A1:C1" is the first three cells of the header row, "B:B" is the whole second column, "2:3" is rows 2 and 3. Several ranges can be styled in one call, applied in order, so a later range wins where they overlap.

  • slides_update_text_shapewrite action

    Update text content in an existing shape/text element on a slide.

  • slides_update_text_stylewrite action

    Change how the text of a shape or text box looks: font family, size, color, bold, italic, underline, strikethrough. Only the properties you specify are changed. Applies to the whole text unless startIndex and endIndex are given.

Public scan report

scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it

no findings
  • Code scan215 source files scanned25/25
  • Live reliabilityno gateway calls yet and no remote to proben/a
  • Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 4 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

Install directly

Runs npx -y @takiguchi-yu/google-workspace-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add google-workspace-mcp-server -- npx -y @takiguchi-yu/google-workspace-mcp-server
Add to Cursor

Google Workspace: common questions

Is Google Workspace MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the Google Workspace safety report
How do I install Google Workspace?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Google Workspace need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Google Workspace maintained?
The last commit was 5 days ago (2026-09-16). The latest release is v0.9.0.

More from takiguchi-yu