Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .cursor-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,21 @@
"source": "third_party/google-calendar",
"description": "Search events and schedule meetings."
},
{
"name": "google-docs",
"source": "third_party/google-docs",
"description": "Read, create, and edit documents."
},
{
"name": "google-sheets",
"source": "third_party/google-sheets",
"description": "Read, write, and append spreadsheet data."
},
{
"name": "google-slides",
"source": "third_party/google-slides",
"description": "Create, edit, and render presentations."
},
{
"name": "gong",
"source": "third_party/gong",
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc
| `gmail` | [Gmail](third_party/gmail/) | Cursor | Productivity | Search, read, draft, and manage email. |
| `google-drive` | [Google Drive](third_party/google-drive/) | Cursor | Productivity | Search, read, create, and share files. |
| `google-calendar` | [Google Calendar](third_party/google-calendar/) | Cursor | Productivity | Search events and schedule meetings. |
| `google-docs` | [Google Docs](third_party/google-docs/) | Cursor | Productivity | Read, create, and edit documents. |
| `google-sheets` | [Google Sheets](third_party/google-sheets/) | Cursor | Productivity | Read, write, and append spreadsheet data. |
| `google-slides` | [Google Slides](third_party/google-slides/) | Cursor | Productivity | Create, edit, and render presentations. |
| `gong` | [Gong](third_party/gong/) | Cursor | Integrations | Pull account summaries, deal insights, and call briefs. |
| `salesforce` | [Salesforce](third_party/salesforce/) | Cursor | Integrations | Query, create, and update records in your org. |
| `playwright` | [Playwright](third_party/playwright/) | Cursor | Integrations | Navigate, click, screenshot, and test in a real browser. |
Expand Down
36 changes: 36 additions & 0 deletions third_party/google-docs/.cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"name": "google-docs",
"displayName": "Google Docs",
"version": "1.0.0",
"minClientVersions": {
"cursor": "3.22.0",
"grokbot": "0.30.0",
"sand": "0.30.0"
},
"description": "Read, create, and edit documents.",
"author": {
"name": "Cursor",
"email": "plugins@cursor.com"
},
"homepage": "https://github.com/cursor/plugins/tree/main/third_party/google-docs",
"repository": "https://github.com/cursor/plugins",
"license": "MIT",
"logo": "assets/logo.svg",
"keywords": [
"google-docs",
"docs",
"google",
"mcp",
"documents",
"workspace"
],
"category": "productivity",
"tags": [
"docs",
"documents",
"mcp",
"google-workspace"
],
"mcpServers": "./mcp.json",
"skills": "./skills/"
}
Comment thread
cursor[bot] marked this conversation as resolved.
9 changes: 9 additions & 0 deletions third_party/google-docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Changelog

All notable changes to this plugin will be documented here.

## 1.0.0 - initial release

- Logo: official Google Docs product icon on a padded white tile.
- Added the `google-docs` MCP server pointing at `https://api.cursor.com/rest-mcp/google-docs/mcp`.
- Bundled the `google-docs` skill covering the index contract, styling, lists, tables, and images.
21 changes: 21 additions & 0 deletions third_party/google-docs/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Cursor

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
43 changes: 43 additions & 0 deletions third_party/google-docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Google Docs

Cursor plugin that connects agents to [Google Docs](https://docs.google.com) through Cursor's remote [Model Context Protocol](https://modelcontextprotocol.io/) server.

Read document structure and text, create documents, insert and replace text, delete content ranges, and apply paragraph styles.

## Install

1. Open **Cursor Settings → Plugins**.
2. Search for **Google Docs**.
3. Click **Install**, then complete the Google sign-in prompt.

Or run `/add-plugin google-docs` in chat.

## MCP

```json
{
"mcpServers": {
"google-docs": {
"type": "http",
"url": "https://api.cursor.com/rest-mcp/google-docs/mcp"
}
}
}
```

Auth is OAuth 2.0 against Google. Cursor prompts for Google sign-in when the plugin connects.

## Skill

The bundled `google-docs` skill teaches agents document-authoring conventions: the index contract for safe edits, character and paragraph styling, lists, tables, and images.

## Docs

- Google Docs API: https://developers.google.com/workspace/docs/api/reference/rest
- Google Workspace overview: https://developers.google.com/workspace

Logo is the official Google Docs product icon, placed on a white tile with padding so it reads well in the Cursor UI.

## License

MIT
1 change: 1 addition & 0 deletions third_party/google-docs/assets/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions third_party/google-docs/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"mcpServers": {
"google-docs": {
"type": "http",
"url": "https://api.cursor.com/rest-mcp/google-docs/mcp"
}
}
}
77 changes: 77 additions & 0 deletions third_party/google-docs/skills/google-docs/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
name: google-docs
description: Author and edit Google Docs through the google-docs MCP tools - structured writing, character and paragraph styling, lists, tables, images, and safe index math. Use when creating a formatted document, editing document content, or applying styles.
---

# Google Docs authoring

## The index contract (the #1 source of bugs)

Docs edits address zero-based UTF-16 index ranges within one tab. Every write
SHIFTS later indexes, so:

1. `read_document` first; it returns each element's `{start, end}` plus the
`revisionId`.
2. Compute ONE edit from that read, pass `requiredRevisionId`, apply.
3. Re-read before the next positional edit. Never reuse indexes across
writes, and never do arithmetic across two writes.

Order multi-part positional work BACK-TO-FRONT (highest index first) when
re-reading between steps is too expensive; earlier ranges stay valid.

## Creating a document

`create_document` makes a BLANK doc (its API ignores content), so plan:

- Content known up front: prefer google-drive `google_drive_create_file`
with Markdown (`target_mime_type: ...document`), which imports headings,
lists, and tables in one call and can target a folder.
- Building incrementally: `create_document`, then `insert_text` with `index`
omitted to APPEND each paragraph; append mode reads the tail itself and is
revision-guarded automatically. `paragraphStyle` styles the new paragraphs
and `bold`/`italic` style the inserted text in the same call, so a
well-structured document is a sequence of appends with no styling pass.

## Structure is not optional

A document without hierarchy reads as a text dump. Default shape for any
report/memo/notes request: a TITLE paragraph, an italic byline or date line,
HEADING_2 per section, short body paragraphs with bold on the phrases that
matter, and bulleted lists for enumerations. Use `insert_text`'s
paragraphStyle/bold/italic arguments as you write rather than styling
afterwards.

## Styling

- Character styling (`apply_text_style`): bold/italic/underline/strike,
fontSize, fontFamily, textColor/backgroundColor as `#RRGGBB`, linkUrl.
Exclusive END index: to style one paragraph without its trailing newline,
use `end - 1` from the read.
- Paragraph styling: `apply_paragraph_style` for named styles
(TITLE/HEADING_1..6), `set_paragraph_format` for alignment, indents, and
line spacing (percent, 100 = single).
- Lists: `create_list` over the paragraphs' range; each newline-separated
paragraph becomes one item. Insert the plain lines first, then bullet them.

## Tables and images

- `insert_table` inserts an EMPTY grid. To fill it: re-read (cells appear
with their own index ranges) and `insert_text` into cells from the LAST
cell to the first, so earlier cell indexes stay valid.
- `insert_image` needs a PUBLICLY fetchable URL (Google fetches it; auth
walls and localhost fail), PNG/JPEG/GIF. Size with width/height in points
(aspect kept when only one is set).
- `insert_page_break` starts a new page at an index.

## Bulk text ops

`replace_text` replaces literal strings everywhere (or in named tabs) with
no index math; prefer it for renames and corrections. `delete_content`
rejects ranges that split table structure or surrogate pairs; deleting a
paragraph's final newline merges it with the next.

## Verifying

Re-read with `read_document` for structure and styles, or google-drive
`google_drive_read_file` for the whole doc as Markdown, or
`google_drive_export_file` (pdf) when the visual result matters.
36 changes: 36 additions & 0 deletions third_party/google-sheets/.cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"name": "google-sheets",
"displayName": "Google Sheets",
"version": "1.0.0",
"minClientVersions": {
"cursor": "3.22.0",
"grokbot": "0.30.0",
"sand": "0.30.0"
},
"description": "Read, write, and append spreadsheet data.",
"author": {
"name": "Cursor",
"email": "plugins@cursor.com"
},
"homepage": "https://github.com/cursor/plugins/tree/main/third_party/google-sheets",
"repository": "https://github.com/cursor/plugins",
"license": "MIT",
"logo": "assets/logo.svg",
"keywords": [
"google-sheets",
"sheets",
"google",
"mcp",
"spreadsheets",
"workspace"
],
"category": "productivity",
"tags": [
"sheets",
"spreadsheets",
"mcp",
"google-workspace"
],
"mcpServers": "./mcp.json",
"skills": "./skills/"
}
9 changes: 9 additions & 0 deletions third_party/google-sheets/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Changelog

All notable changes to this plugin will be documented here.

## 1.0.0 - initial release

- Logo: official Google Sheets product icon on a padded white tile.
- Added the `google-sheets` MCP server pointing at `https://api.cursor.com/rest-mcp/google-sheets/mcp`.
- Bundled the `google-sheets` skill covering A1 and grid coordinates, formatting, charts, and validation.
21 changes: 21 additions & 0 deletions third_party/google-sheets/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Cursor

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
43 changes: 43 additions & 0 deletions third_party/google-sheets/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Google Sheets

Cursor plugin that connects agents to [Google Sheets](https://sheets.google.com) through Cursor's remote [Model Context Protocol](https://modelcontextprotocol.io/) server.

Read spreadsheet metadata and cell ranges, create spreadsheets, write and append values, clear ranges, and manage sheet tabs.

## Install

1. Open **Cursor Settings → Plugins**.
2. Search for **Google Sheets**.
3. Click **Install**, then complete the Google sign-in prompt.

Or run `/add-plugin google-sheets` in chat.

## MCP

```json
{
"mcpServers": {
"google-sheets": {
"type": "http",
"url": "https://api.cursor.com/rest-mcp/google-sheets/mcp"
}
}
}
```

Auth is OAuth 2.0 against Google. Cursor prompts for Google sign-in when the plugin connects.

## Skill

The bundled `google-sheets` skill teaches agents spreadsheet conventions: when to use A1 versus grid coordinates, dashboard formatting, charts, and validation.

## Docs

- Google Sheets API: https://developers.google.com/workspace/sheets/api/reference/rest
- Google Workspace overview: https://developers.google.com/workspace

Logo is the official Google Sheets product icon, placed on a white tile with padding so it reads well in the Cursor UI.

## License

MIT
1 change: 1 addition & 0 deletions third_party/google-sheets/assets/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions third_party/google-sheets/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"mcpServers": {
"google-sheets": {
"type": "http",
"url": "https://api.cursor.com/rest-mcp/google-sheets/mcp"
}
}
}
Loading