mcp-gsheets 1.0.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +42 -2
  2. package/dist/index.js +9398 -1276
  3. package/package.json +8 -5
package/README.md CHANGED
@@ -4,6 +4,7 @@
4
4
  <img width="380" height="200" src="https://glama.ai/mcp/servers/@freema/mcp-gsheets/badge" />
5
5
  </a>
6
6
 
7
+ [![npm version](https://badge.fury.io/js/mcp-gsheets.svg)](https://www.npmjs.com/package/mcp-gsheets)
7
8
  ![CI](https://github.com/freema/mcp-gsheets/workflows/CI/badge.svg)
8
9
  ![Coverage](https://codecov.io/gh/freema/mcp-gsheets/branch/main/graph/badge.svg)
9
10
  ![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)
@@ -92,6 +93,31 @@ If you prefer manual configuration, add to your Claude Desktop config:
92
93
  }
93
94
  ```
94
95
 
96
+ #### Alternative: JSON String Authentication
97
+
98
+ Instead of using a file path, you can provide the service account credentials directly as a JSON string. This is useful for containerized environments, CI/CD pipelines, or when you want to avoid managing credential files.
99
+
100
+ ```json
101
+ {
102
+ "mcpServers": {
103
+ "mcp-gsheets": {
104
+ "command": "node",
105
+ "args": ["/absolute/path/to/mcp-gsheets/dist/index.js"],
106
+ "env": {
107
+ "GOOGLE_PROJECT_ID": "your-project-id",
108
+ "GOOGLE_SERVICE_ACCOUNT_KEY": "{\"type\":\"service_account\",\"project_id\":\"your-project\",\"private_key_id\":\"...\",\"private_key\":\"-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----\\n\",\"client_email\":\"...@....iam.gserviceaccount.com\",\"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\":\"...\"}"
109
+ }
110
+ }
111
+ }
112
+ }
113
+ ```
114
+
115
+ **Note**: When using `GOOGLE_SERVICE_ACCOUNT_KEY`:
116
+ - The entire JSON must be on a single line
117
+ - All quotes must be escaped with backslashes
118
+ - Newlines in the private key must be represented as `\\n`
119
+ - If the JSON includes a `project_id`, you can omit `GOOGLE_PROJECT_ID`
120
+
95
121
  Restart Claude Desktop after adding the configuration.
96
122
 
97
123
  ## 📦 Build & Development
@@ -179,6 +205,10 @@ npm run dev # Watch mode with auto-reload
179
205
  - `sheets_copy_to` - Copy to another spreadsheet
180
206
  - `sheets_update_sheet_properties` - Update sheet settings
181
207
 
208
+ ### Batch Operations
209
+ - `sheets_batch_delete_sheets` - Delete multiple sheets at once
210
+ - `sheets_batch_format_cells` - Format multiple cell ranges at once
211
+
182
212
  ### Cell Formatting
183
213
  - `sheets_format_cells` - Format cells (colors, fonts, alignment, number formats)
184
214
  - `sheets_update_borders` - Add or modify cell borders
@@ -186,6 +216,11 @@ npm run dev # Watch mode with auto-reload
186
216
  - `sheets_unmerge_cells` - Unmerge previously merged cells
187
217
  - `sheets_add_conditional_formatting` - Add conditional formatting rules
188
218
 
219
+ ### Charts
220
+ - `sheets_create_chart` - Create various types of charts
221
+ - `sheets_update_chart` - Modify existing charts
222
+ - `sheets_delete_chart` - Remove charts
223
+
189
224
  ## 🔧 Code Quality
190
225
 
191
226
  ### Linting
@@ -220,8 +255,9 @@ npm run typecheck
220
255
  ### Common Issues
221
256
 
222
257
  **"Authentication failed"**
223
- - Verify JSON key path is absolute and correct
224
- - Check GOOGLE_PROJECT_ID matches your project
258
+ - If using file-based auth: Verify JSON key path is absolute and correct
259
+ - If using JSON string auth: Ensure JSON is properly escaped and valid
260
+ - Check GOOGLE_PROJECT_ID matches your project (or is included in JSON)
225
261
  - Ensure Sheets API is enabled
226
262
 
227
263
  **"Permission denied"**
@@ -259,6 +295,10 @@ Use `sheets_get_metadata` to list all sheets with their IDs.
259
295
  4. Check rate limits for large operations
260
296
  5. Use `sheets_check_access` to verify permissions before operations
261
297
 
298
+ ## 📋 Changelog
299
+
300
+ See [CHANGELOG.md](CHANGELOG.md) for a list of changes in each version.
301
+
262
302
  ## 🤝 Contributing
263
303
 
264
304
  1. Fork the repository