Elevate Analytics MCP
Integrates with Google Search Console to fetch search analytics, manage sitemaps, and monitor site performance in search results.
Integrates with PageSpeed Insights to analyze web page performance and provide optimization recommendations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Elevate Analytics MCPWhat is my site's average PageSpeed score?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Elevate Analytics MCP
Production-ready analytics and MCP platform integrating Google Search Console, GA4, PageSpeed Insights, and SEO intelligence.
Installation
Install Node.js 22+.
Install dependencies:
npm ciCopy environment template and update values:
cp .env.example .envValidate environment:
npm run check:envRelated MCP server: google-analytics-mcp
Development
Run local development server:
npm run devRun with Docker Compose:
docker compose up --buildGoogle OAuth Setup
Create OAuth credentials in Google Cloud Console.
Configure authorized callback URL:
Set these environment variables:
GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET
GOOGLE_REDIRECT_URI
Search Console Setup
Ensure OAuth scope includes https://www.googleapis.com/auth/webmasters.readonly.
Add and verify your site property in Search Console.
Ensure authenticated Google account has required site permissions.
GA4 Setup
Ensure OAuth scope includes https://www.googleapis.com/auth/analytics.readonly.
Retrieve your GA4 property ID.
Confirm API access is enabled for the Google Cloud project.
PageSpeed Setup
Enable PageSpeed Insights API in Google Cloud.
Set GOOGLE_API_KEY (optional but recommended for quota tracking and reliability).
Cloud Run Deployment
Option A: Cloud Build
gcloud builds submit --config cloudbuild.yaml .Option B: Scripted Deploy
export GCP_PROJECT_ID=your-project
export GCP_REGION=us-central1
export GCP_SERVICE_NAME=elevate-analytics-mcp
export IMAGE_TAG=$(git rev-parse --short HEAD)
bash scripts/deploy-cloud-run.shSecret Manager
Set secrets in Google Secret Manager and bind on deploy:
jwt-secret
session-secret
encryption-key
google-client-secret
mcp-api-key
Claude Custom Connector Configuration
Deploy the MCP server endpoint on Cloud Run.
Use the Cloud Run HTTPS URL with
/mcppath in Claude Custom Connector.Provide MCP API key using
x-api-key: <MCP_API_KEY>(orAuthorization: Bearer <MCP_API_KEY>).Validate MCP discovery:
curl -H "x-api-key: YOUR_MCP_API_KEY" https://YOUR_CLOUD_RUN_URL/mcpSecurity and Observability
Implemented production controls:
Helmet security headers
CORS controls
Rate limiting
Compression
Trusted proxy support
Secure cookies (in production)
Structured JSON logging with Pino
Health probes: /health, /ready, /live, /version
Prometheus metrics endpoint: /metrics
MCP endpoint protection with API key middleware (
MCP_API_KEY)
Collected metrics include:
Request duration
Memory usage
CPU usage
Process uptime
Google API latency
Database latency
Cache hit ratio
MCP tool execution time
MCP tool execution count
Quota usage events
Caching
Set
REDIS_URLto enable Redis-backed caches.If Redis is unavailable, the app falls back to the in-memory cache automatically.
Tracing
Set
OTEL_ENABLED=trueto emit OpenTelemetry spans.Optional: set
OTEL_SERVICE_NAMEto override the service name.Traced operations include OAuth flows, Google APIs, database checks, MCP tools, and incoming HTTP/MCP requests.
Health Endpoints
GET /health
GET /ready
GET /live
Authenticated endpoints:
GET /version
GET /metrics
GET/POST /mcp
Environment Variables
Required in all environments:
DATABASE_URL
Required in production:
JWT_SECRET
SESSION_SECRET
ENCRYPTION_KEY
MCP_API_KEY
GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET
GOOGLE_REDIRECT_URI
GCP_PROJECT_ID
GCP_REGION
GCP_SERVICE_NAME
Optional but recommended:
GOOGLE_API_KEY
METRICS_AUTH_TOKEN
ALLOWED_ORIGINS
LOG_LEVEL
CORS Configuration
ALLOWED_ORIGINSaccepts a comma-separated list of browser origins.In development, localhost origins such as
http://localhost:3000andhttp://127.0.0.1:3000are allowed automatically.In production, unknown origins are rejected.
CI/CD
GitHub Actions workflow at .github/workflows/ci-cd.yml executes:
Install
Lint
Build
Test
Docker build
Cloud Run deployment (main branch)
Cloud Build pipeline at cloudbuild.yaml performs equivalent build and deploy workflow.
Troubleshooting
Startup fails due to missing env vars:
Run
npm run check:env.
OAuth callback errors:
Verify redirect URI and client credentials.
429/quota errors:
Check Google API quotas and logs for quota events.
/ready returns non-200:
Verify database connectivity and DATABASE_URL.
Metrics endpoint unauthorized:
Provide
Authorization: Bearer <METRICS_AUTH_TOKEN>when token is set.
MCP endpoint unauthorized:
Provide
x-api-key: <MCP_API_KEY>orAuthorization: Bearer <MCP_API_KEY>.
Testing
Run quality gates:
npm run lint
npm run build
npm testRun production smoke checks:
bash scripts/production-check.sh http://localhost:3000Checklists
Deployment checklist:
docs/deployment-checklist.mdProduction checklist:
docs/production-checklist.md
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sunilshrestha1982/elevate-analytics-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server