ClimbPast MCP
Read and edit GA4, Search Console and Google Tag Manager from any AI.
ClimbPast is a hosted MCP (Model Context Protocol) server that connects Google Analytics 4, Google Search Console and Google Tag Manager to Claude, ChatGPT, Cursor, or any MCP client. 29 tools. Read-only by default; write access is opt-in and revocable.
Most analytics MCP servers can only read. ClimbPast writes: register GA4 custom dimensions and key events, submit sitemaps, check whether a URL is actually indexed, and create, edit and publish Tag Manager containers, from chat.

This repository is documentation for the hosted service. The server itself is not open source.
Quickstart
Sign up at climbpast.com, connect your Google account, and copy your cp_ API key from the dashboard. Then connect your client:
Claude Code
claude mcp add --transport http climbpast https://climbpast.com/api/mcp --header "Authorization: Bearer cp_YOUR_KEY"
claude.ai (custom connector)
Settings > Integrations > Add custom connector:
| Field | Value |
|---|
| Name | ClimbPast |
| URL | https://climbpast.com/api/mcp |
| Auth type | Bearer token |
| Token | your cp_ key |
Cursor / any MCP client
Add to your MCP config (mcpServers):
{
"climbpast": {
"type": "http",
"url": "https://climbpast.com/api/mcp",
"headers": {
"Authorization": "Bearer cp_YOUR_KEY"
}
}
}
Then ask things like:
- "How much traffic did ChatGPT, Perplexity and Claude send us this month?"
- "Register
plan_type as a custom dimension in GA4."
- "Is /pricing indexed? If not, resubmit the sitemap."
- "Create a GTM tag that fires on the signup button and publish the container."
GA4 + Search Console reads (9)
| 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. |
GA4 writes (6)
| Tool | Description |
|---|
list_custom_dimensions | Lists custom dimensions registered on a GA4 property. |
create_custom_dimension | Registers an event parameter as a custom dimension so it becomes reportable. |
update_custom_dimension | Updates a custom dimension's display name or description. |
list_key_events | Lists key events (conversions) marked on a GA4 property. |
create_key_event | Marks an existing GA4 event as a key event. |
update_key_event | Changes how a key event is counted. |
Sitemaps (3)
| Tool | Description |
|---|
list_sitemaps | Lists submitted sitemaps with download status, warnings, errors, and indexed counts. |
submit_sitemap | Submits or re-submits a sitemap. |
delete_sitemap | Removes a sitemap from Search Console. Does not deindex any pages. |
Tag Manager (11)
| Tool | Description |
|---|
gtm_list_containers | Lists every Tag Manager account and container the connected account can reach. |
gtm_list_workspaces | Lists draft workspaces in a container. |
gtm_list_tags | Lists all tags in a workspace with their type, triggers, and parameters. |
gtm_list_triggers | Lists all triggers in a workspace. |
gtm_list_variables | Lists user-defined variables in a workspace. |
gtm_create_workspace | Creates a draft workspace so changes stay isolated until published. |
gtm_create_tag | Creates a tag. Takes the raw GTM tag body, so any tag type is supported. |
gtm_update_tag | Replaces an existing tag. |
gtm_delete_tag | Deletes a tag from a workspace. Draft until published, revertible from GTM version history. |
gtm_create_trigger | Creates a trigger. Takes the raw GTM trigger body. |
gtm_publish_container | Creates a container version from the draft and publishes it. This changes your live site. |
Security model
- Your AI holds a
cp_ API key, never your Google account credentials.
- Read-only by default. Write tools require enabling write access in Settings, which triggers a separate Google consent screen.
- Keys are revocable from the dashboard in one click. Revoke the key and access is gone.
Support and feature requests
If there's a GA4, Search Console or GTM operation you still do by hand, open an issue. Requests genuinely drive the roadmap.