{"_id":"@digestseo/mcp-gsc","_rev":"38-478b0956759e32d0ccad4f1a56564a77","name":"@digestseo/mcp-gsc","dist-tags":{"latest":"0.4.36"},"versions":{"0.3.1":{"name":"@digestseo/mcp-gsc","version":"0.3.1","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.3.1","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"e48c4ab0bf3e248a63e564d5b83e3845335d15df","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.3.1.tgz","fileCount":14,"integrity":"sha512-MFlvyfR4rai6waBrugb1pXDm89sCkOz+hPR/2yt8pD6qLCbgd2sRlhGGOWBQSyC6FLDE5tc83rt344238jdFWQ==","signatures":[{"sig":"MEQCIDWyAjwGKzk8l9lwqNFG83jDcT+j8i3Su3K4ge2wH5QFAiBVcFQAxyMf1AnHByaixhf5kycT72dv3auhPbRrkCwcpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121178},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":">=20.0.0"},"gitHead":"1387f60aba192d812bdbff63c4335dbff1c896e5","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"akzar1el","email":"tomi.seregi99@gmail.com"},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.4.2","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zod":"^4.4.3","agents":"^0.13.1","wrangler":"^4.93.0","@modelcontextprotocol/sdk":"^1.29.0","@cloudflare/workers-oauth-provider":"^0.8.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","typescript":"^6.0.3","@cloudflare/workers-types":"^4.20260520.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.3.1_1785173137689_0.6867239898236319","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@digestseo/mcp-gsc","version":"0.4.0","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.0","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"5301a3ae053f4ffa550b5cfc303cef79d89aaf13","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.0.tgz","fileCount":27,"integrity":"sha512-4RHKZgR8xYsco09bAwNy5omCF3xlyq8cQK8BWdcHIQn026vP7neCUN5wOiu67eoPVmR7iEBC3DJj2PEsKjhjMQ==","signatures":[{"sig":"MEQCIHA00qBcigCOTXmRpmqWofIY3J53o//OL5QqnlmwCe5HAiA2L89pjjcRAY11WLZGv9UpeAd9NjhD5TXiu3JpyySrrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHfpYWiBbG8gXodHnnl7yrBz7IV1zlT12NVPzTq9mpFlAiEA6JErRjpGYUu8gD59TSrOFHW8/RgiUy7CYfcJYm204wo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":200097},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":">=20.0.0"},"gitHead":"d1fa458b8b150ba2906acedde4917c4db2783bd8","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.0_1789949935070_0.4736232275410781","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@digestseo/mcp-gsc","version":"0.4.1","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.1","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"afcd86e6f4ca6d65ae650394b74f4801b7ceb054","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.1.tgz","fileCount":28,"integrity":"sha512-Tq/Xy3oI7//iKOPPmuGG8OwQo89I5cCoZvDDPjbfjLn6/EU18FbTjzC8xRpiM7oj40f4r8MGpQNE7fxXnLvFSw==","signatures":[{"sig":"MEUCIAdTPCuCmKBNbetn0zdy7WqTMR/r2MgDlVP7uOR65Br+AiEAwZAbYALq3hiN4kIJ84Y5L3cF19X7FJGKgMgPOTq6poQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDnCCzQMNg7zhVar09y1vGl16JmQ/X7YQ1sVucXbaXbbgIgckYR1oKFC9bVCAOJKNVGt3nw8BitAfLJPS00r0ZIb1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":220228},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":">=20.0.0"},"gitHead":"52ff013a60c4f8ff7572e83772acc4f678107abc","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.1_1789954594737_0.9652702899960608","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@digestseo/mcp-gsc","version":"0.4.2","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.2","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"0b06313fc803f838bee4102287760220bd98234c","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.2.tgz","fileCount":28,"integrity":"sha512-a4rVxe81AK9x0bVnt8UPSgs1LuIE0voM44TiNFBgUmBitEqcb4uGwhgo72k/aciSSnfOcM5S2iHbzGPeiK6RZw==","signatures":[{"sig":"MEUCIQDNnVKEHjYmuTkKQkS3AuH7syOF0UfSibgARKsWNliJ6gIgHvCyrKjSmaizQ/N6Jvlbpis4lKKXfZC1lZAgFaAp5ys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDFLSo4S+ZUj7dt7w+dWlrviZegmIf4GeDdNqHpNPGxxQIgfMsb5Cp5VbWXJQCMzT9NOipjSL0ht5Qlk0PY4Zx7YeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":224531},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":">=20.0.0"},"gitHead":"7bd1ae6b479f7a5293c4dbee21359c1a33d44381","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.2_1789965634006_0.01853523055142814","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@digestseo/mcp-gsc","version":"0.4.3","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.3","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"1e3fe0c9d313563b5ed966f8ef70e99dc57e7339","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.3.tgz","fileCount":28,"integrity":"sha512-EE15x2fhYXBze4nS59/oKezyoTQO+8ttJ/ONw6kgadUE6qoDOW+Ll5sbIHR2i14LRBud4YB3iv89kIcARXNvLQ==","signatures":[{"sig":"MEYCIQDh0JKYFR1GaUCE+e0ru5i8duq9CflsGrR8t8DNtNh2OwIhALk/rRVzP8PPk6PqKwnwuFjpxKqVGIWDU6+1Zb2ouZIJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCzrj/oGhfXTa09iyt2Q58W7JfPrliGMcU0s9KO5qlIGQIgTshuiafGEcJYmtVqJdniHpWEl/wuQ80ze+VVzAlwXtQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":226038},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":">=22.0.0"},"gitHead":"ae7409f600a349337021865f2202de45b69efe89","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.3_1789973007490_0.9088065308175655","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@digestseo/mcp-gsc","version":"0.4.4","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.4","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"a7ef01725f4ae51d951f04f77a7b71b1443f6b0b","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.4.tgz","fileCount":28,"integrity":"sha512-58jLbKJYjgYb7ORh1jhI99DbqRT4WWZv18Lm01cSaitNGhI0plaUl/fI32jPASsiI4JI5Vel8v1Lq7UE2jAqSw==","signatures":[{"sig":"MEUCIQCzluYK+XOPzNkhadTQ8Bh4y8dbDTTx+RihqT52JEoeXwIgfzwLjARdxqbFuJqvQ0TXDY6vq6sM9A1E5LzWkRXGJyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDwnhRYYNA1zBhKXSkOt2ihQJ2bMSVI4PRR9avmlbhbagIgB4z4ERvInXn+FrwSZei84z/Eo2muVYffP58yd5iaYM8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":229101},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":">=22.0.0"},"gitHead":"7dba31be0658ac03bc71d4ca5075a9143ba73e23","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.4_1789980078788_0.9680785926989268","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@digestseo/mcp-gsc","version":"0.4.5","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.5","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"22e43088d42de03213081d4c5404e6bd9688ffdb","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.5.tgz","fileCount":30,"integrity":"sha512-WHxuR0t1gJpFmI4w08+hgY6zy36UZVl63ReoPgnc4b6+zq5P2gBeYtDz4mmvhg2sqM1bKU7IxTJ1ZxkJObznKA==","signatures":[{"sig":"MEUCIQDeAu4QJ1HoB81E4GIaw/d18UONozso+mFbZejn1vm3fQIgCLAV6bVR1fvu9zdTMNORHIwP1HfD7/nUYNF9MpnXz1g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDgPFcOwSFpSZy03KTJSon6itLT4qMq1cqPygLoylBslAIgdkeGL4oaCNvtczz0JRuEg2bnmdle9ip7lSR2bxmcznQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":231273},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":">=22.0.0"},"gitHead":"d5a4b06d2009d00215ec0365b0d072b74954f4c3","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.5_1789987508487_0.7986753287421713","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@digestseo/mcp-gsc","version":"0.4.6","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.6","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"b02c91b007c3ba22f191cc4accb2661a040242da","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.6.tgz","fileCount":30,"integrity":"sha512-rnBYvESwn8T1gYHfHUTxebW/mBia/1PSawc7VuLMKpR18eFZVwWIfswuFRTtKHLm6eH4JM+YowBdy8rM8DFv7w==","signatures":[{"sig":"MEYCIQCF5Buf/G84XNaE2q/KKP5QEXcI567VhFdwtodCZEitegIhAKgzgOMTQzc2RIjEEvkacA7+XgDgPPvcv/LQRfCl8cwA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD7pC7/DkQRwQ8zxNQ4+I4vZY/KjjiyGFnwFzNoc7C4mAIgVXFWowU4QxzrTY+SgAuxqQHOxgQ6IL1gh5MFP3hfk1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":237032},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"8759de603f1cedda8f23b2b9238214bdd8943f66","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.6_1789998911211_0.025735373753426716","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@digestseo/mcp-gsc","version":"0.4.7","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.7","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"ff95afff3335d70168a6f4ee2515bf50494506c3","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.7.tgz","fileCount":30,"integrity":"sha512-e1wmw5iki+Yc0Z3BbjcPZdjgEkR7Pe9CsgS7tDmiBLAXqwCtVfdqRag8MDJAVcdogAQs4fhktaNl/DluFmRKTg==","signatures":[{"sig":"MEQCIEP6bq/dkX+Z/SYrBWEdxlKDSxeuDIfJNPblcUhdd/+XAiAgOkZYAJ7cA0cuU0xOgwJT+uL3QBe/vi2wNCfKmxiWYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIG+j5cC2VYDeJ0Va4k/v5799+Q3VRG54V25VGdMx+t56AiB6haZUJgS/6ASc5AmTzNIWX274qz6kH5M+SSNYmTM2Hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":238243},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"fe272044754ad128468743ed040a2506253af80e","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.7_1790005917248_0.7005844435081257","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@digestseo/mcp-gsc","version":"0.4.8","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.8","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"32acd3cb55297af00dd2efeb4e459c8d64d0e171","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.8.tgz","fileCount":30,"integrity":"sha512-jbmR/ZWfn1y7i2V/tF6HAC3DfuyUPuvIe4gs5f/gV86LQryissxCuaet2XYJ+v9FMcTxZ43eBz7fkzT8GwwWqA==","signatures":[{"sig":"MEUCIAVu43Mvxe8mH9iIDynUTV7t+75xcP5C1t19hv4tuIK6AiEAt7F/v8l/14BR6GUuQTgJkxXqjWUMSMExObTYlhYxTj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFrhcOsqwbYpdbLcoiDEg+Qq9JQnU/YUcjw2dzOd3D7YAiEAkqAlxbo/A5YmiqRFjbD5q1b1MM1SlDwjI+n34rj18T0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":241320},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"c0671ded79c0bc934fe3faeeb8a7cfeba1a76a20","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.8_1790012517658_0.02272518481561958","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@digestseo/mcp-gsc","version":"0.4.9","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.9","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"01d7cfddf8a05a53ee5445293f55c20037a0481a","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.9.tgz","fileCount":30,"integrity":"sha512-Md/MFIRLSHXMLFQijlep0liCFN15A+Wkp5xStth7z+4GpM9tI5kToIhCw9stuniQ+Ohan8je0fcn2SfdwH6UNw==","signatures":[{"sig":"MEUCIQDbQP9SKLVhRCydGzJivlIrLt0hmExH3JZllJA1EzHibwIgX2b9nGAsuxXPV0Y977RBRIMUGWpbsarSL+qo3WQEwlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCMV38Z/atM7oYM1aa7dsRZ+YwFE++IWOMyOwVmd3/4GQIgaXIPZ7YvR4LoOcRksZZyBRfMC3tKH9yfE1wNnUmEttM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":245341},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"096fb9023ea689e328c6be5bcc59e5c6f576eae8","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.9_1790020135540_0.33884770979639023","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@digestseo/mcp-gsc","version":"0.4.10","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.10","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"b55b74cf2328f9eeaa2d6dbae76f379c585217ba","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.10.tgz","fileCount":30,"integrity":"sha512-Ino1wNiuYjv+eXYEg2q7JuJqqIXSp2Mzf9+w0pZhoh2wvTohjcV94RAgzul8Lj4mrpcEIICDnf3u1CeqtC9S1g==","signatures":[{"sig":"MEUCIQCcQtLkIRIubkrqxSF/Y9UzHaMJ1XoOlhYgslBc9hReuAIgbJiHKDbPLF7auwNHIUD+jlXK+Ut95/mCYVEL9DKZlW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICF2E9oGHRgi1ZkKfzjBSHF7Z2LCggQhfNt+UkTxCMuWAiA5hhb9g5zfAojxjPkJKgl52d68vr1aYGdayRbSdoPBuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":245854},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"fe3f9bf1bc378c8d172a97111f6c8a00b58c255c","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.10_1790023532149_0.9462568028272338","host":"s3://npm-registry-packages-npm-production"}},"0.4.11":{"name":"@digestseo/mcp-gsc","version":"0.4.11","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.11","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"5d06b641b21204d4dba68f2fee339b2f97dbd8ea","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.11.tgz","fileCount":30,"integrity":"sha512-4CNY+BWZ3srihrAv7ovuwwPaxLIqbv9lFahA7peWDonEVS9KvhRTNsK/q6he5WCEUBSI+g/BIBfRih2MAwcf+Q==","signatures":[{"sig":"MEUCIQChmnaCyoTWlOUr5rB//3enVQqlRAOB7q7K1V0hWqJjNwIgLdZqH+iLE8J1T1pfZA9P2itsyFtqc5TcH2ArMx8BGcA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDBi4gU4GlFaLjdjvzymGcGuCXqPZOSgEzIcwctc0OMxgIhAIpTIuNEwssfFulp8s7AXnOx8scfUB9IjLOqcN4Q/TN7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":248794},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"ab7a5f1234b40a78474d7199748722ed4c8f8fa2","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.11_1790031340930_0.010475599288111592","host":"s3://npm-registry-packages-npm-production"}},"0.4.12":{"name":"@digestseo/mcp-gsc","version":"0.4.12","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.12","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"19dd09874aa5d793e9890bfb238b056e006a0631","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.12.tgz","fileCount":30,"integrity":"sha512-cU1Nd8zxhrzdsUDA/BMHq4pZ7OQQgJcwBRjasNPj5nsQRijiE/kU3TMY29NtlPm7iMy0jwhsoomR5lusTJ+Ucg==","signatures":[{"sig":"MEUCIH6EcSauJwKObUOcP40Uf4QuHXvc1WErv1URR/v9Z2UQAiEAyM/TygSGY8tqtSjwIGqdqqpgQRIqweRz8GHbo4zNyi8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD33oqHp77C6cKgHToUewMWLo7XnohEsLeirIvqnN3eVAIgc7l0THnZ0MOTy9ew3onehMb0+rXHKmCZSGYZjFFmVxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":252956},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"7ad47ff571092a458761514bd9b1f20c0cfb40e6","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.12_1790044365301_0.7503254027055559","host":"s3://npm-registry-packages-npm-production"}},"0.4.13":{"name":"@digestseo/mcp-gsc","version":"0.4.13","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.13","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"7b0698bfc2e02eb91bdd6391c13a9ed197c2469f","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.13.tgz","fileCount":30,"integrity":"sha512-+4O/UMVB0aPlKsn/NIqJwGTiIeg/M+Z0d1N9BTYAbnA+h3noBFbqMnxYGwd7natxr9nhophaTAJUP4ZorB5Piw==","signatures":[{"sig":"MEUCIQCZUkYj8UqqZLfYOKjSp8vIOGuUvcKuPfDJW13zOy4zvQIgGzEff0+AXuqxeGFHMOX3vTwmVXtiS5JQB1+O53RyIfs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDOKqmg4Zr9gfYLKQgGlZrg3Jq0BtCj4HSYinAitZd1zgIhALJYBFNMopAgS8mgmmEVdsa+8W/yCWvbcC11g0r/O5uL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":257934},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"5f36a9577d2296b81c2baf1a4857d52b200af50e","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.13_1790046823237_0.39140974847164745","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"@digestseo/mcp-gsc","version":"0.4.14","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.14","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"025ca8f2ce175517f175458de40963883f9f8ed0","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.14.tgz","fileCount":30,"integrity":"sha512-xMbWVBVAa2uD0CuOPUQvOcsQxVX4G4WDilW/qwKKosEDc/EGu2J6Yq37b6J2BSTIaagyM+AU+4MYaqz9VMYZwg==","signatures":[{"sig":"MEUCIQD8dMWupl2FaqJS1nuTZ7BcNeOOubVNgFy3xZLR0E5a2wIgYsudLqwQPg+igGgTq/K7ecvOZwlgKKKWJAHKNXusS2Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCmdjfkqzXlweChHYiy8HB9TNkUvutNu2pVkmufquWcfwIhALpAths6tyum5CmgRygmMW3aC91X81OztoEF05qajr8z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":259586},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"e86a77bee42421b762891dad15fe60198dc2fac8","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.14_1790051689284_0.37342781311421347","host":"s3://npm-registry-packages-npm-production"}},"0.4.15":{"name":"@digestseo/mcp-gsc","version":"0.4.15","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.15","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"dea955ecb918979de26b46d8e0aca9a4abda9029","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.15.tgz","fileCount":30,"integrity":"sha512-Nzb47syGNatIy6jRpT0QvB4jURolpb9umDqoP9mH7BpnLoXWh6Y5NDsrc3+5vbLouli0+5U6MfuPqoZQUsrzzA==","signatures":[{"sig":"MEUCIQDYlceNkbsAviB5e4Xj9k278cddPB9KrCS/GzaRfadldwIgcBMzR8zgw51mZtUy8Hn19Arb9UL/SjoP/HxOizjWtuc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDKMEztPWONPhfcN5Q1mEcNFqDahg8IoBfYxoP8OgLimgIhAOwrjd67WnrxfogB1mWFKAl6CHrha9fupY2BVz8oWCsA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261449},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"b60689179c4a82cf89ef255c204d63f7344b8cbb","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.15_1790055624745_0.8075732200348307","host":"s3://npm-registry-packages-npm-production"}},"0.4.16":{"name":"@digestseo/mcp-gsc","version":"0.4.16","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.16","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"bf01f0ccf3b8b2915b268227abaabe59f495fbd8","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.16.tgz","fileCount":30,"integrity":"sha512-VLiQYRQJCjJC+FirXZrKSAZtThosKlPeLB9oWtBoF9daCFIba+vMXcee6Tl72bYJ+sUa9iJbstR/6rRf4VnxnA==","signatures":[{"sig":"MEUCIQCb0hifFfFnNsUe1Odn95DnVPDcXrJuvCBoKZUKntQOBgIgNri8cmcYS7GM132HEcLUGdimlVFCac/NRi6suH5W2kI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC8TQ3bGBzmfyv03K47iLhO6E9Lu/h0GuVoOFQ5+/4ZZAIhAJBMXmcB4nn1ph1tjCw2AVu4XDZBtp4N5R61eX2ew102","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":265083},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"33590f7d60b76018bcdd7203fc6ed41b1b09ba1f","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.16_1790063215946_0.9355199896052928","host":"s3://npm-registry-packages-npm-production"}},"0.4.17":{"name":"@digestseo/mcp-gsc","version":"0.4.17","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.17","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"e9dab9c2baade24d0783e1d8074370ef0a5b52c8","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.17.tgz","fileCount":30,"integrity":"sha512-Jo4TdynvprN/dw10i33kKmi1fpnkd+pMrq1MJ8WOv3+w+K28LbSCnWU51as5/0+3ju7L/OaK/m+Z/jil8x32Gg==","signatures":[{"sig":"MEUCIQCp4+H18ha9V1MFOrIsT9nJS4L5qkA8rvQEz9D5WCW69QIgJFXi3zx4mlDOMysY0lYJgyRM9hWOcmOzIzUsecAhbeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEoFNfx72RQ6OnttJ7xwh4k4ONyeSLTAPahVID5qK8VBAiEAtcdPRrRYSucGYJ+8SxPx/ejtwPdPXCsa1Z7UCShRQlQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":272337},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"dae3a947a23c150284742992284c163d77b0c7d9","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.17_1790069789326_0.27033568026714394","host":"s3://npm-registry-packages-npm-production"}},"0.4.18":{"name":"@digestseo/mcp-gsc","version":"0.4.18","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.18","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"90d10ad7334eb0ccd882c93daea5b71a59dede68","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.18.tgz","fileCount":30,"integrity":"sha512-1tYKa/UoWuTlukE056yg6e2Iw9hi7CNwfs5hLwXwHfbSyKo3HaxSqcJpR/cGd0QX47sBJnD1JoADYdCJAprLKQ==","signatures":[{"sig":"MEUCIQCcKMfJUYJOb+Qlc8/1IbIO7fRa1QECP7eYfY+hpNbNrQIgUV3TiLhOUMqdYkPRDb5M0BngtaUp2QhbbjmcFtH55KE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDAxJwPb5TY8Wr1fAbPVhFGJtJPlKyLL1qe2Jt9PVo/YAiEAjtREXsA+XIBSQjqzM7Ohp/csYon4PGJDQ6IzYRETJhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":275457},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"f68aa46851e93d48cb9a03f05c77b35433a8118a","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.18_1790076991727_0.23765667488598274","host":"s3://npm-registry-packages-npm-production"}},"0.4.19":{"name":"@digestseo/mcp-gsc","version":"0.4.19","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.19","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"60b6e49e55788afe2628b81f81130fe822c20f43","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.19.tgz","fileCount":30,"integrity":"sha512-AObLrMEcouH2m823tkgwDRZp8+095o49bAEIV8Gq6QWUaCKbpBxuF1NHRo2LL7Iaqb80iqjvTVmjM4roMhSArA==","signatures":[{"sig":"MEQCIF879JL/W1NyvxrH8Q3Kq+YkzbxvkrVQCejAgIVp3KZJAiBBJ4YKPVvkB9ozmOYb1DMhkTHmBvQI5q9WsIOSlOQKbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCdeBBF4ypGg3fnexOcVnzLVO4NmDE2GVRjw1/dAanXYAIhAJoRNZMXTZQM06QuacX9BKtIOjt5UEfjDTI1BgJbDd8t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":277053},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"a333b6edd52cbda2e761f2ff8aed0394c1030a9f","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.19_1790080777120_0.627946756436506","host":"s3://npm-registry-packages-npm-production"}},"0.4.20":{"name":"@digestseo/mcp-gsc","version":"0.4.20","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.20","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"a793353e53a09707f7687f913646adf8702c3185","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.20.tgz","fileCount":30,"integrity":"sha512-GN20RLV4ZwumbtH0bqe1CziCX4UqJulLXpNAyANNGlXYzrAtJUshX32Agx/9RyJM1HYVYVRj6J8DeKfZ0lY2sg==","signatures":[{"sig":"MEYCIQDFnC7xlQGNeuA4qlUowSvfCK30mtsPPPRcBmwF9iOk1gIhALYTsdTQ7gCej5vYVBYBclEj+PVGMUupbfflq3vD8SGK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDsgUJRs/w6ugzetY8JkKSla+mfsS9xUUYn4nJJ6cXcDAiBK0UGLD1MY/r4wIywk7/TLC6IhNjW3nOECtm6atS0m6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":278313},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"9b9a8e48b55cf81d4946a0c2df3bc4267aa55277","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.20_1790091288749_0.9643509805543926","host":"s3://npm-registry-packages-npm-production"}},"0.4.21":{"name":"@digestseo/mcp-gsc","version":"0.4.21","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.21","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"95a60565a19f00a545646ab19e3db98a31e84aec","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.21.tgz","fileCount":30,"integrity":"sha512-u/tlo3e3AZLJc9JZ+uCjekFcMxbm/ri9i48eIR2aJ+BCbbakTgy1wAIHf6S7+Rn+OMhUVephcry/ypAsJPPojg==","signatures":[{"sig":"MEYCIQD73vGV14yzdkguhRv8Z7ndypDzBD9GH1+omle2LoZgdQIhAO0x9UV2mfc2nU/y7ym10Sn0QIib9h+ViiohucGxiMXV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDZJ+Pvd4XBgqT5HdyZVuUsM3lHnjdNrLti/2IXwsJESgIhAOMnoiZ6aZWch6eJEt14i/CX3F9pcN/9U6H5j/KgQ8oP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":279401},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"92e3bf38bab3089f0233967c358b89742a302486","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.135.0","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.1.13","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.21_1790098961266_0.26166674351919794","host":"s3://npm-registry-packages-npm-production"}},"0.4.22":{"name":"@digestseo/mcp-gsc","version":"0.4.22","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.22","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"5593d6c52a95409fb40555f86c424c4b626b9e83","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.22.tgz","fileCount":30,"integrity":"sha512-+CuqntD+KY3LdL12IyCNU2WL5MaXIqAex6nxeBiLl1c49aa8osTP5lhLZ+9G/If/kwKA9d01t0rU2GVXN0isOg==","signatures":[{"sig":"MEYCIQDTQp7+3csqwUsemS4ieCXyNxWIs6tNpCyqx1nintdOJwIhAK9N6lhBCIlk3+6Pm3ENwNw1QAxrfpwEnIZoDcLbubB7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCt/L+cjDXFeubvtAcdK8N2XierhlVet4LhBO9HphxElAIgWSWpR+/r9y8SZw4gCW05ATcpFIXsYvO2Kg0xs7onlRY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":280347},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"d1a64dda1982b072ea457494dd60659dd8362e95","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.22_1790111538956_0.42829971963395974","host":"s3://npm-registry-packages-npm-production"}},"0.4.23":{"name":"@digestseo/mcp-gsc","version":"0.4.23","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.23","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"c23802e32fe4d362b0e766f6c0b76dca3f7e222e","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.23.tgz","fileCount":30,"integrity":"sha512-Wfk/Ko9lEoclU1YObxNB+qGPpi9TzIWagz6nYspMb8mIam/9uKYzdcOaPprnay19he/ZSegZxEppV0e+JnkSkg==","signatures":[{"sig":"MEQCICQSioiEt3aDnkLg6mCGV/TZRZNgOBSsjetWIR914MItAiA16XQYxYP4pTfd59cbpd9XNuzylYF5jIEL90qlIjsbzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAid5ha23IMWvzCskuTyHe/jSBjT/KyXdWms1OhwB3skAiEApXq6XsDpiNELIrDzkZ+3h92xHf2Jn07tq+rkXvmsxJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":290669},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"49bb4410ead22920ac7f19ffdb15f0ef377a5167","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.23_1790114827202_0.7517462427228945","host":"s3://npm-registry-packages-npm-production"}},"0.4.24":{"name":"@digestseo/mcp-gsc","version":"0.4.24","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.24","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"02c42841a7cf4086234aad259bec7b963973e2f0","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.24.tgz","fileCount":30,"integrity":"sha512-zY4R09UxuqnsoqCpOgkdFVZtUD7F8rwU3cMa+MbtM28fLSb4tZOQaZfyXpDxvFTO3P2TGAWCtFsro9xBWiqnsQ==","signatures":[{"sig":"MEUCIQC0CvfymzcHA6KZF3txw33t8FzO1hZP77q85nJwXrs5NwIgf2Xzh0DrWwV5Vg9Ku0VOaoj/42pOXKAXd4qREBd/+xs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFn4pmQV2tnReXEqqgDUxvZhoqqS/KQiRNejmsDWsl13AiBDyAnPDzuEiW+H/AwWUuq7TwqrfqPCt367CC0Ydan6yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":301824},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"836f266c4d4b516805ef71350de9f8b7f0ae463a","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.24_1790117408111_0.9948844077170904","host":"s3://npm-registry-packages-npm-production"}},"0.4.25":{"name":"@digestseo/mcp-gsc","version":"0.4.25","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.25","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"74b998ccf2f1c708757829ee3082b2292f730976","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.25.tgz","fileCount":30,"integrity":"sha512-S17d+PW1EqKSyN7JdIk8EfFF4UkDUX8XuTwYfQerEns7MY7EsikQJozuHVd2I5rZCZDZCDd/8rxYQqikqUYWrA==","signatures":[{"sig":"MEUCIGnhmXhw2M+gGyyxvD1QETd/Ts6RgXF+uAjwemF8NVMFAiEA0rX+J7ftO8gQt0Cxl96tSUYByNzh54G9UVXqnrfmlc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHtBqnhoh6UbsCa4Ytq0hnag4fQtuwnDC1GhsVPLPEvqAiEA3tJ8pLgAWCnsF9LCa+iD5NGHoiB8ODNdF97GirYMTkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":303362},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"90502344246c25c6b210dba34580dddde29d33eb","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.25_1790125257651_0.09826158837397192","host":"s3://npm-registry-packages-npm-production"}},"0.4.26":{"name":"@digestseo/mcp-gsc","version":"0.4.26","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.26","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"8c42a6e264358d06a02ea8387e99f1e2d44d0437","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.26.tgz","fileCount":30,"integrity":"sha512-m3R+FEyzdav8WVRhK+1PWnrD5nKVR/pF4qMQ6+rzGiLNU0pYEeSCF2PY8rs0Hvytg7d755qtjvxTcFRu1T1kGA==","signatures":[{"sig":"MEUCIQCBWnJAQ5plB5vDTZK4JxxonWBUHRIFEKU1rjcsLiCYJAIgZpTCSxb2Cj4c8Sqt2by2mA2P2VyQiYk6yayCpJ6ICPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCmLz2fLVWNgtdBZHk6DSSHEjjrbndg2gvLKMVjiPV/EgIgGvPm4Ko3/i6fe2Y+rX9+Ledu8fwYH/BvmzreUO4NsDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":304946},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"e95510dc29a3c32fda204426a5f8eb9e31f23fc0","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:launcher && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:launcher":"node --test tests/launcher.test.mjs","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.26_1790135134551_0.1586873607440531","host":"s3://npm-registry-packages-npm-production"}},"0.4.27":{"name":"@digestseo/mcp-gsc","version":"0.4.27","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.27","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"e39ddd4d78b27fbef499a5a1acd86d74545ef0c0","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.27.tgz","fileCount":30,"integrity":"sha512-ae7zAAB72Skx3j437/S7ExEqEI3kvImgOILx4D1pAXH87eG/FOYNZSFCbBm8hkIeH9pZ2IS0aT+CaFZPmi0zig==","signatures":[{"sig":"MEUCID7oUD2pHkym2dyCjADbrGCw8kjYYeM6hhucWsBa8/akAiEA9D3WhE7PKT+Tir78JEOK7/7mOI70+YmQ89XtbEu/Z2M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCP5hD9eyl1pay2BPC1na100InD1ESCmjHfJTwnGKD4NQIhAIC7rPJzbpKnIspd9g8o5sxs3Nw84W5PuRZtGkBIBpfT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":307313},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"4cef23b3a2c5e1d2b9136c1676ca9b859e91eec5","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:launcher && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:launcher":"node --test tests/launcher.test.mjs","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.27_1790145967708_0.16406663113420317","host":"s3://npm-registry-packages-npm-production"}},"0.4.28":{"name":"@digestseo/mcp-gsc","version":"0.4.28","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.28","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"9fd397fa737c67a74b8716c96608bb3cb92b3ae2","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.28.tgz","fileCount":30,"integrity":"sha512-A8aAiT9GDcORoGAUNNCI8ZHagviWjPn8wjIFwu8HxIJvrn9j54SzGSwn8eMbZm4UlOE71rCEJtbCbvRD3onH5g==","signatures":[{"sig":"MEUCIQC8eyUTIn+wfnDikNnrvVKaZyuHTtXNAnF95BWXQ0bMvgIgO0SfDLsva6EcP1q4fwVdkZndlQmKaluF16Q6WgBpL8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD6EKdcDZ6Zo/Asq+jCxkfaKZD2L1cBsu5I3mE73OskFgIgOcBgTq4WkwtTtmn6WCgxmEdu/Fdjs4RlTqrXe47zoUc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":310178},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"425575842227676867454b6351eefe994c80494d","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:launcher && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:launcher":"node --test tests/launcher.test.mjs","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.28_1790189484063_0.6990063750640698","host":"s3://npm-registry-packages-npm-production"}},"0.4.29":{"name":"@digestseo/mcp-gsc","version":"0.4.29","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.29","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"8c5e528476c0c1f61351729fa48fe810271f5bf3","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.29.tgz","fileCount":30,"integrity":"sha512-90qXwCSsG4Bvh75+THuVM4M2yp6BVDioncDeQeYAMlV4gWcs9UboJWv4yb1A8f9C8H07+l/42zd7XZS/7QbdQg==","signatures":[{"sig":"MEQCIEv5Nxo6szpP4E98nKZvzftPvG6eK0kbhKvvi2vb+AdTAiAX5YVqWNr/xLpEKkI35IyMxGlENX4GI9ki0H1x3zM57g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDJzbnetpDZOXtE8FDeFztky13+kgWIu7lU2vJP28+OtgIgER0htwflbJI4st1GGWB4+V6lkSj1116RuxShe4gSYhE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":311134},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"57a22e7e6d40781bc6b9073fafd080d7faf6ce9f","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:launcher && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:launcher":"node --test tests/launcher.test.mjs","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.29_1790193052314_0.4024788302583542","host":"s3://npm-registry-packages-npm-production"}},"0.4.30":{"name":"@digestseo/mcp-gsc","version":"0.4.30","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.30","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"52c2a3b593820ddafc61fa047244c95d7b105198","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.30.tgz","fileCount":31,"integrity":"sha512-nyxdO4vhXAZtiQLJut2Netm4r8LDNxEeDhnyL7+7udwwfzDrMNgsnjUh9o3Dfm5lvlaRHBOiflPdkCb25tpxLA==","signatures":[{"sig":"MEQCIDExZH6qvOVwMzt0sH45WyQJO5leW/akLkykVNzGTqOuAiBjgKDrrxYn5CLapQhDBgYZy6FNBgXGdOMxt7+4FbpXFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHP3CZ+3mt7+KVqtKOE2pjr70ZizF7bBYEX5nRpWmYP0AiEA17DPRH6X4AIoAs7eTZ2V36pgIM2lHkdfoJpXxcZL3Ps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":311222},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"213aebbb72f3add702f6a205b564627d890298d7","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:launcher && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:launcher":"node --test tests/launcher.test.mjs","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.30_1790200078654_0.43531140081278563","host":"s3://npm-registry-packages-npm-production"}},"0.4.31":{"name":"@digestseo/mcp-gsc","version":"0.4.31","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.31","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"f2fc4c3cf9702fdd39bc999a4a4ff1435830e85d","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.31.tgz","fileCount":31,"integrity":"sha512-ylbSZCbcx/U5RfYH9ryF1i+inBMRl+3LHRjo2rFuxg+guPSYVFsy+jlOjRnulGQ+xpNHjxWtAfGp9QfwkHtMNw==","signatures":[{"sig":"MEYCIQDTbAIU32ys/F3t1LrKOgqFfku9rYHyOWlzL3Yjdi+/pAIhAKEYuIHLsN3IlWY+vOQ15UAolDarsvL3Q07sQGOPYx+T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCnnMs7plRlbE3569g36oNOGBFdacabcV03xcNgL4puAAIhAN8/vp+njGayVQQZZ2mg5PSzdgCMI9Wn184NUCnaYuHp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":315339},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"948c2570e06ff7b9b31290e6f7ac4381fa214c91","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:launcher && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:launcher":"node --test tests/launcher.test.mjs","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.31_1790211072169_0.2897918714397325","host":"s3://npm-registry-packages-npm-production"}},"0.4.32":{"name":"@digestseo/mcp-gsc","version":"0.4.32","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.32","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"2f46edf8d5d08edd9794fd752cdcf581cb3ec626","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.32.tgz","fileCount":31,"integrity":"sha512-WtGevm27uGibCziMsrNK52+Lhz7kdpEJYL8kIbH+NyAOkqogbR4R/lfZZljjqPWdG4slVb0ydPmAcZAz/XnoXw==","signatures":[{"sig":"MEYCIQDSVUujW4m335exDkuV3WkFFkQt9bQGMcaxC7BWvXOaegIhALxCAg6agDSulZjWLNad6MwRTXnLa8P36NfWNsgKRq/9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDH8CmIfkhb9jGI8B0mknnSfVhJ5zTr+XSHhM/5yxfLoQIgEpsqsO6crj6FRt64wN2dzgsJpKiODaCYFlJe0zh4TRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":322103},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"7793c3106d9ad3b5ebbe414f3a86daf2218b42cf","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:launcher && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:launcher":"node --test tests/launcher.test.mjs","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.32_1790218551237_0.6318932325041791","host":"s3://npm-registry-packages-npm-production"}},"0.4.33":{"name":"@digestseo/mcp-gsc","version":"0.4.33","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.33","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"8a8cb6ef74f9b880214be9633b8d8d62ae19250b","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.33.tgz","fileCount":31,"integrity":"sha512-whXYotXZKwv/A2RQf78T7+k8JKZ4AbCGDIE+Hdy7LWKz05JjpR+V6HhJqbdyONkT++nJtG04a8qNqHx4uJq4Rw==","signatures":[{"sig":"MEUCIGrve9Y+nMHxmCwch7X+ehdhma6+Wx0zoTOcKNJRDCJtAiEAiiKmfTgOi4Z5ksby/TNiqXeqLtgMi5s9iDe0oVzbJRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB+039R8mCPhA/avMX8RrXBZjkFcHK/+ExqfDd9u3guUAiEA1yL68o7Qi4MShA4s6EfugY3SZqdhRGBvkOq4AD6xP9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":323921},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"b48838c9be00d1a903ca4283cf56073dfe1b6078","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:launcher && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:launcher":"node --test tests/launcher.test.mjs","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.33_1790225275151_0.716439675941591","host":"s3://npm-registry-packages-npm-production"}},"0.4.34":{"name":"@digestseo/mcp-gsc","version":"0.4.34","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.34","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"7392fd344dc3b1812a6aa3c7715dc87cf2418514","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.34.tgz","fileCount":31,"integrity":"sha512-TgEioRXLD7ycuaPmFJiZW50a0GIeAcXSbxo/bNNOZed7UMHwatjspJdCMPjQeOPycqSdFNx7GDJqmE/nHlNpiQ==","signatures":[{"sig":"MEQCIH/e+7KllvfQi3sXfHVnrAwSRCf+P++H8MWYhfj82/DiAiBkSPYO4XuYHTq2ymIeErWRyqX1uKErIr9RTQSZvFqmdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCr4Xl1M12A/FCWaNmPadEd2kCtrThTIXImWnmGpVM9nQIgKsPhJh1dCftQ6Xp7tNJKncwI3YhQNpb/e+iCaYugi18=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":324760},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"8e3de89e6f96e904eaff1ef29970d84437ee60c1","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:launcher && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:launcher":"node --test tests/launcher.test.mjs","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.34_1790233255070_0.603485946859929","host":"s3://npm-registry-packages-npm-production"}},"0.4.35":{"name":"@digestseo/mcp-gsc","version":"0.4.35","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","_id":"@digestseo/mcp-gsc@0.4.35","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"homepage":"https://digestseo.com/gsc-mcp/","bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"bin":{"mcp-gsc":"scripts/glama-start.mjs"},"dist":{"shasum":"a092edb15da231a2ab4126e83913ea698d07f958","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.35.tgz","fileCount":31,"integrity":"sha512-jZDy8LH1LkLI0pbm5BWjxLQZC12q+pP9vhs7ssSteswb+okBXddtb6WXXs+jDdsfi8J/g5iggTSTAxWJ2yXiFQ==","signatures":[{"sig":"MEUCIQDlZhTkuNMt7CSut/mlKclYOU5Mqs6/H/YUV25aPTha+AIgR1Wk6xlRkV8p41GypmBdKhntQ2ESk7SrhM+8JVuvr2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBwGvecqZkYu4+ey9ussQjB0cCYfkNjxXhjjkjFHp8V8AiEA9tWjTwtoCpaEnIj1wC19xmHtNQviPKbT7UTzXHmcbr8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":326334},"main":"scripts/glama-start.mjs","type":"module","engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"a3c75bb650235a1956fb008a292b38db38ec6b7e","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:launcher && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:launcher":"node --test tests/launcher.test.mjs","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"tmp":"tmp/mcp-gsc_0.4.35_1790248699740_0.5891989202185628","host":"s3://npm-registry-packages-npm-production"}},"0.4.36":{"_id":"@digestseo/mcp-gsc@0.4.36","bin":{"mcp-gsc":"scripts/glama-start.mjs"},"bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"dist":{"shasum":"fb3c07b66922fd31bdc419c8f40c907c2cb328a8","tarball":"https://registry.npmjs.org/@digestseo/mcp-gsc/-/mcp-gsc-0.4.36.tgz","fileCount":31,"integrity":"sha512-sRc4u6LvdEb1XNbgcF9c+MzYE+XdjkuMNqQWLckfBKmg8RNUsWfRhidCN+Nsy07X5pgkyzxbajIRZqRTiFWZTw==","signatures":[{"sig":"MEUCIQD/T748LMWSXl4BcdqF3UsLWRqy0KwqWFFnQKhHOBhcVwIgM3VXvIy7yDhYFGsHCR3XzmSiHxRrYU22UbKxtz+taDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGoP31OMdh6d/ADA++Kq8jVRIPuupWlMj2j3SOPOJcDJAiEA5do9gko8oyx2BWM2qK9yYaPIgLImzvblBFmQaBb2J6Q="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@digestseo%2fmcp-gsc@0.4.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":330124},"main":"scripts/glama-start.mjs","name":"@digestseo/mcp-gsc","type":"module","author":{"url":"https://digestseo.com/","name":"DigestSEO"},"engines":{"node":"^22.18.0 || >=24.11.0"},"gitHead":"ed20b9af564ac2de16b9d2f576e7b31ca6559e02","license":"MIT","mcpName":"io.github.AKzar1el/mcp-gsc","private":false,"scripts":{"dev":"wrangler dev","test":"npm run typecheck && npm run test:metadata && npm run test:launcher && npm run test:oauth-state && npm run test:comparison && npm run test:annotations && npm run test:worker && npm run test:access-mode && npm run test:access-token-lifecycle && npm run test:analytics-response-metadata && npm run test:indexing-authorization && npm run test:indexing-eligibility && npm run test:insight-pagination && npm run test:tool-rate-limits && npm run test:unit","build":"npm run typecheck","start":"node scripts/glama-start.mjs","deploy":"wrangler deploy","test:unit":"tsx --test tests/unit.test.ts","typecheck":"tsc --noEmit","test:smoke":"node --test tests/smoke.test.mjs","test:worker":"vitest run --config vitest.worker.config.ts","test:launcher":"node --test tests/launcher.test.mjs","test:metadata":"tsx --test tests/metadata.test.ts","prepublishOnly":"npm test","test:comparison":"tsx --test tests/performance-comparison.test.ts","test:access-mode":"tsx --test tests/access-mode.test.ts","test:annotations":"tsx --test tests/write-tool-annotations.test.ts","test:oauth-state":"tsx --test tests/pending-auth-state.test.ts","test:tool-rate-limits":"tsx --test tests/tool-rate-limit.test.ts","test:insight-pagination":"tsx --test tests/insight-pagination.test.ts","test:indexing-eligibility":"tsx --test tests/indexing-eligibility.test.ts","test:access-token-lifecycle":"tsx --test tests/access-token-lifecycle.test.ts","test:indexing-authorization":"tsx --test tests/indexing-property-authorization.test.ts","test:analytics-response-metadata":"tsx --test tests/analytics-response-metadata.test.ts"},"version":"0.4.36","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8f9e462-c915-4d3d-a706-58c07613b505"}},"homepage":"https://digestseo.com/gsc-mcp/","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"_npmVersion":"11.19.1","description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","directories":{},"maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.4.3","agents":"^0.24.0","wrangler":"^4.136.3","@modelcontextprotocol/server":"2.0.0","@cloudflare/workers-oauth-provider":"^0.10.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.0","vitest":"^4.1.11","typescript":"^6.0.3","@cloudflare/vitest-plugin":"^1.2.3","@cloudflare/workers-types":"^5.20260919.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-gsc_0.4.36_1790261961780_0.49033917852609643"}}},"time":{"created":"2026-07-27T17:25:37.479Z","modified":"2026-09-24T14:59:22.177Z","0.3.1":"2026-07-27T17:25:37.840Z","0.4.0":"2026-09-21T00:18:55.173Z","0.4.1":"2026-09-21T01:36:34.820Z","0.4.2":"2026-09-21T04:40:34.091Z","0.4.3":"2026-09-21T06:43:27.590Z","0.4.4":"2026-09-21T08:41:18.874Z","0.4.5":"2026-09-21T10:45:08.581Z","0.4.6":"2026-09-21T13:55:11.303Z","0.4.7":"2026-09-21T15:51:57.328Z","0.4.8":"2026-09-21T17:41:57.760Z","0.4.9":"2026-09-21T19:48:55.638Z","0.4.10":"2026-09-21T20:45:32.239Z","0.4.11":"2026-09-21T22:55:41.049Z","0.4.12":"2026-09-22T02:32:45.398Z","0.4.13":"2026-09-22T03:13:43.341Z","0.4.14":"2026-09-22T04:34:49.368Z","0.4.15":"2026-09-22T05:40:24.842Z","0.4.16":"2026-09-22T07:46:56.029Z","0.4.17":"2026-09-22T09:36:29.412Z","0.4.18":"2026-09-22T11:36:31.812Z","0.4.19":"2026-09-22T12:39:37.215Z","0.4.20":"2026-09-22T15:34:48.917Z","0.4.21":"2026-09-22T17:42:41.361Z","0.4.22":"2026-09-22T21:12:19.064Z","0.4.23":"2026-09-22T22:07:07.323Z","0.4.24":"2026-09-22T22:50:08.197Z","0.4.25":"2026-09-23T01:00:57.752Z","0.4.26":"2026-09-23T03:45:34.651Z","0.4.27":"2026-09-23T06:46:07.799Z","0.4.28":"2026-09-23T18:51:24.187Z","0.4.29":"2026-09-23T19:50:52.410Z","0.4.30":"2026-09-23T21:47:58.756Z","0.4.31":"2026-09-24T00:51:12.249Z","0.4.32":"2026-09-24T02:55:51.324Z","0.4.33":"2026-09-24T04:47:55.243Z","0.4.34":"2026-09-24T07:00:55.175Z","0.4.35":"2026-09-24T11:18:19.846Z","0.4.36":"2026-09-24T14:59:21.870Z"},"bugs":{"url":"https://github.com/AKzar1el/mcp-gsc/issues"},"author":{"url":"https://digestseo.com/","name":"DigestSEO"},"license":"MIT","homepage":"https://digestseo.com/gsc-mcp/","keywords":["mcp","model-context-protocol","google-search-console","google-search-console-mcp","search-console","search-analytics","indexing-api","seo","cloudflare-workers","claude"],"repository":{"url":"git+https://github.com/AKzar1el/mcp-gsc.git","type":"git"},"description":"Self-hostable Google Search Console MCP server for analytics, URL inspection, sitemaps, indexing, and SEO reporting on Cloudflare Workers.","maintainers":[{"name":"akzar1el","email":"tomi.seregi99@gmail.com"}],"readme":"# mcp-gsc\n\n<!-- Logo asset for marketplace submissions: assets/logo-400.png (400x400). -->\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![MCP](https://img.shields.io/badge/MCP-remote%20server-8A2BE2)](https://modelcontextprotocol.io)\n[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-io.github.AKzar1el%2Fmcp--gsc-blue)](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.AKzar1el/mcp-gsc)\n[![CI](https://github.com/AKzar1el/mcp-gsc/actions/workflows/ci.yml/badge.svg)](https://github.com/AKzar1el/mcp-gsc/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/%40digestseo%2Fmcp-gsc.svg)](https://www.npmjs.com/package/@digestseo/mcp-gsc)\n[![mcp-gsc MCP server](https://glama.ai/mcp/servers/AKzar1el/mcp-gsc/badges/score.svg)](https://glama.ai/mcp/servers/AKzar1el/mcp-gsc)\n\nPart of the **[DigestSEO](https://digestseo.com/)** suite of open-source SEO tools.\n\n- Product: [digestseo.com/gsc-mcp](https://digestseo.com/gsc-mcp/)\n- Engineering case study: [DigestSEO MCP Suite — AI visibility, Search Console, web validation, and trend intelligence](https://tomiseregi.si/projects/digestseo-mcp-suite)\n- Support: [digestseo.com/support](https://digestseo.com/support/)\n- Privacy: [digestseo.com/privacy](https://digestseo.com/privacy/)\n\nThe self-hosting launcher is available as [`@digestseo/mcp-gsc`](https://www.npmjs.com/package/@digestseo/mcp-gsc):\n\n```bash\nnpx -y @digestseo/mcp-gsc\n```\n\nThe npm launcher starts a loopback-only **Streamable HTTP** Worker on `127.0.0.1` (port `8080` by default); it is not a stdio MCP process. You can run the `npx` command from any directory because the launcher resolves its bundled Worker configuration from the installed package. Clients that launch the package should connect to `http://127.0.0.1:8080/mcp` after supplying the Google OAuth and token-encryption environment variables described in [SETUP.md](SETUP.md). The launcher exits before starting Wrangler if `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, or `TOKEN_ENCRYPTION_KEY` is missing or blank, and it also rejects a nonblank `TOKEN_ENCRYPTION_KEY` unless it is valid base64 that decodes to exactly 32 bytes. Errors identify only the invalid or missing setting, never its secret value, so a broken OAuth session is not started. It keeps secret values in the child process environment and Wrangler loads them through declared local secrets; their values are not copied into Wrangler `--var` command-line arguments. Before the first OAuth sign-in, authorize the exact callback `http://127.0.0.1:8080/google/callback` in Google Cloud (or use the same custom `PORT` you launch with); the launcher prints both URLs at startup.\n\nLocal KV and Durable Object state, including the encrypted Google session, is stored in `~/.mcp-gsc/state` by default instead of inside the versioned npm cache. That keeps the local connection available across package upgrades and ordinary npm cache cleanup. Set `MCP_GSC_STATE_DIR` to use another directory; keep the same `TOKEN_ENCRYPTION_KEY` when reusing existing state because stored refresh tokens are encrypted with that key. The launcher prints the effective state directory at startup. The first release with this stable path may require one Google reconnect because older launcher releases stored local state under the npm package cache.\n\nThe local launcher defaults to `GSC_ACCESS_MODE=readwrite`. For least-privilege analytics/reporting-only use, set `GSC_ACCESS_MODE=readonly` in the environment before running `npx`; the launcher forwards that value into the local Worker so OAuth requests only the read-only Search Console scope and the six mutation tools stay unregistered.\n\nFor Google OAuth and Cloudflare deployment configuration, follow [SETUP.md](SETUP.md).\n\n### Connect the local launcher\n\nFor the current verified quick-connect path, start the npm launcher first after supplying the Google OAuth and token-encryption environment variables described in [SETUP.md](SETUP.md):\n\n```bash\nnpx -y @digestseo/mcp-gsc\n```\n\nThen connect your MCP client to the launcher's loopback endpoint:\n\n```\nhttp://127.0.0.1:8080/mcp\n```\n\nSelf-hosted Cloudflare Worker deployments continue to use `https://<your-worker>.workers.dev/mcp`. The repo does not currently advertise the owner-hosted remote as a quick-connect path because its deployed tool contract is behind the published package.\n\n**Claude Code**\n\n```bash\nclaude mcp add --transport http gsc http://127.0.0.1:8080/mcp\n```\n\n**OpenAI Codex CLI / IDE**\n\n```bash\ncodex mcp add gsc --url http://127.0.0.1:8080/mcp\n```\n\nCodex CLI and the Codex IDE extension share MCP configuration, so registering the server once makes the same local connection available to both clients. Start the npm launcher before using the connection; Codex will open the server's OAuth flow when authentication is required.\n\n**Cursor**\n\n[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=gsc&config=eyJ1cmwiOiJodHRwOi8vMTI3LjAuMC4xOjgwODAvbWNwIn0%3D)\n\nWhen this repository is installed as a Cursor plugin, Cursor also auto-discovers three bundled Agent Skills that compose the MCP tools into evidence-safe workflows: `gsc-weekly-review`, `gsc-indexing-triage`, and `gsc-search-opportunities`. The **Add to Cursor** button above installs the MCP connection only; the bundled skills are part of the repository's Cursor plugin package.\n\nThe button and plugin MCP configuration above are for Cursor running on the same machine as the npm launcher. **Cursor Cloud Agents run in isolated cloud VMs, so they cannot reach `127.0.0.1` on your computer.** For Cloud Agents, deploy your own externally reachable HTTPS Worker and add its `/mcp` URL from the MCP controls at [cursor.com/agents](https://cursor.com/agents); Cursor supports HTTP MCP servers and OAuth there. Do not reuse the loopback URL for a Cloud Agent.\n\n**GitHub Copilot CLI**\n\n```bash\ncopilot plugin marketplace add AKzar1el/mcp-gsc\ncopilot plugin install mcp-gsc@digestseo\n```\n\nThe marketplace path makes the plugin discoverable and updateable through Copilot's marketplace workflow. Direct repository install also remains supported with `copilot plugin install AKzar1el/mcp-gsc`. The Copilot plugin bundles the same three Agent Skills plus the local loopback MCP configuration. Start the npm launcher before using the plugin's MCP server; the plugin does not start or deploy mcp-gsc for you.\n\n**Gemini CLI**\n\n```bash\ngemini extensions install https://github.com/AKzar1el/mcp-gsc\n```\n\nThe Gemini CLI extension bundles the verified local loopback MCP configuration plus the same three Agent Skills: `gsc-weekly-review`, `gsc-indexing-triage`, and `gsc-search-opportunities`. Start the npm launcher before using the extension; the extension does not start or deploy mcp-gsc for you.\n\n**Kiro**\n\n[![Add to Kiro](https://kiro.dev/images/add-to-kiro.svg)](https://kiro.dev/launch/mcp/add?name=mcp-gsc&config=%7B%22url%22%3A%22http%3A%2F%2F127.0.0.1%3A8080%2Fmcp%22%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D)\n\nStart the npm launcher before using either install button or the Copilot plugin. Complete its Google OAuth flow on first use.\n\n**ChatGPT** — ChatGPT cannot connect directly to this loopback `127.0.0.1` endpoint. For private/local use, create an OpenAI **Secure MCP Tunnel**, then run `tunnel-client` on the same machine as the launcher so it can reach `http://127.0.0.1:8080/mcp`; when creating the ChatGPT app, choose the **Tunnel** connection and select that tunnel. The tunnel setup requires an OpenAI `tunnel_id` and runtime API key; see OpenAI's [Secure MCP Tunnel guide](https://developers.openai.com/api/docs/guides/secure-mcp-tunnels). The tunnel keeps the MCP server private and is intended for private/developer-mode connectivity, not public plugin distribution.\n\nAlternatively, deploy your own remote Cloudflare Worker and add its HTTPS `/mcp` URL as a custom MCP app in Developer mode; see [Connect in your AI client](#connect-in-your-ai-client) below.\n\nA self-hostable [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server for **Google Search Console**. Connect it to Claude.ai, Cursor, ChatGPT, or any MCP-compatible client and ask your AI assistant about your site's organic search performance — impressions, clicks, top queries, index status, and sitemap health — straight from your own Google account.\n\nIt runs on [Cloudflare Workers](https://workers.cloudflare.com/) and ships with Google OAuth onboarding: connect the server in your client, review the mcp-gsc consent page that identifies the requesting MCP client and permissions, then sign in with Google and grant the requested Google Search Console permissions. No API keys to copy around and no service-account JSON to manage.\n\n## Tools\n\nBy default (`GSC_ACCESS_MODE=readwrite`), this server exposes 23 tools. Read-only analytics and reporting tools are marked with MCP's `readOnlyHint`; the write tools below can change Search Console properties, sitemaps, or indexing state. Set `GSC_ACCESS_MODE=readonly` to request only the Search Console read-only scope and expose the 16 tools that do not require either write access or the separate Indexing API scope.\n\n| Tool | Access | What it does |\n|---|---|---|\n| **`server.capabilities`** | Read | List every tool this server exposes and report local Google credential state. `connected` means a stored refresh credential is present; the response also exposes `auth_status_basis` and `provider_auth_live_verified: false` because this discovery call does not probe Google. A later Google tool call can still require reconnection if the credential expired or was revoked. Takes no arguments. |\n| **`sites.list`** | Read | List the Search Console properties the connected Google account can access (`siteUrl`, `permissionLevel`). |\n| **`sites.get`** | Read | Retrieve one exact Search Console property and the connected account's permission level for it. |\n| **`analytics.query`** | Read | Impressions, clicks, CTR, and average position over a date range, with dimensions, filters, safe pagination, and selectable search type. Pass `dimensions: []` for true site totals; Google's aggregate row may omit `keys`. Search Analytics does not guarantee every data row and can return only top rows, so exhausting local pagination is not proof that the provider dataset is exhaustive. `data_state: \"all\"` can include fresh preliminary data, while `final` returns only finalized data; responses echo `data_state` plus `preliminary_data_possible`, and date/hour groupings preserve Google's incomplete-data boundary metadata when returned. Search appearance discovery is a two-step workflow: group by `searchAppearance` alone to discover the exact values Google returns for the property, then filter to one returned value in a separate query when grouping by page/query/country/device/date/hour. For `search_type: \"discover\"` or `\"googleNews\"`, `position_supported` is `false`; those reports expose clicks, impressions, and CTR but not average position, so returned rows can omit `position`, and query grouping/filtering is unavailable. Search Console's dedicated Generative AI performance reports are not exposed by the current documented Search Analytics API as a dedicated search type or filter selector; `generative_ai_report_isolatable` is therefore `false`. Search Console's new web multimodal UI filter is likewise not exposed as a documented Search Analytics API selector; `multimodal_report_isolatable` is therefore `false`. |\n| **`insights.page_queries`** / **`insights.query_pages`** | Read | Drill from one exact page to its Search Console queries, or from one exact query to the pages Google surfaced for it, with `row_limit` / `start_row` pagination. These query-centric helpers support web, image, video, and the Search results News tab; Discover and the Google News report are excluded because they do not expose query data. |\n| **`urls.inspect`** | Read | Google's URL Inspection report for the version of one page currently known in Google's index. It is not a live URL test; mobile-usability output is deprecated. |\n| **`urls.inspect_many`** | Read | Inspect Google's indexed versions of up to 10 URLs with bounded concurrency of 3 in one call while preserving input-order results. Each URL still consumes one Google URL Inspection request and one unit of the server's shared inspection safety budget; this does not run live URL tests. |\n| **`sitemaps.list`** / **`sitemaps.get`** | Read | List submitted sitemaps or retrieve one sitemap's details. `lastSubmitted` is when the sitemap was submitted to Search Console; `lastDownloaded` is when Google last downloaded the sitemap. Neither value is the sitemap file's modification/deploy time or a page crawl/indexing timestamp. |\n| **`insights.quick_wins`** / **`insights.cannibalization`** / **`insights.content_decay`** | Read | Surface average-position opportunity rows, query/page overlap, and evidence-ranked click declines. Quick-win candidates are observed query/page rows selected by aggregate Search Console average position, not proof of a stable current rank, and CTR is context rather than an eligibility filter. Cannibalization candidate totals/shares are scoped to observed query/page rows rather than true query-level property totals; content-decay results compare only pages returned in both periods and do not turn one-sided row absence into zero traffic. |\n| **`indexing.list_pages`** / **`analytics.compare`** | Read | Analyze pages receiving Search Console impressions and compare two periods, optionally using the same search type and query/page/country/device/search-appearance filters for both periods. `analytics.compare` compares only dimension keys returned in both period responses; a key absent from one non-exhaustive Search Analytics response is not assumed to have zero metrics. Because its comparison contract includes average position, it excludes Discover and Google News. `indexing.list_pages` is performance data, not index coverage: a missing URL may still be indexed; use `urls.inspect` / `urls.inspect_many` for URL-level index status. |\n| **`reports.weekly_digest`** | Read | Generate a plain-language seven-day performance report with movers, top pages, and one recommended action. Query movers compare only rows returned in both weekly Search Analytics result sets; a query missing from one bounded response is not treated as zero because Google does not guarantee every data row. |\n| **`sites.add`** / **`sites.delete`** | Write | Add or remove a property from the connected account's Search Console site set. `sites.add` returns `ownership_verification_performed: false` because ownership verification is a separate Google Site Verification/Search Console workflow. `sites.delete` removes the property from that account's Search Console site set; it does not delete the website itself. |\n| **`sitemaps.submit`** / **`sitemaps.delete`** | Write | Submit or remove a sitemap. |\n| **`indexing.status`** | Read | Read Google's latest successful Indexing API `URL_UPDATED` / `URL_DELETED` notification receipts for a previously submitted URL. This is notification metadata only, not index coverage, crawl status, indexing completion, or removal completion. It requires `GSC_ACCESS_MODE=readwrite` because Google's metadata endpoint uses the Indexing API OAuth scope. |\n| **`indexing.request`** | Write | Requests indexing through Google's Indexing API. Google currently restricts this API to pages containing `JobPosting` structured data or livestream pages containing `BroadcastEvent` inside `VideoObject`. It is not available for general webpage submission. Google's default 200 publish requests/day/project is onboarding/testing capacity rather than ongoing-use approval; additional approval is required for usage/resource provisioning, and submissions are spam-screened. |\n| **`indexing.remove`** | Write | Request a `URL_DELETED` notification for a previously eligible Indexing API page. Before removal, the URL must already return HTTP 404/410 or expose a robots `noindex` meta directive. Google's receipt does not prove removal completed; use URL Inspection for indexed-state evidence. |\n\nSearch Analytics calendar dates (`start_date`, `end_date`, and comparison-period dates) use Google's Pacific Time calendar (`America/Los_Angeles`, UTC-8/UTC-7 depending on daylight saving time), not the caller's local timezone or UTC. This also governs the server's generated/default Search Analytics date ranges.\n\n> **Platform properties.** Search Console now supports platform properties for social/video accounts such as Instagram, TikTok, X, and YouTube in its UI. Google's current Search Console API documentation still defines `siteUrl` using URL-prefix and `sc-domain:` website-property forms and does not publish a platform-property API identifier contract. `sites.list` therefore preserves every identifier Google returns and marks whether it matches the documented API grammar; the other tools deliberately reject undocumented forms instead of inventing an identifier. Use the Search Console UI/export for a platform property until Google documents API support.\n\nRead-write mode requests the Google Search Console read-write and Indexing API scopes. Read-only mode requests only `https://www.googleapis.com/auth/webmasters.readonly` (plus `openid` and `email`) and does not register the six write tools or the read-only `indexing.status` lookup, because that lookup still requires Google's separate Indexing API scope. Read-write remains the default so existing deployments retain their current behavior; see [SETUP.md](SETUP.md) to select a mode before connecting users.\n\nLarge analytics responses are bounded at the MCP boundary instead of being generated and then discarded by clients with structured-content limits. List-style tools expose `start_row` / `next_start_row` where applicable; ranked analytical tools expose `limit`, `start_row`, and `result_page` metadata including `has_more`, `truncated`, and `byte_limit_reached`. Continue paging while `has_more` is true rather than assuming one response is complete.\n\n> **Indexing API eligibility and provider approval.** Google's Indexing API is not a general-purpose page submission tool — as of this writing, Google's own documentation limits it to two content types: pages with `JobPosting` structured data, and livestream pages with `BroadcastEvent` structured data nested inside `VideoObject`. Before `indexing.request`, the server fetches the target URL and checks static JSON-LD, Microdata, and RDFa markup for one of those two types; if neither is present (or the page can't be fetched), it returns an error explaining why the URL is ineligible instead of calling the Indexing API. Structured data injected only after client-side JavaScript runs cannot be confirmed by this bounded preflight and therefore fails closed. Before `indexing.remove`, the server instead confirms Google's removal precondition: the URL must already return HTTP 404/410 or expose a robots `noindex` meta directive. Update and removal notifications share the same publish quota. Google's default 200 publish requests/day/project is for onboarding and submission testing; using the API beyond that onboarding/testing context requires Google's usage/resource-provisioning approval. Google also subjects every submission to spam detection and warns that abuse or attempts to exceed quotas through multiple accounts or other means can revoke access. A successful notification is only an acknowledgment that Google received it — it does not guarantee indexing or removal completed.\n\n## What you can ask\n\nOnce connected, ask your assistant things like:\n\n- *\"What are my top 20 queries by clicks in the last 28 days?\"*\n- *\"Compare impressions for example.com this month vs last month — which pages dropped?\"*\n- *\"What does Google's indexed version of `https://example.com/pricing` show for index status and last crawl?\"*\n- *\"Which high-impression query/page rows have an average position between 5 and 15? Show me those optimization opportunities.\"*\n- *\"Give me a weekly digest for `sc-domain:example.com` ending today.\"*\n- *\"Do any of my sitemaps have errors or warnings?\"*\n- *\"Using this brand regex I provide, approximate my clicks as brand vs non-brand.\"*\n- *\"How is my site doing in Google Discover vs regular web search?\"*\n\nQuery regexes are a manual approximation only. Search Console's native Branded/Non-branded filter uses Google's own AI-assisted classification (including language variants, typos, and associated products/services), and that native classifier is not exposed as a Search Analytics API filter.\n\nSearch Console also has dedicated Generative AI performance reports for Search and Discover. The current documented Search Analytics API does not expose a dedicated Generative AI search type or filter selector, so this MCP does not guess one. AI Overviews and AI Mode remain included in overall web Search performance data; use the Search Console UI for the dedicated Generative AI report until Google documents API access.\n\nAs of September 24, 2026, Search Console also has a web multimodal performance filter in the UI for searches such as Lens, Circle to Search, image uploads, and Chrome image search. The current Search Analytics API and Discovery document still expose only `web`, `image`, `video`, `news`, `discover`, and `googleNews` search types, so this MCP does not invent `search_type: \"multimodal\"` or guess a `searchAppearance` value. Use the Search Console UI for isolated multimodal reporting until Google documents API access.\n\n## Connect in your AI client\n\nOnce you've deployed the server (see **[SETUP.md](SETUP.md)**), connect it by pasting your Worker's `/mcp` URL into your client:\n\n```\nhttps://<your-worker>.workers.dev/mcp\n```\n\n- **Claude.ai / Claude Desktop** — go to **Customize → Connectors**, click **+ → Add custom connector**, enter a name and paste the `/mcp` URL. Leave the optional advanced OAuth Client ID/Secret fields blank. On Team/Enterprise, an Owner or Primary Owner must first add the custom Web connector from **Organization settings → Connectors**; members then connect it from Customize → Connectors. On first connection, Claude opens the Google sign-in flow.\n- **Cursor** — add a remote **Streamable HTTP** MCP server pointing at the same `/mcp` URL; Cursor supports OAuth for remote HTTP MCP servers. The Add to Cursor button above targets the local npm launcher's loopback endpoint instead.\n- **ChatGPT** — enable **Developer mode**, then create a custom MCP **app** from **Settings → Apps → Create** (admins/owners can also use **Workspace settings → Apps → Create**). Provide the `/mcp` endpoint, select the applicable authentication option, **Scan Tools**, complete OAuth, then create the app. Full MCP including write/modify tools is currently available to Business and Enterprise/Edu; Pro custom MCP access is read/fetch-only, so use `GSC_ACCESS_MODE=readonly` for that path.\n\nThe `/mcp` endpoint is the same across clients, but each host has its own setup and permission flow.\n\n## Setup\n\nSelf-hosting means bringing your own Google OAuth credentials and Cloudflare account. The full, copy-pasteable walkthrough is in **[SETUP.md](SETUP.md)** — including an important note about Google's OAuth verification and the 7-day refresh-token limit while your app is unverified.\n\nQuick shape:\n\n```bash\ngit clone https://github.com/<you>/mcp-gsc.git\ncd mcp-gsc\nnpm install\ncp wrangler.example.jsonc wrangler.jsonc       # then paste in your KV ids\n# set GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET / TOKEN_ENCRYPTION_KEY as secrets\n# choose GSC_ACCESS_MODE=readonly in wrangler.jsonc for a read-only deployment\nnpm run deploy\n```\n\nSee **[SETUP.md](SETUP.md)** for every step in detail.\n\n## Development\n\n```bash\nnpm install\nnpm test              # typecheck + offline unit tests (what CI runs)\nnpm run dev           # wrangler dev (local)\nnpm run test:smoke    # structural smoke tests against a deployment\n```\n\nContributions welcome — see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\n[MIT](LICENSE) © 2026 DigestSEO.\n\n---\n\n*Built and maintained by [Tomi Šeregi](https://tomiseregi.si), the builder behind [DigestSEO](https://digestseo.com) - open-source SEO tooling and search visibility software.*\n","readmeFilename":"README.md"}