@kembec/gcal-mcp-linux-x64 0.1.0 → 0.1.2

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 +103 -0
  2. package/bin/gcal-mcp +0 -0
  3. package/package.json +1 -1
package/README.md ADDED
@@ -0,0 +1,103 @@
1
+ # gcal-mcp
2
+
3
+ MCP server for Google Calendar. Single Rust binary, no daemon, handles OAuth2 PKCE itself — point it at a credentials JSON, authorize once, tokens refresh silently.
4
+
5
+ [![npm](https://img.shields.io/npm/v/@kembec/gcal-mcp)](https://www.npmjs.com/package/@kembec/gcal-mcp)
6
+ [![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
7
+ [![platforms](https://img.shields.io/badge/platforms-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey)](#)
8
+
9
+ ## Install
10
+
11
+ ```sh
12
+ npm install -g @kembec/gcal-mcp
13
+ ```
14
+
15
+ Supported targets: `darwin-arm64`, `darwin-x64`, `linux-x64`, `win32-x64`.
16
+
17
+ Or build from source:
18
+
19
+ ```sh
20
+ git clone https://github.com/Kembec/gcal-mcp.git
21
+ cd gcal-mcp
22
+ cargo build --release
23
+ ```
24
+
25
+ ## Configure
26
+
27
+ 1. Create an OAuth client in the [Google Cloud Console](https://console.cloud.google.com). Choose **Desktop app**. Download the JSON.
28
+ 2. Set the env var pointing to it:
29
+
30
+ ```sh
31
+ export GOOGLE_OAUTH_CREDENTIALS=/path/to/client_secret.json
32
+ ```
33
+
34
+ 3. On the first tool call the server opens a browser for authorization, catches the callback on a random local port, and writes a token under `~/.config/kembec/gcal-mcp/tokens/`. Subsequent runs refresh silently.
35
+
36
+ The Calendar scope used is `https://www.googleapis.com/auth/calendar`.
37
+
38
+ ## Add to your MCP client
39
+
40
+ ### Cursor / Claude Desktop
41
+
42
+ ```json
43
+ {
44
+ "mcpServers": {
45
+ "gcal": {
46
+ "command": "gcal-mcp",
47
+ "env": {
48
+ "GOOGLE_OAUTH_CREDENTIALS": "/path/to/client_secret.json"
49
+ }
50
+ }
51
+ }
52
+ }
53
+ ```
54
+
55
+ Or with `npx`:
56
+
57
+ ```json
58
+ {
59
+ "mcpServers": {
60
+ "gcal": {
61
+ "command": "npx",
62
+ "args": ["-y", "@kembec/gcal-mcp"],
63
+ "env": {
64
+ "GOOGLE_OAUTH_CREDENTIALS": "/path/to/client_secret.json"
65
+ }
66
+ }
67
+ }
68
+ }
69
+ ```
70
+
71
+ ## Tools
72
+
73
+ | Tool | Description |
74
+ |------|-------------|
75
+ | `list-calendars` | List all calendars on the account |
76
+ | `list-events` | List events from a calendar with optional time window |
77
+ | `search-events` | Full-text search over events |
78
+ | `get-event` | Fetch a single event by id |
79
+ | `create-event` | Create an event (RFC3339 or `YYYY-MM-DD` for all-day) |
80
+ | `update-event` | Patch an existing event |
81
+ | `delete-event` | Delete an event |
82
+ | `respond-to-event` | Accept / decline / tentative an invitation |
83
+ | `get-freebusy` | Query free/busy windows across calendars |
84
+ | `get-current-time` | Return current UTC time |
85
+ | `manage-accounts` | Add, list, or remove stored OAuth accounts |
86
+
87
+ All tools accept an optional `account` field to select which stored token to use (defaults to `"default"`).
88
+
89
+ ## Multi-account
90
+
91
+ ```json
92
+ { "name": "manage-accounts", "arguments": { "action": "add", "account_name": "work" } }
93
+ ```
94
+
95
+ Then pass `"account": "work"` to any tool.
96
+
97
+ ## Token storage
98
+
99
+ Tokens live in `~/.config/kembec/gcal-mcp/tokens/<account>.json` with `0600` permissions (Unix). The directory is `0700`.
100
+
101
+ ## License
102
+
103
+ MIT.
package/bin/gcal-mcp CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kembec/gcal-mcp-linux-x64",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "gcal-mcp binary for linux x64",
5
5
  "os": ["linux"],
6
6
  "cpu": ["x64"],