{
  "name": "marketing-mcp",
  "version": "1.1.21",
  "description": "Read-only agency Marketing MCP — Google Ads, GA4, GSC, Meta, Ahrefs",
  "type": "module",
  "bin": {
    "marketing-mcp": "./dist/index.js"
  },
  "files": [
    "dist",
    "README.md"
  ],
  "keywords": [
    "mcp",
    "marketing",
    "google-ads",
    "ga4",
    "search-console",
    "ahrefs",
    "meta-ads"
  ],
  "license": "UNLICENSED",
  "engines": {
    "node": ">=18"
  },
  "dependencies": {
    "@google-analytics/admin": "^9.0.0",
    "@google-analytics/data": "^5.0.0",
    "@modelcontextprotocol/sdk": "^1.12.1",
    "dotenv": "^16.5.0",
    "firebase-admin": "^13.4.0",
    "google-ads-api": "^21.0.0",
    "google-auth-library": "^9.15.1",
    "googleapis": "^148.0.0",
    "zod": "^3.25.42"
  },
  "devDependencies": {
    "@types/node": "^22.15.21",
    "tsx": "^4.19.4",
    "typescript": "^5.8.3",
    "open": "^10.1.2"
  },
  "scripts": {
    "build": "tsc -p tsconfig.build.json",
    "build:docker": "tsc -p tsconfig.docker.json",
    "start": "tsx src/index.ts",
    "dev": "tsx src/index.ts",
    "auth:google-ads": "tsx scripts/auth-google-ads.ts",
    "auth:google-ads:sync-secrets": "tsx scripts/sync-google-ads-token-to-secrets.ts",
    "sync:env-keys": "tsx scripts/sync-env-keys-to-secrets.ts",
    "auth:callback": "tsx scripts/oauth-callback-only.ts",
    "ga4:grant-access": "tsx scripts/ga4-grant-service-account.ts",
    "ga4:grant-access:dry": "tsx scripts/ga4-grant-service-account.ts --dry-run",
    "admin": "tsx src/admin/index.ts",
    "host": "tsx src/host/index.ts",
    "mcp:http": "MCP_API_KEY=dev-local-key tsx src/host/index.ts",
    "docker:build": "docker compose build",
    "docker:up": "docker compose up -d",
    "docker:down": "docker compose down",
    "test:reads": "tsx scripts/quick-test.ts",
    "clients:bulk-register": "tsx scripts/bulk-register-clients.ts",
    "clients:bulk-register:dry": "tsx scripts/bulk-register-clients.ts --dry-run",
    "debug:live": "bash scripts/live-debug.sh",
    "postinstall": "node -e \"const fs=require('fs');if(fs.existsSync('dist/secrets/postinstall.js')){require('child_process').execSync('node dist/secrets/postinstall.js',{stdio:'inherit'})}\""
  }
}