Skip to content

Commit 02c280d

Browse files
authored
Add Google Sheets MCP server (#171)
Claude-Session: https://claude.ai/code/session_01S58U7phvDgphx6ZTXuWMJQ Signed-off-by: Mohammod Al Amin Ashik <maa.ashik00@gmail.com>
1 parent a1868bb commit 02c280d

1 file changed

Lines changed: 117 additions & 0 deletions

File tree

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
{
2+
"$schema": "../schemas/server-definition.schema.json",
3+
"id": "xing5.google-sheets-mcp-uvx",
4+
"name": "Google Sheets (uvx)",
5+
"alias": "google-sheets",
6+
"description": "Read, create, and modify Google Sheets and Google Drive spreadsheets. Authenticate with a Google Cloud service account key or OAuth client to manage cells, rows, charts, sharing, and more.",
7+
"logo": "https://avatars.githubusercontent.com/u/9169578?v=4",
8+
"schema_version": "2.1",
9+
"categories": [
10+
"productivity"
11+
],
12+
"tags": [
13+
"google-sheets",
14+
"google-drive",
15+
"spreadsheets",
16+
"productivity",
17+
"office",
18+
"google"
19+
],
20+
"transport": {
21+
"type": "stdio",
22+
"command": "uvx",
23+
"args": [
24+
"mcp-google-sheets@latest"
25+
],
26+
"env": {
27+
"SERVICE_ACCOUNT_PATH": "${input:SERVICE_ACCOUNT_PATH}",
28+
"DRIVE_FOLDER_ID": "${input:DRIVE_FOLDER_ID}",
29+
"CREDENTIALS_PATH": "${input:CREDENTIALS_PATH}",
30+
"TOKEN_PATH": "${input:TOKEN_PATH}",
31+
"CREDENTIALS_CONFIG": "${input:CREDENTIALS_CONFIG}"
32+
},
33+
"metadata": {
34+
"inputs": [
35+
{
36+
"id": "SERVICE_ACCOUNT_PATH",
37+
"label": "Service Account Key Path",
38+
"description": "Recommended (headless) auth mode. Full path to the Google Cloud service account JSON key file. Share your target spreadsheets/folder with the service account's email address.",
39+
"type": "file_path",
40+
"required": false,
41+
"secret": false,
42+
"placeholder": "/full/path/to/service-account-key.json",
43+
"obtain": {
44+
"url": "https://console.cloud.google.com/iam-admin/serviceaccounts",
45+
"instructions": "1. Open Google Cloud Console and select (or create) a project\n2. Enable the Google Sheets API and Google Drive API under APIs & Services > Library\n3. Go to IAM & Admin > Service Accounts and create a service account\n4. Create a JSON key for it and download the file\n5. Set this path to that file\n6. Share each spreadsheet (or a Drive folder) with the service account's email",
46+
"button_label": "Open Service Accounts"
47+
}
48+
},
49+
{
50+
"id": "DRIVE_FOLDER_ID",
51+
"label": "Drive Folder ID",
52+
"description": "Optional. ID of a shared Google Drive folder the service account can access, used as the default context for listing and creating spreadsheets. Taken from the folder URL (the part after /folders/).",
53+
"type": "text",
54+
"required": false,
55+
"secret": false,
56+
"placeholder": "1A2b3C4d5E6f7G8h9I0jK..."
57+
},
58+
{
59+
"id": "CREDENTIALS_PATH",
60+
"label": "OAuth Client Credentials Path",
61+
"description": "OAuth 2.0 mode (alternative to service account). Path to the OAuth Client ID JSON downloaded from Google Cloud Console (Desktop app type). A browser login runs on first use. Defaults to credentials.json if unset.",
62+
"type": "file_path",
63+
"required": false,
64+
"secret": false,
65+
"placeholder": "/full/path/to/credentials.json",
66+
"obtain": {
67+
"url": "https://console.cloud.google.com/apis/credentials",
68+
"instructions": "1. In Google Cloud Console, enable the Google Sheets API and Google Drive API\n2. Go to APIs & Services > Credentials\n3. Create Credentials > OAuth client ID, choosing application type 'Desktop app'\n4. Download the client JSON and set this path to it",
69+
"button_label": "Open Credentials"
70+
}
71+
},
72+
{
73+
"id": "TOKEN_PATH",
74+
"label": "OAuth Token Path",
75+
"description": "OAuth 2.0 mode. Path where the refresh token is stored after the first browser login. Defaults to token.json if unset.",
76+
"type": "file_path",
77+
"required": false,
78+
"secret": false,
79+
"placeholder": "/full/path/to/token.json"
80+
},
81+
{
82+
"id": "CREDENTIALS_CONFIG",
83+
"label": "Credentials Config (Base64)",
84+
"description": "Optional, for Docker/CI environments. Base64-encoded contents of a service account or OAuth credentials JSON, supplied inline instead of a file path. Takes precedence over the path-based modes.",
85+
"type": "text",
86+
"required": false,
87+
"secret": true,
88+
"placeholder": "<base64-encoded-credentials-json>"
89+
}
90+
]
91+
}
92+
},
93+
"auth": {
94+
"type": "api_key",
95+
"instructions": "Recommended: create a Google Cloud service account, enable the Google Sheets API and Google Drive API, download its JSON key, set SERVICE_ACCOUNT_PATH to the file, and share your spreadsheets/folder with the service account email. Alternatively use OAuth: create an OAuth client ID (Desktop app) and set CREDENTIALS_PATH (and optionally TOKEN_PATH)."
96+
},
97+
"contributor": {
98+
"name": "xing5",
99+
"github": "xing5",
100+
"url": "https://github.com/xing5/mcp-google-sheets"
101+
},
102+
"links": {
103+
"repository": "https://github.com/xing5/mcp-google-sheets",
104+
"homepage": "https://github.com/xing5/mcp-google-sheets",
105+
"documentation": "https://github.com/xing5/mcp-google-sheets#readme"
106+
},
107+
"platforms": [
108+
"all"
109+
],
110+
"capabilities": {
111+
"tools": true,
112+
"resources": true,
113+
"prompts": false,
114+
"read_only_mode": false
115+
},
116+
"changelog_url": "https://github.com/xing5/mcp-google-sheets/releases"
117+
}

0 commit comments

Comments
 (0)