google-services-mcp 0.1.2 → 0.1.4
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.
- package/README.md +58 -16
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -34,20 +34,50 @@ create documents and spreadsheets, and more — using your real Google data.
|
|
|
34
34
|
|
|
35
35
|
## Install
|
|
36
36
|
|
|
37
|
+
No install needed — run straight from npm via `npx`:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npx -y google-services-mcp --version
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
`npx` downloads the package on first run and caches it. Every command in
|
|
44
|
+
this README (`add`, `list`, `status`, ...) works the same way:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx -y google-services-mcp add personal
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
> **Pin a version for reproducibility** — check the current release with
|
|
51
|
+
> `npm view google-services-mcp version`, then run an exact version:
|
|
52
|
+
>
|
|
53
|
+
> ```bash
|
|
54
|
+
> npx -y google-services-mcp@<version> add personal
|
|
55
|
+
> ```
|
|
56
|
+
>
|
|
57
|
+
> MCP clients auto-launch this server, so pinning avoids surprise breakage
|
|
58
|
+
> when a new release ships.
|
|
59
|
+
|
|
60
|
+
### Alternative: global install
|
|
61
|
+
|
|
62
|
+
Prefer a persistent `google-services-mcp` command (and faster MCP client
|
|
63
|
+
startup)?
|
|
64
|
+
|
|
37
65
|
```bash
|
|
38
66
|
npm install -g google-services-mcp
|
|
39
67
|
```
|
|
40
68
|
|
|
69
|
+
Then replace `npx -y google-services-mcp` with `google-services-mcp`
|
|
70
|
+
everywhere below.
|
|
71
|
+
|
|
41
72
|
### Release channels
|
|
42
73
|
|
|
43
74
|
- `latest` — stable releases, published automatically on every merge to `main`
|
|
44
75
|
- `beta` — staging builds, published manually from `main`
|
|
45
|
-
(e.g. `0.
|
|
76
|
+
(e.g. `0.x.x-beta.0`)
|
|
46
77
|
|
|
47
78
|
Try the staging channel without touching your stable install:
|
|
48
79
|
|
|
49
80
|
```bash
|
|
50
|
-
npm install -g google-services-mcp@beta
|
|
51
81
|
npx -y google-services-mcp@beta --version
|
|
52
82
|
```
|
|
53
83
|
|
|
@@ -59,7 +89,7 @@ GitHub Actions OIDC) — no npm token is stored in CI.
|
|
|
59
89
|
1. **Add a Google account** — opens your browser for one-time authorization:
|
|
60
90
|
|
|
61
91
|
```bash
|
|
62
|
-
google-services-mcp add personal
|
|
92
|
+
npx -y google-services-mcp add personal
|
|
63
93
|
```
|
|
64
94
|
|
|
65
95
|
2. **Register the server** with your MCP client (see
|
|
@@ -67,12 +97,14 @@ GitHub Actions OIDC) — no npm token is stored in CI.
|
|
|
67
97
|
opencode, and generic configs).
|
|
68
98
|
|
|
69
99
|
3. **Start using it** — ask your agent to "check my email" or "add an event to
|
|
70
|
-
my calendar". Or add more accounts any time: `google-services-mcp add work`.
|
|
100
|
+
my calendar". Or add more accounts any time: `npx -y google-services-mcp add work`.
|
|
71
101
|
|
|
72
102
|
## MCP client configuration
|
|
73
103
|
|
|
74
|
-
The server speaks MCP over stdio. Point your client at the
|
|
75
|
-
|
|
104
|
+
The server speaks MCP over stdio. Point your client at the
|
|
105
|
+
`google-services-mcp` package via `npx` and pass your OAuth credentials via
|
|
106
|
+
environment variables. (If you installed globally, use `google-services-mcp`
|
|
107
|
+
as the command instead.)
|
|
76
108
|
|
|
77
109
|
### opencode
|
|
78
110
|
|
|
@@ -83,7 +115,7 @@ In `opencode.json` (or your global config):
|
|
|
83
115
|
"mcp": {
|
|
84
116
|
"google-services-mcp": {
|
|
85
117
|
"type": "local",
|
|
86
|
-
"command": ["google-services-mcp"],
|
|
118
|
+
"command": ["npx", "-y", "google-services-mcp"],
|
|
87
119
|
"enabled": true,
|
|
88
120
|
"environment": {
|
|
89
121
|
"GOOGLE_MCP_CLIENT_ID": "your-client-id",
|
|
@@ -102,7 +134,8 @@ In the client's MCP settings file (e.g. `claude_desktop_config.json`):
|
|
|
102
134
|
{
|
|
103
135
|
"mcpServers": {
|
|
104
136
|
"google-services-mcp": {
|
|
105
|
-
"command": "
|
|
137
|
+
"command": "npx",
|
|
138
|
+
"args": ["-y", "google-services-mcp"],
|
|
106
139
|
"env": {
|
|
107
140
|
"GOOGLE_MCP_CLIENT_ID": "your-client-id",
|
|
108
141
|
"GOOGLE_MCP_CLIENT_SECRET": "your-client-secret"
|
|
@@ -140,6 +173,14 @@ Open the [Google Cloud Console](https://console.cloud.google.com/), choose
|
|
|
140
173
|
`Google Tasks API` · `Google Sheets API` · `Google Docs API` ·
|
|
141
174
|
`Google Slides API` · `YouTube Data API v3` · `Google Forms API`
|
|
142
175
|
|
|
176
|
+
> **Automated:** with the `gcloud` CLI installed and authenticated
|
|
177
|
+
> (`gcloud auth login`), enable all 10 APIs at once — idempotent, safe to
|
|
178
|
+
> re-run:
|
|
179
|
+
>
|
|
180
|
+
> ```bash
|
|
181
|
+
> bash scripts/enable-apis.sh --project your-project-id
|
|
182
|
+
> ```
|
|
183
|
+
|
|
143
184
|
### 4. Create OAuth client credentials
|
|
144
185
|
|
|
145
186
|
**APIs & Services → Credentials → Create Credentials → OAuth client ID**:
|
|
@@ -171,7 +212,7 @@ GOOGLE_MCP_REDIRECT_PORT=8787 # local loopback port for OAuth (default
|
|
|
171
212
|
### 6. Connect your first account
|
|
172
213
|
|
|
173
214
|
```bash
|
|
174
|
-
google-services-mcp add personal
|
|
215
|
+
npx -y google-services-mcp add personal
|
|
175
216
|
```
|
|
176
217
|
|
|
177
218
|
A browser opens to the Google consent screen. After you approve, the account is
|
|
@@ -181,13 +222,13 @@ different name (e.g. `work`) to connect more accounts.
|
|
|
181
222
|
## CLI reference
|
|
182
223
|
|
|
183
224
|
```
|
|
184
|
-
google-services-mcp # run the MCP server over stdio
|
|
185
|
-
google-services-mcp add <name> # add a Google account (opens browser)
|
|
186
|
-
google-services-mcp list # list connected accounts
|
|
187
|
-
google-services-mcp remove <name> # remove an account
|
|
188
|
-
google-services-mcp set-default <name> # set the default account
|
|
189
|
-
google-services-mcp status # show config and token health
|
|
190
|
-
google-services-mcp --help # show help
|
|
225
|
+
npx -y google-services-mcp # run the MCP server over stdio
|
|
226
|
+
npx -y google-services-mcp add <name> # add a Google account (opens browser)
|
|
227
|
+
npx -y google-services-mcp list # list connected accounts
|
|
228
|
+
npx -y google-services-mcp remove <name> # remove an account
|
|
229
|
+
npx -y google-services-mcp set-default <name> # set the default account
|
|
230
|
+
npx -y google-services-mcp status # show config and token health
|
|
231
|
+
npx -y google-services-mcp --help # show help
|
|
191
232
|
```
|
|
192
233
|
|
|
193
234
|
## For AI agents
|
|
@@ -217,6 +258,7 @@ google-services-mcp --help # show help
|
|
|
217
258
|
| `access blocked` on consent | Account not in **Test users** (setup step 2.3) — add it and retry |
|
|
218
259
|
| `redirect_uri_mismatch` | Redirect URI must be exactly `http://localhost:8787` — no trailing slash — and match what your OAuth client allows |
|
|
219
260
|
| Tokens stop working after ~7 days | App is in **Testing** mode — re-run `add`, or **Publish app** on the consent screen |
|
|
261
|
+
| `npx: command not found` in the MCP client | GUI clients (Claude Desktop, Cursor) may not inherit your shell PATH — use the absolute path to `npx` (e.g. `/usr/local/bin/npx`) or install globally |
|
|
220
262
|
| `Google hasn't verified this app` | Normal for unverified apps — click **Advanced → Continue** for personal use |
|
|
221
263
|
|
|
222
264
|
## Local development
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "google-services-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "MCP server for Google consumer services — Gmail, Calendar, Meet, Drive, Contacts, Tasks — with multi-account OAuth support.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/main.js",
|