io.github.samarthanalytics-sj/samarth-gtm-mcp
NPM · SAMARTH-GTM-MCP · SCANNED SEP 20
Google Tag Manager + read-only GA4 MCP server. Read-only by default, gated writes, audits.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security89
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects uuid 9.0.1, reached via google-auth-library > gaxios > uuid. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 48 of 148 dependencies flagged as unhealthy (1 deprecated). View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to samarthanalytics-sj/samarth-analytics-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 12 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability79
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 11859 tokens (~110/item across 107 items; 107 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
- Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage91
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 72% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 14 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "tags_delete" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 108 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.samarthanalytics-sj/samarth-gtm-mcp server?
io.github.samarthanalytics-sj/samarth-gtm-mcp runs locally as an npm package, launched with npx -y samarth-gtm-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · samarth-gtm-mcp
claude mcp add samarthanalytics-sj-samarth-gtm-mcp -- npx -y samarth-gtm-mcp
{
"mcpServers": {
"samarthanalytics-sj-samarth-gtm-mcp": {
"command": "npx",
"args": [
"-y",
"samarth-gtm-mcp"
]
}
}
} {
"servers": {
"samarthanalytics-sj-samarth-gtm-mcp": {
"command": "npx",
"args": [
"-y",
"samarth-gtm-mcp"
]
}
}
} codex mcp add samarthanalytics-sj-samarth-gtm-mcp -- npx -y samarth-gtm-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"samarthanalytics-sj-samarth-gtm-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"samarth-gtm-mcp"
],
"enabled": true
}
}
} openclaw mcp add samarthanalytics-sj-samarth-gtm-mcp --command npx --arg -y --arg samarth-gtm-mcp
mcp_servers:
samarthanalytics-sj-samarth-gtm-mcp:
command: "npx"
args: ["-y", "samarth-gtm-mcp"] {
"McpServers": {
"samarthanalytics-sj-samarth-gtm-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"samarth-gtm-mcp"
]
}
}
} assistant mcp add samarthanalytics-sj-samarth-gtm-mcp -t stdio -c npx -a -y samarth-gtm-mcp
{
"mcpServers": {
"samarthanalytics-sj-samarth-gtm-mcp": {
"command": "npx",
"args": [
"-y",
"samarth-gtm-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 −3
- Stability: pass → 0.80 functional
- 15 Sept 26 +1
- CVE-2026-82417 no longer affects this package ▲ security
- CVE-2026-82562 no longer affects this package ▲ security
- Stability: 0.97 → pass security
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 9 Sept 26 −3
- Stability: pass → 0.80 functional
- 8 Sept 26 +1
- Stability: 0.97 → pass security
- Security disclosure: unverified → pass ▲ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/samarth-gtm-mcp@1.19.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | samarthanalytics-sj/samarth-analytics-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/samarthanalytics-sj/samarth-analytics-mcp/.github/workflows/release.yml@refs/heads/main |
| Rekor log index | 1803910685 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:ef3892684692d00cfbe075fbf1afcc4ad65ddb758a73685655672f1a827dd0ce1f0ed9292149670be40c8673cbe456319a76b39a17145865910393931 |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-w5hq-g745-h8pq | CVE-2026-41907 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 148 packages
| Packages resolved | 148 |
|---|---|
| Deprecated | 1 |
| Stale | 47 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
accounts_get ~33
Get details of a specific GTM account.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID (numeric string). |
No output schema declared.
No examples provided.
accounts_list ~47
List all GTM accounts accessible to the authenticated user. Returns account IDs, names, and share-data flags.
| Name | Type | Req | Description |
|---|---|---|---|
| includeGoogleTags | boolean | – | Also include results from the Google Tags accounts. |
No output schema declared.
No examples provided.
audit_container ~84
Inspect a GTM workspace for common analytics implementation issues. Returns structured findings with severity levels (error/warning/info). This is a read-only operation — it never modifies anything.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| containerId | string | yes | – |
| includeInfo | boolean | – | Include informational findings (verbose). Default: false. |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
built_in_variables_disable ~86
[DELETE] Disable one or more built-in variables in a GTM workspace. Requires GTM_MCP_ENABLE_DELETES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| confirm | boolean | yes | – |
| containerId | string | yes | – |
| types | array | yes | Array of built-in variable types to disable. |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
built_in_variables_enable ~121
[WRITE] Enable one or more built-in variables in a GTM workspace. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| confirm | boolean | yes | – |
| containerId | string | yes | – |
| types | array | yes | Array of built-in variable types to enable. Known types include: pageUrl, pageHostname, pagePath, referrer, event, clickElement, clickClasses, clickId, clickTarget, clickUrl, and more. |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
built_in_variables_list ~47
List all currently enabled built-in variables in a GTM workspace.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| containerId | string | yes | – |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
built_in_variables_revert ~89
[WRITE] Revert changes to a built-in variable in the workspace to the original container version. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| confirm | boolean | yes | – |
| containerId | string | yes | – |
| type | string | yes | The built-in variable type to revert. |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
clients_create ~125
[WRITE] Create a new GTM client. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true. Pass the full resource as a JSON string in bodyJson.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| bodyJson | string | yes | Full clients resource as a JSON string (e.g. {"name":"...","type":"..."}). |
| confirm | boolean | yes | Must be true to confirm this write operation. |
| containerId | string | yes | The GTM container ID. |
| workspaceId | string | yes | The GTM workspace ID. |
No output schema declared.
No examples provided.
clients_delete ~98
[DELETE] Delete a GTM client. Requires GTM_MCP_ENABLE_DELETES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| clientId | string | yes | The clients ID to delete. |
| confirm | boolean | yes | Must be true to confirm this delete operation. |
| containerId | string | yes | The GTM container ID. |
| workspaceId | string | yes | The GTM workspace ID. |
No output schema declared.
No examples provided.
clients_get ~65
Get a specific GTM client.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| clientId | string | yes | The clients ID. |
| containerId | string | yes | The GTM container ID. |
| workspaceId | string | yes | The GTM workspace ID. |
No output schema declared.
No examples provided.
clients_list ~114
List all GTM clients in a workspace. Automatically follows pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| containerId | string | yes | The GTM container ID. |
| maxPages | integer | – | Maximum number of API pages to fetch (default 50). If more pages remain, the result includes truncated:true and a nextPageToken. |
| pageToken | string | – | Continuation token to resume listing from a previous truncated result. |
| workspaceId | string | yes | The GTM workspace ID. |
No output schema declared.
No examples provided.
clients_revert ~122
[WRITE] Revert workspace changes to a GTM client back to its last container-version state. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| clientId | string | yes | The clients ID to revert. |
| confirm | boolean | yes | Must be true to confirm this write operation. |
| containerId | string | yes | The GTM container ID. |
| fingerprint | string | – | Current fingerprint (for optimistic locking). |
| workspaceId | string | yes | The GTM workspace ID. |
No output schema declared.
No examples provided.
clients_update ~138
[WRITE] Update an existing GTM client. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true. Pass the full resource as a JSON string in bodyJson.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| bodyJson | string | yes | Full clients resource as a JSON string. |
| clientId | string | yes | The clients ID to update. |
| confirm | boolean | yes | Must be true to confirm this write operation. |
| containerId | string | yes | The GTM container ID. |
| fingerprint | string | – | Current fingerprint (for optimistic locking). |
| workspaceId | string | yes | The GTM workspace ID. |
No output schema declared.
No examples provided.
containers_combine ~151
[WRITE] Combine (merge) another container into this one. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true. ⚠️ This merges the source container identified by containerIdToCombine into the target container.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| allowUserPermissionFeatureUpdate | boolean | – | Allow updating the user-permission feature during combine. |
| confirm | boolean | yes | Must be true to confirm this write operation. |
| containerId | string | yes | The target container ID (the surviving container). |
| containerIdToCombine | string | yes | The container ID to merge into the target. |
| settingSource | string | – | Which container's settings to keep. |
No output schema declared.
No examples provided.
containers_create ~103
[WRITE] Create a new GTM container. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| confirm | boolean | yes | Must be true to confirm this write operation. |
| domainName | array | – | Associated domain names. |
| name | string | yes | Container name. |
| notes | string | – | Optional notes. |
| usageContext | array | yes | Usage context(s) for the container. |
No output schema declared.
No examples provided.
containers_get ~43
Get details of a specific GTM container.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| containerId | string | yes | The GTM container ID. |
No output schema declared.
No examples provided.
containers_list ~94
List all GTM containers within a GTM account. Automatically follows pagination to return all containers.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| maxPages | integer | – | Maximum number of API pages to fetch (default 50). If more pages remain, the result includes truncated:true and a nextPageToken. |
| pageToken | string | – | Continuation token to resume listing from a previous truncated result. |
No output schema declared.
No examples provided.
containers_lookup ~56
Look up a GTM container by its linked destination ID (e.g. a GA4 measurement ID or tag ID).
| Name | Type | Req | Description |
|---|---|---|---|
| destinationId | string | yes | The destination/tag ID to look up (e.g. "G-XXXXXXX"). |
No output schema declared.
No examples provided.
containers_move_tag_id ~162
[WRITE] Move a Tag ID out of a container into a new container. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| allowUserPermissionFeatureUpdate | boolean | – | – |
| confirm | boolean | yes | Must be true to confirm this write operation. |
| containerId | string | yes | The source container ID. |
| copySettings | boolean | – | Whether to copy container settings. |
| copyTermsOfService | boolean | – | Whether to copy terms of service. |
| copyUsers | boolean | – | Whether to copy users. |
| tagId | string | yes | The Tag ID to move. |
| tagName | string | – | Name for the new tag created in the destination container. |
No output schema declared.
No examples provided.
containers_snippet ~52
Get the GTM installation snippet (HTML/JS tagging code) for a container.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| containerId | string | yes | The GTM container ID. |
No output schema declared.
No examples provided.
destinations_get ~54
Get details of a specific GTM destination.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| containerId | string | yes | The GTM container ID. |
| destinationId | string | yes | The destination ID. |
No output schema declared.
No examples provided.
destinations_link ~115
[WRITE] Link a destination (Google tag / GA4 destination) to a GTM container. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| allowUserPermissionFeatureUpdate | boolean | – | – |
| confirm | boolean | yes | Must be true to confirm this write operation. |
| containerId | string | yes | The GTM container ID. |
| destinationId | string | yes | The destination ID to link (e.g. "G-XXXXXXX"). |
No output schema declared.
No examples provided.
destinations_list ~52
List all destinations (linked Google tags / GA4 destinations) for a GTM container.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| containerId | string | yes | The GTM container ID. |
No output schema declared.
No examples provided.
environments_create ~118
[WRITE] Create a new GTM environment. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| confirm | boolean | yes | Must be true to confirm this write operation. |
| containerId | string | yes | The GTM container ID. |
| description | string | – | Environment description. |
| enableDebug | boolean | – | Whether to enable debug by default. |
| name | string | yes | Environment name. |
| url | string | – | Default preview page URL for the environment. |
No output schema declared.
No examples provided.
environments_delete ~87
[DELETE] Delete a GTM environment. Requires GTM_MCP_ENABLE_DELETES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| confirm | boolean | yes | Must be true to confirm this delete operation. |
| containerId | string | yes | The GTM container ID. |
| environmentId | string | yes | The GTM environment ID to delete. |
No output schema declared.
No examples provided.
environments_get ~56
Get details of a specific GTM environment.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| containerId | string | yes | The GTM container ID. |
| environmentId | string | yes | The GTM environment ID. |
No output schema declared.
No examples provided.
environments_list ~101
List all environments in a GTM container. Automatically follows pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| containerId | string | yes | The GTM container ID. |
| maxPages | integer | – | Maximum number of API pages to fetch (default 50). If more pages remain, the result includes truncated:true and a nextPageToken. |
| pageToken | string | – | Continuation token to resume listing from a previous truncated result. |
No output schema declared.
No examples provided.
environments_reauthorize ~119
[PUBLISH] Re-generate the authorization code for a GTM environment. Requires GTM_MCP_ENABLE_PUBLISH=true and confirm=true. ⚠️ This rotates the environment auth token; any embedded snippet using the old token stops working until updated.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| confirm | boolean | yes | Must be true to confirm this high-impact operation. |
| containerId | string | yes | The GTM container ID. |
| environmentId | string | yes | The GTM environment ID to reauthorize. |
No output schema declared.
No examples provided.
environments_update ~145
[WRITE] Update an existing GTM environment. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| confirm | boolean | yes | Must be true to confirm this write operation. |
| containerId | string | yes | The GTM container ID. |
| description | string | – | New description. |
| enableDebug | boolean | – | Whether to enable debug by default. |
| environmentId | string | yes | The GTM environment ID to update. |
| fingerprint | string | – | Current fingerprint (for optimistic locking). |
| name | string | – | New environment name. |
| url | string | – | New default preview page URL. |
No output schema declared.
No examples provided.
export_container ~111
Export a full GTM workspace summary as structured JSON. Returns all tags, triggers, variables, folders, and built-in variables. This is a read-only operation. Use this for documentation, auditing, or feeding container data to other tools.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| containerId | string | yes | – |
| format | string | – | "full" = all fields, "summary" = key fields only, "names_only" = just names and IDs |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
folders_create ~75
[WRITE] Create a GTM folder. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| confirm | boolean | yes | – |
| containerId | string | yes | – |
| name | string | yes | – |
| notes | string | – | – |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
folders_delete ~83
[DELETE] Delete a GTM folder. Requires GTM_MCP_ENABLE_DELETES=true and confirm=true. Contents of the folder will be unfoldered, not deleted.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| confirm | boolean | yes | – |
| containerId | string | yes | – |
| folderId | string | yes | – |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
folders_entities ~57
List all entities (tags, triggers, variables) within a specific GTM folder.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| containerId | string | yes | – |
| folderId | string | yes | – |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
folders_get ~47
Get a specific GTM folder.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| containerId | string | yes | – |
| folderId | string | yes | – |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
folders_list ~103
List all GTM folders in a workspace. Automatically follows pagination to return all folders.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| containerId | string | yes | – |
| maxPages | integer | – | Maximum number of API pages to fetch (default 50). If more pages remain, the result includes truncated:true and a nextPageToken. |
| pageToken | string | – | Continuation token to resume listing from a previous truncated result. |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
folders_move_entities ~114
[WRITE] Move tags/triggers/variables into a folder. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| confirm | boolean | yes | – |
| containerId | string | yes | – |
| folderId | string | yes | The destination folder ID. |
| tagId | array | – | Tag IDs to move. |
| triggerId | array | – | Trigger IDs to move. |
| variableId | array | – | Variable IDs to move. |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
folders_update ~90
[WRITE] Update a GTM folder. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| confirm | boolean | yes | – |
| containerId | string | yes | – |
| fingerprint | string | – | – |
| folderId | string | yes | – |
| name | string | – | – |
| notes | string | – | – |
| workspaceId | string | yes | – |
No output schema declared.
No examples provided.
ga4_account_summaries_list ~113
List GA4 account summaries accessible to the authenticated user. Each summary includes the account plus a lightweight list of its property summaries (property ID + display name). Best starting point to discover available GA4 accounts and properties. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| maxPages | integer | – | Maximum number of API pages to fetch (default 50). If more pages remain, the result includes truncated:true and a nextPageToken. |
| pageToken | string | – | Continuation token to resume listing from a previous truncated result. |
No output schema declared.
No examples provided.
ga4_custom_dimensions_list ~119
List custom dimensions configured on a GA4 property (parameter name, display name, scope: EVENT/USER/ITEM). Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| maxPages | integer | – | Maximum number of API pages to fetch (default 50). If more pages remain, the result includes truncated:true and a nextPageToken. |
| pageToken | string | – | Continuation token to resume listing from a previous truncated result. |
| property | string | yes | GA4 property ID, e.g. "123456789" or "properties/123456789". |
No output schema declared.
No examples provided.
ga4_custom_metrics_list ~121
List custom metrics configured on a GA4 property (parameter name, display name, measurement unit, scope, restricted-metric type). Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| maxPages | integer | – | Maximum number of API pages to fetch (default 50). If more pages remain, the result includes truncated:true and a nextPageToken. |
| pageToken | string | – | Continuation token to resume listing from a previous truncated result. |
| property | string | yes | GA4 property ID, e.g. "123456789" or "properties/123456789". |
No output schema declared.
No examples provided.
ga4_data_retention_get ~65
Get the data retention settings for a GA4 property (event data retention duration and whether retention resets on new activity). Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| property | string | yes | GA4 property ID, e.g. "123456789" or "properties/123456789". |
No output schema declared.
No examples provided.
ga4_data_streams_list ~141
List data streams for a GA4 property (web, Android, iOS). Web streams include the measurement ID and default URI; app streams include package name / bundle ID. Use this to audit measurement IDs and stream config. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| maxPages | integer | – | Maximum number of API pages to fetch (default 50). If more pages remain, the result includes truncated:true and a nextPageToken. |
| pageToken | string | – | Continuation token to resume listing from a previous truncated result. |
| property | string | yes | GA4 property ID, e.g. "123456789" or "properties/123456789". |
No output schema declared.
No examples provided.
ga4_enhanced_measurement_get ~122
Get the enhanced measurement settings for a specific WEB data stream (scrolls, outbound clicks, site search, video engagement, file downloads, form interactions). Only valid for web streams. Served via the Admin API v1alpha surface (not yet in v1beta). Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| dataStreamId | string | yes | The data stream ID (numeric) or full "dataStreams/{id}" suffix. |
| property | string | yes | GA4 property ID, e.g. "123456789" or "properties/123456789". |
No output schema declared.
No examples provided.
ga4_google_ads_links_list ~120
List Google Ads links for a GA4 property (linked customer ID, personalized-advertising and auto-tagging flags). Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| maxPages | integer | – | Maximum number of API pages to fetch (default 50). If more pages remain, the result includes truncated:true and a nextPageToken. |
| pageToken | string | – | Continuation token to resume listing from a previous truncated result. |
| property | string | yes | GA4 property ID, e.g. "123456789" or "properties/123456789". |
No output schema declared.
No examples provided.
ga4_key_events_list ~131
List key events (formerly "conversion events") for a GA4 property — the current Admin API naming. Returns event name, counting method, and whether the event is deletable. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| maxPages | integer | – | Maximum number of API pages to fetch (default 50). If more pages remain, the result includes truncated:true and a nextPageToken. |
| pageToken | string | – | Continuation token to resume listing from a previous truncated result. |
| property | string | yes | GA4 property ID, e.g. "123456789" or "properties/123456789". |
No output schema declared.
No examples provided.
ga4_properties_list ~142
List GA4 properties under a given parent account. Returns full property records (display name, time zone, currency, industry, service level). Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | Parent GA4 account ID, e.g. "123456" or "accounts/123456". |
| maxPages | integer | – | Maximum number of API pages to fetch (default 50). If more pages remain, the result includes truncated:true and a nextPageToken. |
| pageToken | string | – | Continuation token to resume listing from a previous truncated result. |
| showDeleted | boolean | – | Include soft-deleted (trashed) properties in the results. |
No output schema declared.
No examples provided.
ga4_property_get ~65
Get a single GA4 property by ID, including display name, time zone, currency, industry category, and service level. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| property | string | yes | GA4 property ID, e.g. "123456789" or "properties/123456789". |
No output schema declared.
No examples provided.
ga4_run_realtime_report ~159
Run a read-only GA4 Data API Realtime report (events in roughly the last 30 minutes). Useful to confirm a tag is firing right now during live QA. Read-only — never writes. Requires the analytics.readonly scope.
| Name | Type | Req | Description |
|---|---|---|---|
| dimensions | array | – | Dimension names, e.g. ["eventName","date"]. Max 9. Omit for a metric-only report. |
| limit | integer | – | Max rows to return (default 100). |
| metrics | array | yes | Metric names, e.g. ["eventCount","totalUsers"]. At least 1, max 10. |
| property | string | yes | GA4 property ID, e.g. "123456789" or "properties/123456789". |
No output schema declared.
No examples provided.
ga4_run_report ~273
Run a read-only GA4 Data API report for a property over a date range. Returns dimension/metric rows (e.g. event counts by eventName). Useful for reconciling configured GTM/GA4 events against events GA4 actually reports (zero reported activity for a configured event is a red flag). Read-only — never writes. Requires the analytics.readonly scope.
| Name | Type | Req | Description |
|---|---|---|---|
| dimensions | array | – | Dimension names, e.g. ["eventName","date"]. Max 9. Omit for a metric-only report. |
| endDate | string | – | End date: YYYY-MM-DD, "NdaysAgo", "today", or "yesterday". |
| limit | integer | – | Max rows to return (default 250). |
| metrics | array | yes | Metric names, e.g. ["eventCount","totalUsers"]. At least 1, max 10. |
| offset | integer | – | Row offset for paging (default 0). |
| orderByMetric | string | – | Metric name to order by (descending). Optional. |
| property | string | yes | GA4 property ID, e.g. "123456789" or "properties/123456789". |
| startDate | string | – | Start date: YYYY-MM-DD, "NdaysAgo", "today", or "yesterday". |
No output schema declared.
No examples provided.
gtag_config_create ~131
[WRITE] Create a new GTM gtag config. Requires GTM_MCP_ENABLE_WRITES=true and confirm=true. Pass the full resource as a JSON string in bodyJson.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The GTM account ID. |
| bodyJson | string | yes | Full gtag configs resource as a JSON string (e.g. {"name":"...","type":"..."}). |
| confirm | boolean | yes | Must be true to confirm this write operation. |
| containerId | string | yes | The GTM container ID. |
| workspaceId | string | yes | The GTM workspace ID. |
No output schema declared.
No examples provided.
What is the io.github.samarthanalytics-sj/samarth-gtm-mcp server?
io.github.samarthanalytics-sj/samarth-gtm-mcp is listed in the public MCP registry as io.github.samarthanalytics-sj/samarth-gtm-mcp. Google Tag Manager + read-only GA4 MCP server. Read-only by default, gated writes, audits. This page covers its npm package (samarth-gtm-mcp).
Is the io.github.samarthanalytics-sj/samarth-gtm-mcp server safe to use?
io.github.samarthanalytics-sj/samarth-gtm-mcp scores 90 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.samarthanalytics-sj/samarth-gtm-mcp server expose?
io.github.samarthanalytics-sj/samarth-gtm-mcp exposes 107 tools: accounts_list, accounts_get, containers_list, containers_get, containers_create, and 102 more. Their descriptions and schemas cost roughly 11,055 tokens of context every time the server is loaded.
Is the io.github.samarthanalytics-sj/samarth-gtm-mcp server still maintained?
io.github.samarthanalytics-sj/samarth-gtm-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.samarthanalytics-sj/samarth-gtm-mcp server under?
io.github.samarthanalytics-sj/samarth-gtm-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.