streamable-httpupdated 1mo ago
Read and edit GA4, Search Console and Google Tag Manager from any AI.
What can you do with climbpast?
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.

- Website / signup: climbpast.com
- Docs: climbpast.com/docs/mcp
- Endpoint:
https://climbpast.com/api/mcp(HTTP transport, Bearer auth) - Pricing: 3-day free trial, then $10/month
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_typeas 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."
Tools
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.
Install
Add climbpast to your client. Pick the one you use.
claude mcp add --transport http climbpast https://climbpast.com/api/mcpcodex mcp add climbpast --url https://climbpast.com/api/mcp{
"mcpServers": {
"climbpast": {
"url": "https://climbpast.com/api/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"climbpast": {
"type": "http",
"url": "https://climbpast.com/api/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"climbpast": {
"url": "https://climbpast.com/api/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"climbpast": {
"serverUrl": "https://climbpast.com/api/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance19/25
- Trust6/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 27 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Aug 5, 2026 |