You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: v0.2.0 — multi-installation support and citation tools (#86)
* feat: support multiple installations via --config-dir flag (Closes#85)
Add --config-dir flag and GSUITE_MCP_CONFIG_DIR env var to override the
default config directory (~/.config/gsuite-mcp/). This enables running
multiple gsuite-mcp instances with different GCP projects — e.g., one for
a work Workspace account and another for a personal account.
Each installation gets its own client_secret.json, config.json, and
credentials/ directory. The .installations/ convention keeps repo-local
configs gitignored.
* docs: add changelog and update default OAuth port references to 38917
Add [Unreleased] section to CHANGELOG.md covering all changes since
v0.1.0. Update all documentation and test references from port 8100 to
38917 to match the new DefaultOAuthPort constant.
* chore: bump version to 0.2.0
New features since 0.1.0: multi-installation support, citation tools,
Forms, Slides, Gmail send-as, Drive filtering, Docs/Sheets/Calendar
enhancements, and OAuth port change.
* feat(citation): add large document citation tools with FTS5 search
Add 11 citation tools for indexing, searching, and citing large documents:
- citation_create_index: Create Google Sheets index in a Drive folder
- citation_add_documents: Chunk docs/slides/pptx, write to Sheets + SQLite
- citation_lookup: FTS5 full-text search across indexed chunks
- citation_get_overview: Index stats with doc/chunk counts and concepts
- citation_get_chunks: Retrieve full chunk content by ID
- citation_verify_claim: Find chunks supporting a claim
- citation_format_citation: Human-readable citation with file/slide/snippet
- citation_save_concepts: Persist LLM-extracted concept→chunk mappings
- citation_save_summary: Persist hierarchical summaries
- citation_list_indexes: List configured indexes
- citation_refresh: Detect updated/removed/renamed files and re-index
Architecture: dual-layer storage (Google Sheets as source of truth,
SQLite FTS5 as disposable local cache). Cache auto-rebuilds from Sheets
when missing. Feature-flagged via large_doc_indexing config.
Supports Google Slides (native API), uploaded .pptx (zip/XML text
extraction), Google Docs (text export), and shared drives
(SupportsAllDrives). Large content responses get a citation hint when
the feature is enabled.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,26 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [0.2.0] - 2026-03-20
9
+
10
+
### Added
11
+
12
+
-**Multi-installation support**: `--config-dir` flag and `GSUITE_MCP_CONFIG_DIR` env var to run multiple instances with different GCP projects (#85)
13
+
-**Citation tools** (11 tools): Large document indexing with chunking, FTS5 search, concept extraction, and citation formatting (feature-flagged via `large_doc_indexing`)
14
+
-**Google Forms** (5 tools): Get form structure, create forms, batch update, list/get responses (#78)
Copy file name to clipboardExpand all lines: INSTALLATION.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -187,7 +187,7 @@ Re-run the auth command:
187
187
gsuite-mcp auth
188
188
```
189
189
190
-
Or, if gsuite-mcp is running as an MCP server, open `http://localhost:8100/auth` in your browser to re-authenticate without restarting the server. Error messages from tools will include this URL when the auth server is running.
190
+
Or, if gsuite-mcp is running as an MCP server, open `http://localhost:38917/auth` in your browser to re-authenticate without restarting the server. Error messages from tools will include this URL when the auth server is running.
191
191
192
192
### API Not Enabled
193
193
@@ -270,7 +270,7 @@ Optional configuration file created by `gsuite-mcp init`. Settings:
270
270
271
271
| Key | Default | Description |
272
272
|-----|---------|-------------|
273
-
|`oauth_port`|`8100`| Port for the OAuth callback server during `gsuite-mcp auth`|
273
+
|`oauth_port`|`38917`| Port for the OAuth callback server during `gsuite-mcp auth`|
274
274
275
275
Override `oauth_port` via the `GSUITE_MCP_OAUTH_PORT` environment variable.
Copy file name to clipboardExpand all lines: README.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -340,7 +340,7 @@ See [INSTALLATION.md](INSTALLATION.md) for full setup instructions.
340
340
341
341
### OAuth Callback Port
342
342
343
-
The default OAuth callback port is **8100**. Override it in `config.json`:
343
+
The default OAuth callback port is **38917**. Override it in `config.json`:
344
344
345
345
```json
346
346
{ "oauth_port": 9000 }
@@ -354,7 +354,7 @@ Restrict which shared drives are accessible via MCP tools. Add `drive_access` to
354
354
355
355
```json
356
356
{
357
-
"oauth_port": 8100,
357
+
"oauth_port": 38917,
358
358
"drive_access": {
359
359
"allowed": ["Marketing", "Engineering"]
360
360
}
@@ -371,8 +371,8 @@ My Drive is always accessible. Setting both `allowed` and `blocked` is an error.
371
371
372
372
When running as an MCP server, gsuite-mcp starts a persistent HTTP server on the OAuth port so agents and users can trigger re-authentication from a browser:
373
373
374
-
-**`http://localhost:8100/auth`** — starts OAuth flow (opens Google consent screen)
375
-
-**`http://localhost:8100/auth?account=user@gmail.com`** — pre-selects the Google account
374
+
-**`http://localhost:38917/auth`** — starts OAuth flow (opens Google consent screen)
375
+
-**`http://localhost:38917/auth?account=user@gmail.com`** — pre-selects the Google account
376
376
377
377
When a tool encounters missing credentials, the error message includes a clickable auth URL. If the port is unavailable, the MCP server continues without the auth endpoint.
Copy file name to clipboardExpand all lines: docs/AGENTS.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -165,7 +165,7 @@ if err != nil {
165
165
166
166
#### HTTP Auth Endpoint
167
167
168
-
When running as an MCP server, gsuite-mcp starts a persistent HTTP auth server on the OAuth port. If a tool encounters missing credentials, the error message includes a clickable URL (e.g., `http://localhost:8100/auth?account=user@gmail.com`). Agents should surface this URL to the user rather than suggesting CLI commands.
168
+
When running as an MCP server, gsuite-mcp starts a persistent HTTP auth server on the OAuth port. If a tool encounters missing credentials, the error message includes a clickable URL (e.g., `http://localhost:38917/auth?account=user@gmail.com`). Agents should surface this URL to the user rather than suggesting CLI commands.
0 commit comments