Documentation
ClimbPast MCP Server
ClimbPast exposes Google Analytics, Search Console, and Tag Manager as 29 MCP tools. Any AI agent that speaks the Model Context Protocol can use them. Authentication is a single Bearer token: your cp_ key from your dashboard. Tools marked write require enabling write access in Settings, which triggers a separate Google consent.
Claude Code
Run this command in your terminal to add ClimbPast as a remote HTTP MCP server:
claude mcp add --transport http climbpast https://climbpast.com/api/mcp --header "Authorization: Bearer cp_YOUR_KEY"
Replace cp_YOUR_KEY with your API key. Create one from the dashboard, or find existing keys under Settings > API Keys.
You can also add it manually to ~/.claude.json under mcpServers with type: "http", the URL above, and an Authorization header:
{
"mcpServers": {
"climbpast": {
"type": "http",
"url": "https://climbpast.com/api/mcp",
"headers": {
"Authorization": "Bearer cp_YOUR_KEY"
}
}
}
}claude.ai custom connector
In claude.ai go to Settings > Integrations > Add custom connector. Fill in:
| Name | ClimbPast |
| URL | https://climbpast.com/api/mcp |
| Auth type | Bearer token |
| Token | cp_live_your_key_here |
Cursor
Add ClimbPast to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
{
"mcpServers": {
"climbpast": {
"url": "https://climbpast.com/api/mcp",
"headers": {
"Authorization": "Bearer cp_YOUR_KEY"
}
}
}
}Replace cp_YOUR_KEY with the key from your ClimbPast dashboard under Settings > API Keys.
Tool reference
All tools are read-only. ClimbPast cannot modify your GA4 or Search Console configuration.
| Tool | Description |
|---|---|
whoami | Returns the connected workspace, Google account, linked properties, and which write capabilities are granted. |
list_properties | Lists all connected GA4 properties and Search Console sites. |
get_ga4_report | Runs a GA4 report. Use a preset or pass your own dimensions and metrics. |
get_ga4_realtime | Returns active users and top events from the GA4 Realtime API. |
get_gsc_performance | Clicks, impressions, CTR, and average position from Search Console, grouped by query, page, or date. |
inspect_url | Runs the Search Console URL Inspection API on a single URL to check whether Google has indexed it. |
get_weekly_report | The most recent cached weekly performance snapshot for the workspace. |
get_insights | AI-generated insights from the latest dashboard snapshot. |
get_ai_traffic | Traffic attributed to AI assistants (ChatGPT, Perplexity, Claude, Gemini) over a date range. |
list_custom_dimensionswrite | Lists custom dimensions registered on a GA4 property. |
create_custom_dimensionwrite | Registers an event parameter as a custom dimension so it becomes reportable. GA4 does not backfill. |
update_custom_dimensionwrite | Updates a custom dimension’s display name or description. parameterName and scope are immutable in GA4. |
list_key_eventswrite | Lists key events (conversions) marked on a GA4 property. |
create_key_eventwrite | Marks an existing GA4 event as a key event. The event must already be collected. |
update_key_eventwrite | Changes how a key event is counted. The event name itself cannot be changed. |
list_sitemaps | Lists submitted sitemaps with download status, warnings, errors, and indexed counts. |
submit_sitemapwrite | Submits or re-submits a sitemap. Re-submitting with fresh lastmod dates is the only automatable recrawl signal Google offers. |
delete_sitemapwrite | Removes a sitemap from Search Console. Does not deindex any pages. |
gtm_list_containerswrite | Lists every Tag Manager account and container the connected account can reach. Start here. |
gtm_list_workspaceswrite | Lists draft workspaces in a container. |
gtm_list_tagswrite | Lists all tags in a workspace with their type, triggers, and parameters. |
gtm_list_triggerswrite | Lists all triggers in a workspace. |
gtm_list_variableswrite | Lists user-defined variables in a workspace. |
gtm_create_workspacewrite | Creates a draft workspace so changes stay isolated until published. |
gtm_create_tagwrite | Creates a tag. Takes the raw GTM tag body, so any tag type is supported. |
gtm_update_tagwrite | Replaces an existing tag. GTM does a full replace, not a merge. |
gtm_delete_tagwrite | Deletes a tag from a workspace. Draft until published, and revertible from GTM version history. |
gtm_create_triggerwrite | Creates a trigger. Takes the raw GTM trigger body. |
gtm_publish_containerwrite | Creates a container version from the draft and publishes it. This changes your live site. |
Security: how access works
You connect to ClimbPast through Google's standard OAuth sign-in flow, the same one you use to log into any trusted app with your Google account. ClimbPast is a verified Google app. New connections request read-only scopes, meaning it can read your analytics and search data but cannot change anything. Write access is a separate opt-in you enable in Settings, which triggers its own Google consent screen. Your OAuth tokens are stored encrypted in ClimbPast's database and never leave it.
Your AI agent never receives your Google credentials. It receives only a short cp_ key that authorizes it to make requests through ClimbPast's MCP server on your behalf. ClimbPast handles the Google API calls, enforces whichever scopes you granted, and returns the results to your agent.
Revoke a cp_ key from your dashboard and it stops working immediately. Disconnect Google and all tokens and keys for that connection are deleted. You can also revoke from Google's security page at myaccount.google.com/permissions at any time. Rotate keys or cancel your subscription whenever you like.
| Your AI holds | Your AI never sees | |
|---|---|---|
| Credential | A short revocable cp_ key | Your Google OAuth tokens |
| Scopes | Read-only GA4 and GSC results | Write or admin permissions |
| Revoke | One click from your dashboard | Anything requiring manual cleanup |
| Setup time | Under 2 minutes | IAM configs or credential files |