feat(ga-agent): Add GA Agent project with decomposed architecture
Create workspace for building Google Analytics Claude Skill with: - 5 independent components (MCP setup, skill, dimension explorer, Slack reporter, realtime watcher) - Comprehensive project plan and documentation - Step-by-step setup guides for each component Components: 1. MCP Setup - GA4 + BigQuery MCP server installation 2. GA Agent Skill - Core Claude Skill for interactive analysis 3. Dimension Explorer - Validate dims/metrics with explanations 4. Slack Reporter - Automated reports to Slack (P2) 5. Realtime Watcher - Real-time monitoring (deferred) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
143
ga-agent-project/01-mcp-setup/README.md
Normal file
143
ga-agent-project/01-mcp-setup/README.md
Normal file
@@ -0,0 +1,143 @@
|
||||
# Component 1: MCP Setup
|
||||
|
||||
**Type:** Infrastructure
|
||||
**Priority:** P0
|
||||
**Status:** Not Started
|
||||
|
||||
## Goal
|
||||
|
||||
Install and configure GA4 + BigQuery MCP servers for Claude Code.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Google Cloud account
|
||||
- GA4 property access
|
||||
- `gcloud` CLI installed
|
||||
|
||||
## Setup Steps
|
||||
|
||||
### Step 1: Google Cloud Project
|
||||
|
||||
```bash
|
||||
# Authenticate
|
||||
gcloud auth login
|
||||
|
||||
# Set project (create if needed)
|
||||
gcloud config set project YOUR_PROJECT_ID
|
||||
|
||||
# Enable APIs
|
||||
gcloud services enable \
|
||||
analyticsdata.googleapis.com \
|
||||
analyticsadmin.googleapis.com \
|
||||
bigquery.googleapis.com
|
||||
```
|
||||
|
||||
### Step 2: Service Account
|
||||
|
||||
```bash
|
||||
# Create service account
|
||||
gcloud iam service-accounts create ga-mcp-agent \
|
||||
--display-name="GA MCP Agent"
|
||||
|
||||
# Get email
|
||||
SA_EMAIL="ga-mcp-agent@YOUR_PROJECT_ID.iam.gserviceaccount.com"
|
||||
|
||||
# Grant BigQuery roles
|
||||
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
|
||||
--member="serviceAccount:$SA_EMAIL" \
|
||||
--role="roles/bigquery.dataViewer"
|
||||
|
||||
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
|
||||
--member="serviceAccount:$SA_EMAIL" \
|
||||
--role="roles/bigquery.jobUser"
|
||||
|
||||
# Download key
|
||||
gcloud iam service-accounts keys create \
|
||||
../config/service-account.json \
|
||||
--iam-account=$SA_EMAIL
|
||||
```
|
||||
|
||||
### Step 3: GA4 Property Access
|
||||
|
||||
1. Go to [GA4 Admin](https://analytics.google.com/)
|
||||
2. Property → Property Access Management
|
||||
3. Add user: `ga-mcp-agent@YOUR_PROJECT_ID.iam.gserviceaccount.com`
|
||||
4. Role: Viewer
|
||||
|
||||
### Step 4: Install GA4 MCP Server
|
||||
|
||||
```bash
|
||||
# Clone official server
|
||||
git clone https://github.com/googleanalytics/google-analytics-mcp.git
|
||||
cd google-analytics-mcp
|
||||
|
||||
# Setup Python environment
|
||||
python -m venv venv
|
||||
source venv/bin/activate
|
||||
pip install -e .
|
||||
|
||||
# Test
|
||||
export GOOGLE_APPLICATION_CREDENTIALS="../config/service-account.json"
|
||||
python -m google_analytics_mcp --help
|
||||
```
|
||||
|
||||
### Step 5: Install BigQuery MCP Server
|
||||
|
||||
```bash
|
||||
# Test with npx (no install needed)
|
||||
npx -y @ergut/mcp-bigquery-server \
|
||||
--project-id YOUR_PROJECT_ID \
|
||||
--location us-central1 \
|
||||
--key-file ../config/service-account.json
|
||||
```
|
||||
|
||||
### Step 6: Configure Claude Code
|
||||
|
||||
Add to `~/.claude/mcp_servers.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"google-analytics": {
|
||||
"command": "python",
|
||||
"args": ["-m", "google_analytics_mcp"],
|
||||
"cwd": "/path/to/google-analytics-mcp",
|
||||
"env": {
|
||||
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/service-account.json"
|
||||
}
|
||||
},
|
||||
"bigquery": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"@ergut/mcp-bigquery-server",
|
||||
"--project-id", "YOUR_PROJECT_ID",
|
||||
"--location", "us-central1",
|
||||
"--key-file", "/path/to/service-account.json"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Step 7: Verify
|
||||
|
||||
```bash
|
||||
# Restart Claude Code, then:
|
||||
mcp-cli servers
|
||||
# Should show: google-analytics, bigquery
|
||||
|
||||
mcp-cli tools google-analytics
|
||||
mcp-cli tools bigquery
|
||||
```
|
||||
|
||||
## Checklist
|
||||
|
||||
- [ ] GCP project configured
|
||||
- [ ] APIs enabled
|
||||
- [ ] Service account created
|
||||
- [ ] GA4 access granted
|
||||
- [ ] GA4 MCP installed
|
||||
- [ ] BigQuery MCP installed
|
||||
- [ ] Claude Code configured
|
||||
- [ ] Connection verified
|
||||
Reference in New Issue
Block a user