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.
Files changed (2) hide show
  1. package/README.md +58 -16
  2. 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.1.1-beta.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 `google-services-mcp`
75
- executable and pass your OAuth credentials via environment variables.
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": "google-services-mcp",
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.2",
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",