get_account_summaries
List GA4 accounts and properties
Lists every Google Analytics account and GA4 property the signed-in Google account can read, with property IDs. Start here to find the property_id for other tools.
无需输入参数。
io.github.tagpilot由 GitHub 账号 tagpilot 发布v0.3.0更新于 Nov 3, 2026
Free, read-only Google Analytics 4: reports, funnels, realtime. Sign in with Google, no GCP setup.
发布方自己的服务:QuickBooks Connector by Meridian
只读的 Google Analytics 4 MCP 服务器,让助手列出媒体资源、运行报表、漏斗与实时查询,并做跟踪健康检查。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
A free, read-only Model Context Protocol server for Google Analytics 4. Ask Claude, Cursor or any MCP client about your GA4 data: reports, funnels, realtime, property setup, and Tag Pilot tracking-health checks.
No Google Cloud setup, no API key to copy. You don't need a GCP project, OAuth client,
service account or gcloud. Add the server, ask a GA4 question, and approve once in your browser.
ABCD-1234):
[Add to Cursor] [Install in VS Code]
Everything except the Claude Desktop extension runs the npm package with npx, so it needs
Node.js 18 or newer. The server is also listed in the
MCP Registry as io.github.tagpilot/ga4-mcp.
Download tagpilot-ga4-mcp.mcpb
and double-click it (or drag it into Settings → Extensions), click Install and enable it. Leave
the optional API key field empty. The extension bundles the server and runs on Claude Desktop's
built-in Node.js.
Prefer the config file? In claude_desktop_config.json (Settings → Developer → Edit Config):
Use Add to Cursor, or add to ~/.cursor/mcp.json (or
.cursor/mcp.json in a project):
Use Install in VS Code, or run MCP: Add Server → Command (stdio) with
npx -y @tagpilot/ga4-mcp.
Other clients (Windsurf, Zed, …) take the same command and args.
Where nobody can approve in a browser, create a key on the
GA4 MCP page and set TAGPILOT_API_KEY=tpk_… in the server's
environment (e.g. claude mcp add ga4 --env TAGPILOT_API_KEY=tpk_... -- npx -y @tagpilot/ga4-mcp).
With a key, the device connect is skipped and only the Google sign-in link is shown.
It works from any browser, like gh auth login: nothing listens on your machine, so it also
works over SSH, in containers, in WSL or on a remote dev box. Open the link wherever you have a
browser (even your phone) and approve; the server notices within a couple of seconds.
analytics.readonly. None of the tools can
change anything in GA4.~/.config/tagpilot/ga4-mcp/device.json
(readable only by you): the device's own Tag Pilot key and the Google refresh token. Access
tokens are refreshed through Tag Pilot about once an hour.npx -y @tagpilot/ga4-mcp logout to delete the local credential, and remove the app's access at
myaccount.google.com/permissions.All tools are read-only. Property IDs are the numeric GA4 IDs (e.g. 123456789), not G-XXXX
measurement IDs.
Dates: YYYY-MM-DD, today, yesterday or NdaysAgo (e.g. 28daysAgo). Default: the last
28 full days. Up to 4 ranges; several ranges add a dateRange column.
Dimensions and metrics: GA4 API names, e.g. date, eventName, sessionSourceMedium,
pagePath, sessions, activeUsers, purchaseRevenue
(full list).
Filters: a list of conditions that must all match; {"any": [...]} groups conditions with
OR, and "not": true negates one:
Ops: exact, contains, begins_with, ends_with, full_regex, partial_regex, in_list,
eq, lt, lte, gt, gte, between (from/to), empty. Dimension and metric filters
are separate inputs, like in the GA4 API.
Ordering: [{"field": "sessions", "desc": true}]. Use dimension_order: "numeric" for
numeric-looking dimensions.
Output: rows are objects such as {"date": "20261026", "sessions": 321}. Default limit is
100 rows; next_offset tells you when there are more. Thresholding, sampling and (other) rows
are reported in notes.
They're opinionated rules of thumb built from a few run_report calls, and each result shows what
it measured. For example, check_duplicate_transactions counts purchase events grouped by
transactionId, and check_traffic_attribution flags Unassigned traffic at 5% or more. They cost the
same GA4 quota as the equivalent reports (3–4 report calls).
"Not connected yet" (a link and a code like ABCD-1234): your AI shows them. Open the link in any browser (it doesn't
have to be on this machine), sign in to Tag Pilot, check that the code matches, approve, and allow Google Analytics
access, then tell your AI you're done: it retries your question (or calls connection_status). The server keeps
checking in the background, so nothing needs restarting. The code is valid for 10 minutes; after that, ask again (or
say "connect GA4") for a new one. To connect from a terminal instead (e.g. over SSH), run
npx -y @tagpilot/ga4-mcp login: it shows the link, the code in a box and a countdown, and waits until you approve.
"This computer was disconnected from Tag Pilot": the device was revoked on the GA4 MCP page, so its saved credential was removed. Ask again to connect it again.
"Your Google sign-in for GA4 expired or was revoked": the saved sign-in was removed. Ask again and approve again. Google expires refresh tokens after 6 months without use or when you revoke access, and may also expire them after a password change.
"The signed-in Google account has no access to property …": that Google account needs at
least the Viewer role on the GA4 property. Use get_account_summaries to see what it can read. To
use a different Google account, run npx -y @tagpilot/ga4-mcp logout and connect again.
"Google hasn't verified this app": shown while Tag Pilot's Google verification is pending (beta). Click Advanced → Go to Tag Pilot.
Quota errors: GA4 Data API quotas are per property and refill hourly and daily. Use shorter
date ranges, fewer dimensions or lower limits, and pass return_property_quota: true to see what's
left.
With TAGPILOT_API_KEY: "Tag Pilot rejected TAGPILOT_API_KEY" / "does not have the ga4:mcp
scope" means the key was revoked or made elsewhere in the app; create one on the GA4 MCP page, or
remove the variable to use the device connect. Sign-in then shows "Finish signing in with Google at
…, then ask again".
Check the setup: npx -y @tagpilot/ga4-mcp status shows whether this computer is connected
(with the first characters of its Tag Pilot key) and the Google sign-in state. Logs go to stderr
(stdout is the MCP channel); in Claude Code see claude --debug or /mcp.
Nothing is required. All variables are optional:
Commands: npx -y @tagpilot/ga4-mcp [serve|login|logout|status|--help|--version]. Without a
command it runs the MCP server on stdio. logout removes this computer's connection (and any
saved TAGPILOT_API_KEY sign-ins); with TAGPILOT_API_KEY set, only that key's. Revoke the
device itself on the GA4 MCP page.
This package lives in the tagpilot/ga4-mcp monorepo next to
@tagpilot/search-console-mcp; both share the Tag Pilot connect and
CLI code in packages/mcp-core. From the repo root:
The version lives in package.json, src/version.ts, server.json (MCP Registry),
mcpb/manifest.json and the repo-root gemini-extension.json (Gemini CLI installs extensions
from a repo root); npm test fails if they drift apart. Release steps are in the Tag Pilot repo,
explorations/ga4-mcp/distribution.md.
The broker contract with the Tag Pilot API is in the Tag Pilot repo,
explorations/ga4-mcp/api-contract.md.
For local testing, point TAGPILOT_API_URL at a local or beta tc-api (http://localhost:8000,
https://beta-api.tagpilot.io). GA4_MCP_ADMIN_API_URL and GA4_MCP_DATA_API_URL point the GA4
calls at a mock (used by npm run e2e).
Apache License 2.0. Copyright 2026 Tag Concierge sp. z o.o. The license does not cover the Tag Pilot name or logo (see NOTICE).
来源:packages/ga4-mcp/README.md,提交 4ceb8f8
List GA4 accounts and properties
Lists every Google Analytics account and GA4 property the signed-in Google account can read, with property IDs. Start here to find the property_id for other tools.
无需输入参数。
GA4 property details
Returns a GA4 property's settings (time zone, currency, industry, service level: standard or 360) and its data streams, including web measurement IDs (G-XXXX) and default URLs.
property_id必填Google Ads links
Lists the Google Ads accounts linked to a GA4 property (customer IDs, personalization setting, who created the link).
property_id必填Property annotations
Lists the reporting annotations of a GA4 property (notes on dates such as releases, tracking changes or campaigns, plus system-generated ones). Useful to explain jumps in data.
property_id必填Custom dimensions and metrics
Lists the custom dimensions and metrics of a GA4 property with the API names to use in run_report (e.g. "customEvent:payment_type", "customUser:plan"). Set include_standard to also list built-in dimensions/metrics (large; combine with search).
searchproperty_id必填include_standardRun a GA4 report
Runs a Google Analytics 4 report (Data API runReport): metrics broken down by dimensions over date ranges, with optional filters, sorting and paging. Rows come back as objects keyed by dimension/metric name. Default: last 28 days, 100 rows. Tips: put "date" in dimensions for a time series; use order_bys + limit for top-N lists; event-scoped custom dimensions are "customEvent:<param>".
limitoffsetmetrics必填order_bysdimensionsdate_rangesproperty_id必填currency_codemetric_filterkeep_empty_rowsdimension_filtermetric_aggregations另有 1 个Run a GA4 realtime report
Realtime data for the last 30 minutes (60 on GA4 360): active users and events right now. Good for checking that a tracking change is live. Only realtime dimensions/metrics are allowed (see the dimensions description).
limitmetrics必填order_bysdimensionsproperty_id必填metric_filterminute_rangesdimension_filterreturn_property_quotaRun a GA4 funnel report
Funnel exploration (Data API v1alpha runFunnelReport): how many users reach each step and where they drop off. Steps are events (e.g. view_item → add_to_cart → begin_checkout → purchase), optionally with parameter or dimension conditions. Result rows per step: activeUsers, funnelStepCompletionRate, funnelStepAbandonments, funnelStepAbandonmentRate. Note: this Google API is in alpha.
limitsteps必填trendeddate_rangesopen_funnelproperty_id必填breakdown_limitdimension_filterbreakdown_dimensionnext_action_dimensionreturn_property_quotaTag Pilot check: duplicate purchases
Tag Pilot tracking-health check. Counts purchase events per transaction_id to find duplicated purchases (usually thank-you page reloads, or the same order sent by both browser and server tagging) and purchases with no transaction_id at all. Returns totals, the duplicate rate and the worst transaction IDs. Uses 3 runReport calls.
topdate_rangeproperty_id必填Tag Pilot check: unassigned and (not set) traffic
Tag Pilot tracking-health check. Shows how sessions split by default channel group and flags attribution problems: the share of "Unassigned" sessions (with their top source/medium pairs), "(not set)" source, "(not set)" landing page (sessions without a page_view/session_start, often server-side or Measurement Protocol hits without session data, or consent mode pings) and a very high Direct share (lost referrers/UTMs). Uses 4 runReport calls.
date_rangeproperty_id必填Connect GA4 MCP
Connects this computer to Tag Pilot GA4 MCP (free Tag Pilot account + read-only Google Analytics access). Call it when the user asks to connect, or when another tool says the computer is not connected. It returns a link and a code: show both to the user as given (a clickable link), ask them to open it, approve and allow Google access, and tell you when done; then call connection_status. Never ask the user to run terminal commands. If already connected, it says so.
无需输入参数。
GA4 MCP connection status
Whether this computer is connected to Tag Pilot GA4 MCP: "connected" (with the device name), "waiting" (a sign-in link is open; shows the link and code again), "not_connected" (call connect) or "error" (with the next step). While a sign-in is open it waits up to 25 seconds for the approval before answering, so call it after the user says they approved, not in a fast loop.
wait已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
com.pilot.meridian官方发布者
让助手通过托管的远程连接器读取和写入 QuickBooks Online 公司数据。
com.pilot.meridian官方发布者
让 AI 助理以授权的读取或写入权限连接 Xero,并可跨多个组织操作。

由 GitHub 账号 dahuam 发布
将真实的 Windows 屏幕转换为带编号的元素表,供你的 AI 智能体操作。AI 翻译

由 GitHub 账号 covenant-common 发布
托管的市场与合约起草服务器:搜索公开挂牌、生成交易记录、起草与比对条款,并复核协议证据。
由 GitHub 账号 tagpilot 发布
只读的 Google Search Console MCP 服务器,让助手查询你网站的点击、展示、CTR、排名、站点地图和索引状态。
claude mcp add ga4 -- npx -y @tagpilot/ga4-mcp{ "mcpServers": { "ga4": { "command": "npx", "args": ["-y", "@tagpilot/ga4-mcp"] } }}claude mcp add ga4 -- npx -y @tagpilot/ga4-mcp{ "mcpServers": { "ga4": { "command": "npx", "args": ["-y", "@tagpilot/ga4-mcp"] } }}gemini extensions install https://github.com/tagpilot/ga4-mcpyour machine Tag Pilot Google────────────────────────────────────── ─────────────────────────── ──────────────────────ga4-mcp makes a PKCE verifier ──► POST /v3/public/ga4/device(it never leaves your machine) returns a link + code ABCD-1234any browser, any device: app.tagpilot.io/connect: log in, check the code, approve → creates a ga4:mcp key for this device → Google consent (read-only) ─► accounts.google.com …/ga4/oauth/callback ◄────── one-time codega4-mcp polls for the result ──► POST /v3/public/ga4/device/token returns the device key + codega4-mcp exchanges code + verifier ──► POST …/ga4/oauth/token ──► oauth2.googleapis.comdevice key + Google tokens saved in ~/.config/tagpilot/ga4-mcp/device.json (mode 600)GA4 API calls ─────────────────────────────────────────────────────► analytics*.googleapis.com[ {"field": "eventName", "op": "exact", "value": "purchase"}, {"field": "country", "op": "in_list", "values": ["Poland", "Germany"], "not": true}, {"any": [ {"field": "pagePath", "op": "begins_with", "value": "/shop"}, {"field": "pagePath", "op": "partial_regex", "value": "product"} ]}]npm installnpm run check # typecheck + lint + unit tests (all packages)npm run build # → packages/*/dist/index.js (esbuild bundles the shared core in)npm run e2e # built servers over stdio against a mock broker and mock Googlenpm run mcpb # Claude Desktop extensions → packages/*/tagpilot-<name>-<version>.mcpbnpm run mcpb:smoke # unpack each bundle, check its tools, run the e2e against it