Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,13 @@ On first use, the server will:

1. Start a local OAuth2 callback server on port 3000
2. Generate an authorization URL
3. Display the URL in the server logs
4. Wait for you to authorize the application in your browser
5. Store the access and refresh tokens locally in `.oauth-tokens.json`
6. Automatically refresh tokens as needed for subsequent requests
3. **Automatically open the URL in your default browser** 🚀
4. If browser opening fails, display the URL in the server logs as fallback
5. Wait for you to authorize the application in your browser
6. Store the access and refresh tokens locally in `.oauth-tokens.json`
7. Automatically refresh tokens as needed for subsequent requests

**New in v1.1.0**: The server now automatically opens your default browser during OAuth flow, eliminating the need to manually copy-paste URLs. If automatic browser opening fails, the server gracefully falls back to displaying the URL in the console. This enhancement works seamlessly across all MCP clients (Claude Desktop, GitHub Copilot, Microsoft Copilot Studio, Continue, Cursor, and more).

## Available Tools

Expand Down Expand Up @@ -229,6 +232,12 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file

## Changelog

### v1.1.0
- **NEW**: Automatic browser opening during OAuth flow
- **NEW**: Universal MCP client compatibility (Claude Desktop, GitHub Copilot, etc.)
- **ENHANCED**: Improved error handling with graceful fallbacks
- **ENHANCED**: Better logging and user experience

### v1.0.0
- Initial release
- OAuth2 authentication support
Expand Down
9 changes: 5 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"name": "mcp-gsheets-server",
"version": "1.0.0",
"version": "1.1.0",
"description": "MCP server for Google Sheets integration",
"main": "dist/index.js",
"bin": {
"mcp-gsheets-server": "dist/index.js"
},
"type": "module",
"scripts": {
"build": "esbuild src/index.ts --bundle --platform=node --target=node20 --outfile=dist/index.js --format=esm --external:googleapis --external:dotenv",
"build": "esbuild src/index.ts --bundle --platform=node --target=node20 --outfile=dist/index.js --format=esm --external:googleapis --external:dotenv --external:open",
"dev": "pnpm build && node dist/index.js",
"watch": "esbuild src/index.ts --bundle --platform=node --target=node20 --outfile=dist/index.js --format=esm --external:googleapis --watch",
"watch": "esbuild src/index.ts --bundle --platform=node --target=node20 --outfile=dist/index.js --format=esm --external:googleapis --external:dotenv --external:open --watch",
"start": "node dist/index.js",
"test": "echo 'Tests will be implemented in future versions' && exit 0",
"lint": "eslint src/**/*.ts",
Expand All @@ -23,7 +23,8 @@
"@modelcontextprotocol/sdk": "^0.4.0",
"googleapis": "^134.0.0",
"zod": "^3.22.4",
"dotenv": "^16.4.5"
"dotenv": "^16.4.5",
"open": "^10.0.3"
},
"devDependencies": {
"@types/node": "^20.11.0",
Expand Down
Loading