{"_id":"@appsyogi/gsc-mcp-server","_rev":"5-3be3b82dd6f9fc11f15bb60d21db2e3a","name":"@appsyogi/gsc-mcp-server","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@appsyogi/gsc-mcp-server","version":"0.1.0","keywords":["mcp","google-search-console","gsc","seo","model-context-protocol","claude","cursor","ai","search-analytics"],"author":{"name":"SuperZero11"},"license":"MIT","_id":"@appsyogi/gsc-mcp-server@0.1.0","maintainers":[{"name":"superzero11","email":"rahul.vit09@gmail.com"}],"homepage":"https://github.com/AppsYogi-com/gsc-mcp-server#readme","bugs":{"url":"https://github.com/AppsYogi-com/gsc-mcp-server/issues"},"bin":{"gsc-mcp":"dist/cli/index.js"},"dist":{"shasum":"0cdc6813dfb21e63bb41126bc63ec28c68363533","tarball":"https://registry.npmjs.org/@appsyogi/gsc-mcp-server/-/gsc-mcp-server-0.1.0.tgz","fileCount":7,"integrity":"sha512-f7o9OL5j7gp1Wf2QZzn0yn4U+JCF4csp2exiuAOps1a2N5N3cE21ZovzOON+Tu0+vmnjv0qsXrcThP5WseEG8Q==","signatures":[{"sig":"MEUCIQDL8jadEyoP9O0k1kJNAfvHDhVDUXFhoVnUJfuZtLpjYQIgascUQj/CE+csEUqI5ziVOSF7zpI4I9oEDhRlEIC501s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":435803},"main":"./dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f956b2fc6d7462d6686d2b1954a2f84a049c22b3","scripts":{"dev":"tsup --watch","lint":"eslint src/","build":"tsup","start":"node dist/cli/index.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"superzero11","email":"rahul.vit09@gmail.com"},"repository":{"url":"git+https://github.com/AppsYogi-com/gsc-mcp-server.git","type":"git"},"_npmVersion":"10.9.2","description":"Google Search Console MCP Server - CLI-installable MCP server for GSC integration","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ora":"^8.0.0","zod":"^3.25.0","open":"^10.0.0","chalk":"^5.3.0","keytar":"^7.9.0","commander":"^12.0.0","env-paths":"^3.0.0","googleapis":"^140.0.0","better-sqlite3":"^11.0.0","@modelcontextprotocol/sdk":"^1.25.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/gsc-mcp-server_0.1.0_1768827337243_0.27324994235288","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@appsyogi/gsc-mcp-server","version":"0.1.1","keywords":["mcp","google-search-console","gsc","seo","model-context-protocol","claude","cursor","ai","search-analytics"],"author":{"name":"SuperZero11"},"license":"MIT","_id":"@appsyogi/gsc-mcp-server@0.1.1","maintainers":[{"name":"superzero11","email":"rahul.vit09@gmail.com"}],"homepage":"https://github.com/AppsYogi-com/gsc-mcp-server#readme","bugs":{"url":"https://github.com/AppsYogi-com/gsc-mcp-server/issues"},"bin":{"gsc-mcp":"dist/cli/index.js"},"dist":{"shasum":"1f90557cad70f0c1c6dc3bb00410e8b1551395fa","tarball":"https://registry.npmjs.org/@appsyogi/gsc-mcp-server/-/gsc-mcp-server-0.1.1.tgz","fileCount":7,"integrity":"sha512-r0M9Y1yazGu6KJUedaLv+2GD6iZHxslH9v1Xzqp+tbT+Xopi4Dsb3GCYvPAwzbadJErKH6aRVOBe1XiYpYszaQ==","signatures":[{"sig":"MEYCIQDZIsFWzIp3Bah7O/geX3+rgoryOgwVxRwHLg8ZDn7z7gIhAMt6Az1LJIiFJ3P5aFQkUSbefPc+huVWS9MwJF8FFRUF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appsyogi%2fgsc-mcp-server@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":435803},"main":"./dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"84f9369f52db3ea0bf824f970022f59e2bd481ca","scripts":{"dev":"tsup --watch","lint":"eslint src/","build":"tsup","start":"node dist/cli/index.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"superzero11","email":"rahul.vit09@gmail.com"},"repository":{"url":"git+https://github.com/AppsYogi-com/gsc-mcp-server.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Search Console MCP Server - CLI-installable MCP server for GSC integration","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ora":"^8.0.0","zod":"^3.25.0","open":"^10.0.0","chalk":"^5.3.0","keytar":"^7.9.0","commander":"^12.0.0","env-paths":"^3.0.0","googleapis":"^140.0.0","better-sqlite3":"^11.0.0","@modelcontextprotocol/sdk":"^1.25.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/gsc-mcp-server_0.1.1_1768827762153_0.9391430036214237","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@appsyogi/gsc-mcp-server","version":"0.2.0","keywords":["mcp","google-search-console","gsc","seo","model-context-protocol","claude","cursor","ai","search-analytics"],"author":{"name":"SuperZero11"},"license":"MIT","_id":"@appsyogi/gsc-mcp-server@0.2.0","maintainers":[{"name":"superzero11","email":"rahul.vit09@gmail.com"}],"homepage":"https://github.com/AppsYogi-com/gsc-mcp-server#readme","bugs":{"url":"https://github.com/AppsYogi-com/gsc-mcp-server/issues"},"bin":{"gsc-mcp":"dist/cli/index.js"},"dist":{"shasum":"3753dfed390c66656d8da873d14c10c3734b97fc","tarball":"https://registry.npmjs.org/@appsyogi/gsc-mcp-server/-/gsc-mcp-server-0.2.0.tgz","fileCount":7,"integrity":"sha512-f4ZnwOZRSCuGwJvpqFNBSfswshbFqWD1sHVGJ4Eik0+JGyrwyexGS+zak10vtNzEkAVxjbz9ZBppXR+qXkD4bQ==","signatures":[{"sig":"MEQCIFgF/u03mJMOf8ht8qhOL5JXJIztDAJZgmXdeaC+vxFRAiByjtEenYOEgawd0A5tl6AyfWIuhBOPtsj8VGuFmrEKyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appsyogi%2fgsc-mcp-server@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":489315},"main":"./dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f134773c41e268caacb8275c0b685222fadf71d4","scripts":{"dev":"tsup --watch","lint":"eslint src/","build":"tsup","start":"node dist/cli/index.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"superzero11","email":"rahul.vit09@gmail.com"},"repository":{"url":"git+https://github.com/AppsYogi-com/gsc-mcp-server.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Search Console MCP Server - CLI-installable MCP server for GSC integration","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ora":"^8.0.0","zod":"^3.25.0","open":"^10.0.0","chalk":"^5.3.0","keytar":"^7.9.0","commander":"^12.0.0","env-paths":"^3.0.0","googleapis":"^140.0.0","better-sqlite3":"^11.0.0","@modelcontextprotocol/sdk":"^1.25.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/gsc-mcp-server_0.2.0_1769574894118_0.01818587985288711","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@appsyogi/gsc-mcp-server","version":"0.2.1","keywords":["mcp","google-search-console","gsc","seo","model-context-protocol","claude","cursor","ai","search-analytics"],"author":{"name":"SuperZero11"},"license":"MIT","_id":"@appsyogi/gsc-mcp-server@0.2.1","maintainers":[{"name":"superzero11","email":"rahul.vit09@gmail.com"}],"homepage":"https://github.com/AppsYogi-com/gsc-mcp-server#readme","bugs":{"url":"https://github.com/AppsYogi-com/gsc-mcp-server/issues"},"bin":{"gsc-mcp":"dist/cli/index.js"},"dist":{"shasum":"2ea0d2c44382e61cac616ab4911034399ae90dd9","tarball":"https://registry.npmjs.org/@appsyogi/gsc-mcp-server/-/gsc-mcp-server-0.2.1.tgz","fileCount":7,"integrity":"sha512-PuaYmvT4Fo2X9e4zJormwkKkNMUZA9sofC38JKBXlJ9r6526BLCGEcEfX0rT3KmstFQaX4bnOn+OykxvcpqWlg==","signatures":[{"sig":"MEQCIGOglaPVCoOcH1qdqzR5ciU3RICaz3trZy0F4RfRljLWAiBEuDl21R7Fv9CcypfJ6arsBm3zb88mb19xdb1wWjdUcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@appsyogi%2fgsc-mcp-server@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":490765},"main":"./dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0e3369e94e1cec2f0667e3fcb857fe2b5010d61e","scripts":{"dev":"tsup --watch","lint":"eslint src/","build":"tsup","start":"node dist/cli/index.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"superzero11","email":"rahul.vit09@gmail.com"},"repository":{"url":"git+https://github.com/AppsYogi-com/gsc-mcp-server.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Search Console MCP Server - CLI-installable MCP server for GSC integration","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ora":"^8.0.0","zod":"^3.25.0","open":"^10.0.0","chalk":"^5.3.0","keytar":"^7.9.0","commander":"^12.0.0","env-paths":"^3.0.0","googleapis":"^140.0.0","better-sqlite3":"^11.0.0","@modelcontextprotocol/sdk":"^1.25.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/gsc-mcp-server_0.2.1_1769575580350_0.2494457203319671","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-01-19T12:55:37.143Z","modified":"2026-03-27T10:27:03.317Z","0.1.0":"2026-01-19T12:55:37.381Z","0.1.1":"2026-01-19T13:02:42.326Z","0.2.0":"2026-01-28T04:34:54.332Z","0.2.1":"2026-01-28T04:46:20.534Z"},"bugs":{"url":"https://github.com/AppsYogi-com/gsc-mcp-server/issues"},"author":{"name":"SuperZero11"},"license":"MIT","homepage":"https://github.com/AppsYogi-com/gsc-mcp-server#readme","keywords":["mcp","google-search-console","gsc","seo","model-context-protocol","claude","cursor","ai","search-analytics"],"repository":{"url":"git+https://github.com/AppsYogi-com/gsc-mcp-server.git","type":"git"},"description":"Google Search Console MCP Server - CLI-installable MCP server for GSC integration","maintainers":[{"email":"vssmartniceman97@gmail.com","name":"vaibhavrajput"},{"email":"rahul.vit09@gmail.com","name":"superzero11"}],"readme":"# GSC-MCP-Server\n\n> Google Search Console MCP Server — Connect Google Search Console to Claude, Cursor, and other MCP clients.\n\n[![npm version](https://img.shields.io/npm/v/@appsyogi/gsc-mcp-server.svg)](https://www.npmjs.com/package/@appsyogi/gsc-mcp-server)\n[![npm downloads](https://img.shields.io/npm/dm/@appsyogi/gsc-mcp-server.svg)](https://www.npmjs.com/package/@appsyogi/gsc-mcp-server)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![CI](https://github.com/AppsYogi-com/gsc-mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/AppsYogi-com/gsc-mcp-server/actions/workflows/ci.yml)\n\n## Features\n\n- 🔍 **Search Analytics** — Query clicks, impressions, CTR, and position data\n- 📊 **SEO Opportunities** — Find low-CTR keywords, detect cannibalization issues\n- 📈 **Reports** — Weekly summaries, period comparisons\n- 🗺️ **Sitemaps** — List, submit, and manage sitemaps\n- 🔎 **URL Inspection** — Check indexing status (requires full scope)\n- 💾 **Caching** — SQLite cache for faster repeated queries\n- 🔐 **Secure** — OAuth tokens stored in OS keychain\n\n## Quick Start\n\n```bash\n# Install globally\nnpm install -g @appsyogi/gsc-mcp-server\n\n# Set up OAuth credentials\ngsc-mcp init\n\n# Verify setup\ngsc-mcp doctor\n\n# Start the server (for MCP clients)\ngsc-mcp run\n```\n\n## Prerequisites\n\n### 1. Create Google Cloud OAuth Credentials\n\nYou need to create your own OAuth credentials in Google Cloud Console:\n\n1. Go to [Google Cloud Console](https://console.cloud.google.com/)\n2. Create a new project or select an existing one\n3. Enable the **Google Search Console API**:\n   - Go to \"APIs & Services\" → \"Library\"\n   - Search for \"Google Search Console API\"\n   - Click \"Enable\"\n4. Create OAuth credentials:\n   - Go to \"APIs & Services\" → \"Credentials\"\n   - Click \"Create Credentials\" → \"OAuth client ID\"\n   - Choose \"Desktop application\"\n   - Name it (e.g., \"GSC-MCP\")\n   - Click \"Create\"\n5. Copy the **Client ID** and **Client Secret**\n6. Add test users (required while app is in testing mode):\n   - Go to \"APIs & Services\" → \"OAuth consent screen\"\n   - Scroll to \"Test users\" section\n   - Click \"Add users\"\n   - Add the Google account email(s) you'll use to authenticate\n   - Click \"Save\"\n\n> **Note:** While your app's publishing status is \"Testing\", only test users can authenticate. You can add up to 100 test users.\n\n### 2. Configure GSC-MCP\n\nRun the init command and enter your credentials:\n\n```bash\ngsc-mcp init\n```\n\nThis will:\n- Prompt for your Client ID and Client Secret\n- Open a browser for Google authentication\n- Store your refresh token securely in the OS keychain\n\n## Usage\n\n### CLI Commands\n\n```bash\n# Initialize with OAuth (interactive)\ngsc-mcp init\n\n# Initialize with service account\ngsc-mcp init --service-account /path/to/key.json\n\n# Initialize with full scope (for sitemap submission, URL inspection)\ngsc-mcp init --scope full\n\n# Check configuration and connectivity\ngsc-mcp doctor\ngsc-mcp doctor --verbose\n\n# Start MCP server (stdio mode)\ngsc-mcp run\n\n# Start in HTTP mode (for debugging)\ngsc-mcp run --http 3333\n\n# View current configuration\ngsc-mcp config\n\n# Clear credentials\ngsc-mcp logout\n```\n\n### MCP Client Configuration\n\n#### Claude Desktop\n\nAdd to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):\n\n```json\n{\n  \"mcpServers\": {\n    \"gsc\": {\n      \"command\": \"gsc-mcp\",\n      \"args\": [\"run\"]\n    }\n  }\n}\n```\n\n#### VS Code (Copilot)\n\nAdd to your VS Code MCP settings (`~/.vscode/mcp.json` or workspace settings):\n\n```json\n{\n  \"servers\": {\n    \"gsc\": {\n      \"command\": \"gsc-mcp\",\n      \"args\": [\"run\"],\n      \"type\": \"stdio\"\n    }\n  }\n}\n```\n\n#### Cursor\n\nAdd to your Cursor MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"gsc\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@appsyogi/gsc-mcp-server\", \"run\"]\n    }\n  }\n}\n```\n\n## Available Tools\n\n### Search Analytics\n\n| Tool | Description |\n|------|-------------|\n| `searchanalytics.query` | Query search performance data with dimensions and filters |\n| `report.comparePeriods` | Compare two time periods |\n\n### Sitemaps\n\n| Tool | Description | Scope |\n|------|-------------|-------|\n| `sitemaps.list` | List all sitemaps | readonly |\n| `sitemaps.get` | Get sitemap details | readonly |\n| `sitemaps.submit` | Submit a sitemap | full |\n| `sitemaps.delete` | Delete a sitemap | full |\n\n### URL Inspection\n\n| Tool | Description | Scope |\n|------|-------------|-------|\n| `urlInspection.inspect` | Inspect a URL's indexing status | full |\n| `urlInspection.batchInspect` | Inspect multiple URLs | full |\n\n### SEO Opportunities\n\n| Tool | Description |\n|------|-------------|\n| `opportunities.lowCtrHighPos` | Find quick-win keywords (position 4-20, low CTR) |\n| `opportunities.cannibalization` | Detect keyword cannibalization |\n| `report.weeklySummary` | Generate weekly performance summary |\n\n### Export\n\n| Tool | Description |\n|------|-------------|\n| `export.csv` | Export data as CSV |\n| `export.json` | Export data as JSON |\n\n## LLM Optimization (v0.2.0+)\n\nAll tools support parameters to reduce token consumption for LLM use cases:\n\n### Compact Response Format\n\nAdd `format: \"compact\"` to any tool for LLM-optimized output:\n\n```json\n{\n  \"siteUrl\": \"sc-domain:example.com\",\n  \"startDate\": \"2026-01-01\",\n  \"endDate\": \"2026-01-28\",\n  \"dimensions\": [\"query\"],\n  \"format\": \"compact\"\n}\n```\n\n**Compact format features:**\n- Short key names (`imp` instead of `impressions`, `pos` instead of `position`)\n- CTR as percentage string (`\"5.41%\"` instead of `0.054123...`)\n- Natural language summary field\n- URL prefixes stripped from page paths\n\n**Example compact response:**\n```json\n{\n  \"summary\": \"Top query 'example keyword' got 150 clicks at position 3.2\",\n  \"rows\": [\n    {\"key\": \"example keyword\", \"clicks\": 150, \"imp\": 2800, \"ctr\": \"5.36%\", \"pos\": 3.2}\n  ]\n}\n```\n\n### Date Rollup Granularity\n\nFor date dimension queries, use `granularity` to reduce row count:\n\n```json\n{\n  \"siteUrl\": \"sc-domain:example.com\",\n  \"startDate\": \"2025-07-01\",\n  \"endDate\": \"2026-01-28\",\n  \"dimensions\": [\"date\"],\n  \"granularity\": \"weekly\"\n}\n```\n\n**Options:**\n- `daily` — Default, returns daily data\n- `weekly` — Aggregates by week (Monday-based)\n- `monthly` — Aggregates by month\n- `auto` — Picks based on date range (>90 days = monthly, >21 days = weekly)\n\n### Default Row Limits\n\nDefault `rowLimit` is **25** (optimized for LLM context windows). Use higher values when needed:\n\n```json\n{\n  \"siteUrl\": \"sc-domain:example.com\",\n  \"rowLimit\": 100\n}\n```\n\nMaximum: 25,000 rows.\n\n## Resources\n\nThe server exposes browsable resources:\n\n- `gsc://sites` — List all properties\n- `gsc://sites/{siteUrl}/sitemaps` — List sitemaps for a property\n\n## Scopes\n\nGSC-MCP supports two permission levels:\n\n### Readonly (default)\n- Search analytics queries\n- List sitemaps\n- SEO analysis tools\n\n```bash\ngsc-mcp init  # Uses readonly by default\n```\n\n### Full\n- Everything in readonly, plus:\n- Submit/delete sitemaps\n- URL inspection\n\n```bash\ngsc-mcp init --scope full\n```\n\n## Configuration Files\n\nGSC-MCP stores configuration in platform-specific locations:\n\n| Platform | Config Path |\n|----------|-------------|\n| macOS | `~/.config/gsc-mcp/` |\n| Linux | `~/.config/gsc-mcp/` |\n| Windows | `%APPDATA%/gsc-mcp/` |\n\nFiles:\n- `config.json` — OAuth client ID/secret, scope settings\n- `cache.sqlite` — Query cache and saved presets\n\nTokens are stored securely in the OS keychain when available.\n\n## Service Account Setup\n\nFor automated/server use, you can use a service account instead of OAuth:\n\n1. Create a service account in Google Cloud Console\n2. Download the JSON key file\n3. Add the service account email as an owner in Google Search Console\n4. Initialize:\n\n```bash\ngsc-mcp init --service-account /path/to/key.json\n```\n\n## API Quotas\n\nGoogle Search Console API has a default quota of **1,200 queries per day**. GSC-MCP includes:\n\n- Automatic retry with exponential backoff\n- Query caching to reduce API calls\n- Pagination handling for large result sets\n\n## Examples\n\n### Find Quick-Win Keywords\n\n```\nUse gsc-mcp to find quick-win opportunities for my site https://example.com\n```\n\n### Weekly Report\n\n```\nGenerate a weekly performance summary for https://example.com\n```\n\n### Compare Periods\n\n```\nCompare search performance for https://example.com between last week and the week before\n```\n\n### Export Data\n\n```\nExport the top 1000 queries for https://example.com in the last 28 days as CSV\n```\n\n## Development\n\n```bash\n# Clone the repo\ngit clone https://github.com/AppsYogi-com/gsc-mcp-server.git\ncd gsc-mcp-server\n\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Run in dev mode\nnpm run dev\n\n# Test locally\nnode dist/cli/index.js doctor\n```\n\n## License\n\nMIT\n\n## Contributing\n\nContributions are welcome! Please open an issue or PR.\n\n## Credits\n\nBuilt with:\n- [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk)\n- [googleapis](https://github.com/googleapis/google-api-nodejs-client)\n- [commander](https://github.com/tj/commander.js)\n- [better-sqlite3](https://github.com/WiseLibs/better-sqlite3)\n","readmeFilename":"README.md"}