{"_id":"@dongsik/google-marketing-mcp","_rev":"12-78134e0907b967ba9f21f6d8a5c6bc52","name":"@dongsik/google-marketing-mcp","dist-tags":{"latest":"0.4.3"},"versions":{"0.1.0":{"name":"@dongsik/google-marketing-mcp","version":"0.1.0","license":"MIT","_id":"@dongsik/google-marketing-mcp@0.1.0","maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"bin":{"google-marketing-mcp":"dist/index.js"},"dist":{"shasum":"fe50fd19a4d96d357d8b452f803681a2ff843769","tarball":"https://registry.npmjs.org/@dongsik/google-marketing-mcp/-/google-marketing-mcp-0.1.0.tgz","fileCount":11,"integrity":"sha512-IkxT5K1onp8r0OeGGufVDpZbCVlx/Z2DXrhcaIJ06GSH1MN71qvdw+/8hP5MTQITy2UgTTL+5zFLBE3f9qFzEA==","signatures":[{"sig":"MEUCIDT9yhjXCP2z1AlfC471QS+cQZYdO0QLUIP8jIbeymftAiEAk7P8w2bMq82HnemIXkO3rvkNI1eP8I8UErC22XcbVkM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110312},"type":"module","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js"},"_npmUser":{"name":"dongsik","email":"ehdtlr9376@gmail.com"},"_npmVersion":"11.6.2","description":"Google Marketing MCP Server — GA4 + Google Ads","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0","open":"^10.0.0","googleapis":"^144.0.0","google-ads-api":"^17.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-marketing-mcp_0.1.0_1776743982809_0.8253607539251326","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dongsik/google-marketing-mcp","version":"0.1.1","license":"MIT","_id":"@dongsik/google-marketing-mcp@0.1.1","maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"bin":{"google-marketing-mcp":"dist/index.js"},"dist":{"shasum":"8ac73c16c83b4c437a1250851537397dd74fc4d1","tarball":"https://registry.npmjs.org/@dongsik/google-marketing-mcp/-/google-marketing-mcp-0.1.1.tgz","fileCount":11,"integrity":"sha512-f0Y5GToQY+P3K98FlX5AkTvqdxNONezSzGGkjSVOclQbRewfKgJ0M7Z8+pJg/C27sXP97VWcMGx30djvG+q0jg==","signatures":[{"sig":"MEYCIQDF01hbaDcv5oqFxZ1k5iwwkiCNJMw5Cm+qPsLQFdn26AIhAP8DcusYGjWdf8yU1qZdcU+lMZ4Ce6cUph61FhMCVL2r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110312},"type":"module","gitHead":"f11a84da78b365bc4d4a18551878f9a883a0b5ea","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js"},"_npmUser":{"name":"dongsik","email":"ehdtlr9376@gmail.com"},"_npmVersion":"11.6.2","description":"Google Marketing MCP Server — GA4 + Google Ads","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0","open":"^10.0.0","googleapis":"^144.0.0","google-ads-api":"^23.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-marketing-mcp_0.1.1_1776747398345_0.5837277314021447","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dongsik/google-marketing-mcp","version":"0.1.2","license":"MIT","_id":"@dongsik/google-marketing-mcp@0.1.2","maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"bin":{"google-marketing-mcp":"dist/index.js"},"dist":{"shasum":"7618240e919dcf42cc69549f670835b878810684","tarball":"https://registry.npmjs.org/@dongsik/google-marketing-mcp/-/google-marketing-mcp-0.1.2.tgz","fileCount":11,"integrity":"sha512-1sohIdwiHwhoV+uXovtcHNP+3Ajg3NjLqgsCvi9weNDAOAEb6bCUY82ZYRxye1oc4Kq3OX6uP4MVh89K4/6ZnA==","signatures":[{"sig":"MEYCIQDvJKQdt+vpCd277TmNTflkLCtIij0qenclORKNPSwPoAIhANcDp1DiewMbFjqkRK/MNBDLVIv55Mbca4H3E5X2rxEd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110806},"type":"module","gitHead":"f11a84da78b365bc4d4a18551878f9a883a0b5ea","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js"},"_npmUser":{"name":"dongsik","email":"ehdtlr9376@gmail.com"},"_npmVersion":"11.6.2","description":"Google Marketing MCP Server — GA4 + Google Ads","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0","open":"^10.0.0","googleapis":"^144.0.0","google-ads-api":"^23.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-marketing-mcp_0.1.2_1776751095701_0.1261702969765457","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@dongsik/google-marketing-mcp","version":"0.1.3","license":"MIT","_id":"@dongsik/google-marketing-mcp@0.1.3","maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"bin":{"google-marketing-mcp":"dist/index.js"},"dist":{"shasum":"e22f26e4aabee87500d2a68f46691bac811fffaf","tarball":"https://registry.npmjs.org/@dongsik/google-marketing-mcp/-/google-marketing-mcp-0.1.3.tgz","fileCount":11,"integrity":"sha512-dF6y+GEe1jF3s7anvmf9HjuKS9lL2cHJAS0GvM7f+fjR7tnkUIykHhrsuUWHLo7FlSFZygUXh9thl9hbbotmsA==","signatures":[{"sig":"MEYCIQDc8FBTOwqvv/mNrkmR6T1Ta6apwbHFbZ7N5g4VoxVgwAIhAMxRwChLstVY9/DPQfI+KDOQ7xFTgxllKB2HiwQIL0mE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111615},"type":"module","gitHead":"f11a84da78b365bc4d4a18551878f9a883a0b5ea","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js"},"_npmUser":{"name":"dongsik","email":"ehdtlr9376@gmail.com"},"_npmVersion":"11.6.2","description":"Google Marketing MCP Server — GA4 + Google Ads","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0","open":"^10.0.0","googleapis":"^144.0.0","google-ads-api":"^23.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-marketing-mcp_0.1.3_1776751291056_0.44356367319707113","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@dongsik/google-marketing-mcp","version":"0.1.4","license":"MIT","_id":"@dongsik/google-marketing-mcp@0.1.4","maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"bin":{"google-marketing-mcp":"dist/index.js"},"dist":{"shasum":"ff4e2da03073957bf8810508657d5cc4c7fc0cb9","tarball":"https://registry.npmjs.org/@dongsik/google-marketing-mcp/-/google-marketing-mcp-0.1.4.tgz","fileCount":11,"integrity":"sha512-Jz99kpvXZJIMt3hBA6V1vcFxlIwvDMhgdV8Rk0yM0Xkrgky+bDrqZhYBmoVhmClg9eSQe8fUxhZmXuHmX+vUdg==","signatures":[{"sig":"MEUCIA/dTOZ6iCIrVQQ8hexAwleH0TT5r++tBI6Sx7B1f8yOAiEAogyL0WO4y3fGhwYV3tgJuAV2ddu/e2dXs03DebEboN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112053},"type":"module","gitHead":"847d1fd5712d2f373dee739bd91a604c6ef156cb","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js"},"_npmUser":{"name":"dongsik","email":"ehdtlr9376@gmail.com"},"_npmVersion":"11.6.2","description":"Google Marketing MCP Server — GA4 + Google Ads","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0","open":"^10.0.0","googleapis":"^144.0.0","google-ads-api":"^23.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-marketing-mcp_0.1.4_1776926154497_0.30361561316159946","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@dongsik/google-marketing-mcp","version":"0.1.5","license":"MIT","_id":"@dongsik/google-marketing-mcp@0.1.5","maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"bin":{"google-marketing-mcp":"dist/index.js"},"dist":{"shasum":"c85cef51f8ea6df60b2ad2e41fe7914912a9aae9","tarball":"https://registry.npmjs.org/@dongsik/google-marketing-mcp/-/google-marketing-mcp-0.1.5.tgz","fileCount":11,"integrity":"sha512-eoIT5WgOVfGwdjwkIZ6nfLHHK0irq8M/iJFH9UIzG5WTJM+xBWbZz1mW2y354s/YlaUaXCXkP/56Se9yV3alWA==","signatures":[{"sig":"MEQCIE/yXmBPBVdIl8RwgcRX8yFRoTaqEuVzo6yZP2reIbEpAiAqDcQWGyAc+6J26TADweoRfLHbliltd16xkgJIuHUHUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112388},"type":"module","gitHead":"1413a2308120649ddda4e6fc710c3ab45843de2d","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js"},"_npmUser":{"name":"dongsik","email":"ehdtlr9376@gmail.com"},"_npmVersion":"11.6.2","description":"Google Marketing MCP Server — GA4 + Google Ads","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0","open":"^10.0.0","googleapis":"^144.0.0","google-ads-api":"^23.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-marketing-mcp_0.1.5_1776926265243_0.2752143197108372","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dongsik/google-marketing-mcp","version":"0.2.0","keywords":["mcp","model-context-protocol","claude","google-analytics","ga4","search-console","gsc","google-ads","marketing"],"license":"MIT","_id":"@dongsik/google-marketing-mcp@0.2.0","maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"homepage":"https://github.com/dongsik93/ga_ads_mcp#readme","bugs":{"url":"https://github.com/dongsik93/ga_ads_mcp/issues"},"bin":{"google-marketing-mcp":"dist/index.js"},"dist":{"shasum":"5c4cb2188bc4806efbe0b7ec263b2be34e989596","tarball":"https://registry.npmjs.org/@dongsik/google-marketing-mcp/-/google-marketing-mcp-0.2.0.tgz","fileCount":13,"integrity":"sha512-ULTTfWPTEnFIJjvp+3Q2hla9j5dEPW1uYy3/yZuHA1v/kwN/2R7g5pok/4ByN4FduopjJE39QndTlmN6Km6NKw==","signatures":[{"sig":"MEQCIBK5bnrWaY2W14e0YUxFZGwBIxSNU93lMmY8Tlu5nM4zAiBcJeNH5sFcL0MlATfnIOHCrHsb+lKOzR3gJEF+BinvJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131187},"type":"module","gitHead":"222c9e716d8aa19fb74124b9259a73359e0dd016","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js"},"_npmUser":{"name":"dongsik","email":"ehdtlr9376@gmail.com"},"repository":{"url":"git+https://github.com/dongsik93/ga_ads_mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server for Google Analytics 4, Google Search Console, and Google Ads. Each module is independently activated by environment variables.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0","open":"^10.0.0","googleapis":"^144.0.0","google-ads-api":"^23.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-marketing-mcp_0.2.0_1777362166537_0.2958639485333543","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dongsik/google-marketing-mcp","version":"0.3.0","keywords":["mcp","model-context-protocol","claude","google-analytics","ga4","search-console","gsc","google-ads","youtube","youtube-analytics","marketing"],"license":"MIT","_id":"@dongsik/google-marketing-mcp@0.3.0","maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"homepage":"https://github.com/dongsik93/ga_ads_mcp#readme","bugs":{"url":"https://github.com/dongsik93/ga_ads_mcp/issues"},"bin":{"google-marketing-mcp":"dist/index.js"},"dist":{"shasum":"61076d3e711ce9b8097239e6c9f46dc0ac4471d3","tarball":"https://registry.npmjs.org/@dongsik/google-marketing-mcp/-/google-marketing-mcp-0.3.0.tgz","fileCount":25,"integrity":"sha512-KF8I8THF7XcssNLsPHoNz+x2yt6Wzv+L2XD7zjTS2OBVpQ6SojKAWgTPVgcAfxZcw8Oz0dKMMAnQoM85bvx+HA==","signatures":[{"sig":"MEUCIQCP0xleyLOCdeF+lDi7Y3Z5XeKrpCLGLbHyrLgbV4Dj3wIgeLE0QaMvgT9x5gw2Pyd0NVEjF9Hy7fwS+gDJAbRdHEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176713},"type":"module","gitHead":"e4cb849105aef2a4910dc6611cee7edbd7e9375a","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js"},"_npmUser":{"name":"dongsik","email":"ehdtlr9376@gmail.com"},"repository":{"url":"git+https://github.com/dongsik93/ga_ads_mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server for Google Analytics 4, Google Search Console, Google Ads, and YouTube (Data + Analytics). Each module is independently activated by environment variables.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0","open":"^10.0.0","googleapis":"^144.0.0","google-ads-api":"^23.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-marketing-mcp_0.3.0_1777526747892_0.12007174643384433","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@dongsik/google-marketing-mcp","version":"0.4.0","keywords":["mcp","model-context-protocol","claude","google-analytics","ga4","search-console","gsc","google-ads","youtube","youtube-analytics","marketing"],"license":"MIT","_id":"@dongsik/google-marketing-mcp@0.4.0","maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"homepage":"https://github.com/dongsik93/ga_ads_mcp#readme","bugs":{"url":"https://github.com/dongsik93/ga_ads_mcp/issues"},"bin":{"google-marketing-mcp":"dist/index.js"},"dist":{"shasum":"13272774ec329b7d4536db734115aca46d7508e0","tarball":"https://registry.npmjs.org/@dongsik/google-marketing-mcp/-/google-marketing-mcp-0.4.0.tgz","fileCount":25,"integrity":"sha512-46ns/IECL1Axy0szAwsx+mLOD3lzX81leheCJwTWWcadNOfx/virZRS+23vtOXzQ+ZgoeLgOIzeSpkTKHixp8Q==","signatures":[{"sig":"MEYCIQCAvxxl6fV7e6YWqd6puHP0btdmS7JtbgivsmFtQ+xEEwIhALtnso0RUFEgL9y9tubv7GhFQLwHqZZmctYa6s+P1VHZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180017},"type":"module","gitHead":"d84f88cd85cac697eb90a402bfed8b358b3ad08d","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js"},"_npmUser":{"name":"dongsik","email":"ehdtlr9376@gmail.com"},"repository":{"url":"git+https://github.com/dongsik93/ga_ads_mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server for Google Analytics 4, Google Search Console, Google Ads, and YouTube (Data + Analytics). Each module is independently activated by environment variables.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0","open":"^10.0.0","googleapis":"^144.0.0","google-ads-api":"^23.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-marketing-mcp_0.4.0_1777530552135_0.6688084344337877","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@dongsik/google-marketing-mcp","version":"0.4.1","keywords":["mcp","model-context-protocol","claude","google-analytics","ga4","search-console","gsc","google-ads","youtube","youtube-analytics","marketing"],"license":"MIT","_id":"@dongsik/google-marketing-mcp@0.4.1","maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"homepage":"https://github.com/dongsik93/ga_ads_mcp#readme","bugs":{"url":"https://github.com/dongsik93/ga_ads_mcp/issues"},"bin":{"google-marketing-mcp":"dist/index.js"},"dist":{"shasum":"ea35e65b4d90ee442b2e302b9c6e3b8e56e64083","tarball":"https://registry.npmjs.org/@dongsik/google-marketing-mcp/-/google-marketing-mcp-0.4.1.tgz","fileCount":25,"integrity":"sha512-dZ/pbkj3AgnsAs8iZASf+eKuASJfIGW/ahYtqE7uhAZjzNWu8mt3uHXJ4Ksr9c0Sr4q4ibCCE7KHm30EAa4uig==","signatures":[{"sig":"MEQCID6XPF9DFIMxdmSRxyf7cND8/1WbnucZgrneqUVf0/g2AiAhT33K6fwUFmvnqCkvbDtTobKtSZuHg2gFoCxYGsJ+TA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180787},"type":"module","gitHead":"eb2d8d8a85f2efcab296df893965b38428288634","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js"},"_npmUser":{"name":"dongsik","email":"ehdtlr9376@gmail.com"},"repository":{"url":"git+https://github.com/dongsik93/ga_ads_mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"MCP server for Google Analytics 4, Google Search Console, Google Ads, and YouTube (Data + Analytics). Each module is independently activated by environment variables.","directories":{},"_nodeVersion":"24.8.0","dependencies":{"zod":"^3.22.0","open":"^10.0.0","googleapis":"^144.0.0","google-ads-api":"^23.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-marketing-mcp_0.4.1_1777530817762_0.20397490666505713","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@dongsik/google-marketing-mcp","version":"0.4.2","keywords":["mcp","model-context-protocol","claude","google-analytics","ga4","search-console","gsc","google-ads","youtube","youtube-analytics","marketing"],"license":"MIT","_id":"@dongsik/google-marketing-mcp@0.4.2","maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"homepage":"https://github.com/dongsik93/ga_ads_mcp#readme","bugs":{"url":"https://github.com/dongsik93/ga_ads_mcp/issues"},"bin":{"google-marketing-mcp":"dist/index.js"},"dist":{"shasum":"9d962efeebe6497ebc0723d93448e7238f365e66","tarball":"https://registry.npmjs.org/@dongsik/google-marketing-mcp/-/google-marketing-mcp-0.4.2.tgz","fileCount":25,"integrity":"sha512-Fe1TdaNlGb2iRsw0eRQX0dcaAG1YwJYsNuv2vVbT/VpQCOujxAcLCv/dh1HKw+gc7B0AtG9wLGJ/Po4ff4yaZg==","signatures":[{"sig":"MEQCIGIlci9ITKbzT0egCpKup4lOME6Di9A1OIJUmMKI6OgHAiB8I04fgJg9lKx/V+XAYaiZ1/gpK1vImSTzScj5/9mQFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190236},"type":"module","gitHead":"eb2d8d8a85f2efcab296df893965b38428288634","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js"},"_npmUser":{"name":"dongsik","email":"ehdtlr9376@gmail.com"},"repository":{"url":"git+https://github.com/dongsik93/ga_ads_mcp.git","type":"git"},"_npmVersion":"11.12.1","description":"MCP server for Google Analytics 4, Google Search Console, Google Ads, and YouTube (Data + Analytics). Each module is independently activated by environment variables.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^3.22.0","open":"^10.0.0","googleapis":"^144.0.0","google-ads-api":"^23.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-marketing-mcp_0.4.2_1777558980439_0.7836809256906427","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@dongsik/google-marketing-mcp","version":"0.4.3","description":"MCP server for Google Analytics 4, Google Search Console, Google Ads, and YouTube (Data + Analytics). Each module is independently activated by environment variables.","keywords":["mcp","model-context-protocol","claude","google-analytics","ga4","search-console","gsc","google-ads","youtube","youtube-analytics","marketing"],"homepage":"https://github.com/dongsik93/ga_ads_mcp#readme","repository":{"type":"git","url":"git+https://github.com/dongsik93/ga_ads_mcp.git"},"bugs":{"url":"https://github.com/dongsik93/ga_ads_mcp/issues"},"license":"MIT","type":"module","bin":{"google-marketing-mcp":"dist/index.js"},"scripts":{"build":"tsc && chmod +x dist/index.js","start":"node dist/index.js","dev":"tsc --watch"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","google-ads-api":"^23.0.0","googleapis":"^144.0.0","open":"^10.0.0","zod":"^3.22.0"},"devDependencies":{"@types/node":"^20.0.0","typescript":"^5.5.0"},"gitHead":"478c03d52c49f21286570d8a96cf284ce91c986f","_id":"@dongsik/google-marketing-mcp@0.4.3","_nodeVersion":"24.8.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-avFzVVseHpnNMXqV/GujG730y3aDU+1voR44/9maRQEfIYRBv79kdDnUf3cuqRq/OrEpqjegExo3vU5jGyPuow==","shasum":"fdb2b5a6ec9c63b85d833e2578e7809c137cdd6e","tarball":"https://registry.npmjs.org/@dongsik/google-marketing-mcp/-/google-marketing-mcp-0.4.3.tgz","fileCount":25,"unpackedSize":193922,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEFtgGbU70g6660WQHYL5Mt1mdRukeI0VfgRoMtPbdqAAiEAnz9ATfPGop58sn3l79iTKZT+tTrGKHxw8qXHxmnjYYk="}]},"_npmUser":{"name":"dongsik","email":"ehdtlr9376@gmail.com"},"directories":{},"maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/google-marketing-mcp_0.4.3_1778654592162_0.2882126085710701"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-21T03:59:42.699Z","modified":"2026-05-13T06:43:12.430Z","0.1.0":"2026-04-21T03:59:42.949Z","0.1.1":"2026-04-21T04:56:38.516Z","0.1.2":"2026-04-21T05:58:15.844Z","0.1.3":"2026-04-21T06:01:31.194Z","0.1.4":"2026-04-23T06:35:54.640Z","0.1.5":"2026-04-23T06:37:45.380Z","0.2.0":"2026-04-28T07:42:46.673Z","0.3.0":"2026-04-30T05:25:48.094Z","0.4.0":"2026-04-30T06:29:12.277Z","0.4.1":"2026-04-30T06:33:37.947Z","0.4.2":"2026-04-30T14:23:00.587Z","0.4.3":"2026-05-13T06:43:12.322Z"},"bugs":{"url":"https://github.com/dongsik93/ga_ads_mcp/issues"},"license":"MIT","homepage":"https://github.com/dongsik93/ga_ads_mcp#readme","keywords":["mcp","model-context-protocol","claude","google-analytics","ga4","search-console","gsc","google-ads","youtube","youtube-analytics","marketing"],"repository":{"type":"git","url":"git+https://github.com/dongsik93/ga_ads_mcp.git"},"description":"MCP server for Google Analytics 4, Google Search Console, Google Ads, and YouTube (Data + Analytics). Each module is independently activated by environment variables.","maintainers":[{"name":"dongsik","email":"ehdtlr9376@gmail.com"}],"readme":"# google-marketing-mcp\n\n[![npm](https://img.shields.io/npm/v/@dongsik/google-marketing-mcp)](https://www.npmjs.com/package/@dongsik/google-marketing-mcp)\n\n[한국어](./docs/README.ko.md)\n\nAn MCP server for querying **Google Analytics 4**, **Google Search Console**, **Google Ads**, and **YouTube (Data + Analytics)** data directly from Claude Desktop.\n\nEach module is independently activated by environment variables — pick any subset.\n\n```bash\nnpx -y @dongsik/google-marketing-mcp\n```\n\n> **v0.4.0 note** — YouTube now uses a **separate OAuth token** (`token.youtube.json`) so it can authorize against a Brand Account without conflicting with the personal Google account used by GA4/GSC. GA4/GSC/Ads users are unaffected. v0.3.0 YouTube users re-authorize once on the next YouTube call. See [CHANGELOG](./CHANGELOG.md).\n\n> **v0.4.2 note** — Adds non-breaking helper tools: `status`, `yt_resolve_channel`, and `check_youtube_ga4_traffic`.\n\n> **v0.4.3 note** — Fixes OAuth token auto-refresh: the saved `refresh_token` is no longer overwritten on rotation, and access tokens are refreshed transparently mid-session. No action needed; re-auth only if your saved token never had a `refresh_token`.\n\n## Modules\n\n| Module | Activates with | Tools | Docs |\n|---|---|---|---|\n| **Common** | always | 1 | this README |\n| **Google Analytics 4** | `GA4_PROPERTY_ID` | 21 | [docs](./docs/modules/ga4.md) |\n| **Google Search Console** | `GSC_SITE_URL` | 7 | [docs](./docs/modules/gsc.md) |\n| **Google Ads** | `GOOGLE_ADS_DEVELOPER_TOKEN` | 12 | [docs](./docs/modules/ads.md) |\n| **YouTube** (Data + Analytics) | `YT_CHANNEL_ID` | 17 | [docs](./docs/modules/youtube.md) |\n| **GA4 × Ads combined** | both above | 7 | [docs](./docs/modules/combined.md) |\n\nCommon helper:\n\n- `status`: checks which modules are enabled and which env values are configured without printing secrets.\n\n## Common Setup\n\n### 1. Google Cloud Console\n\n1. Go to [Google Cloud Console](https://console.cloud.google.com/) and create or select a project\n2. **APIs & Services → Library** → enable the APIs for the modules you'll use (see each module's docs)\n3. **APIs & Services → OAuth consent screen**\n   - User Type: **External**\n   - Add your Google account as a test user\n4. **APIs & Services → Credentials** → create **OAuth 2.0 Client ID**\n   - Application type: **Desktop app**\n5. Download the JSON file → save it as `client_secret.json`\n\n### 2. Claude Desktop Configuration\n\nAdd to your `claude_desktop_config.json`:\n\n- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`\n- **Windows:** `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"google-marketing-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"--package=@dongsik/google-marketing-mcp\", \"google-marketing-mcp\"],\n      \"env\": {\n        \"GA_CLIENT_SECRET_PATH\": \"/path/to/client_secret.json\",\n        \"GA4_PROPERTY_ID\": \"123456789\",\n        \"GSC_SITE_URL\": \"https://example.com/\",\n        \"GOOGLE_ADS_CUSTOMER_ID\": \"1234567890\",\n        \"GOOGLE_ADS_DEVELOPER_TOKEN\": \"your_developer_token\",\n        \"YT_CHANNEL_ID\": \"UCxxxxxxxxxxxxxxxxxxxxxx\"\n      }\n    }\n  }\n}\n```\n\n> Set only the env variables for modules you actually use. The OAuth scope request asks only for what's needed.\n> **Windows path example:** `\"C:\\\\Users\\\\username\\\\client_secret.json\"`\n\n### 3. Common Environment Variables\n\n| Variable | Description |\n|---|---|\n| `GA_CLIENT_SECRET_PATH` | Absolute path to your OAuth `client_secret.json` (required) |\n\nModule-specific env variables are documented in each module's page (linked above).\n\n### 4. First Run\n\nOn first launch, a browser window opens for Google OAuth login. After authentication, the token is saved at `~/.google-marketing-mcp/token.json` — subsequent requests authenticate automatically.\n\nAccess tokens are **refreshed transparently** as long as the saved `refresh_token` is valid; the updated token is persisted back to disk. Re-authentication is only required if the `refresh_token` itself is revoked (e.g. 7-day inactivity on Testing-mode OAuth clients, password change, or manual revoke).\n\nIf you add a new module after the first run, the OAuth flow runs again to request the new scope.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}