Connects Claude to your Google Analytics 4 properties through the GA4 Reporting API. You get schema discovery so you can explore dimensions and metrics available in your account, reporting tools to query sessions, events, and custom conversions, and admin visibility into account and property structure. Part of Mindstone's 35-server catalog. Useful when you need to pull analytics data into a workflow without leaving your editor, or when you want Claude to analyze traffic patterns, build reports, or answer questions about user behavior by querying GA4 directly. Authentication follows the standard Google OAuth flow.
Public tool metadata for what this MCP can expose to an agent.
GOOGLE_ANALYTICS_BATCH_RUN_REPORTSTool to return multiple analytics data reports in a batch. Use when you need to fetch multiple reports for one GA4 property in a single request.2 paramsTool to return multiple analytics data reports in a batch. Use when you need to fetch multiple reports for one GA4 property in a single request.
propertystringrequestsarrayGOOGLE_ANALYTICS_CHECK_COMPATIBILITYTool to list dimensions and metrics compatible with a GA4 report request. Use when you need to validate compatibility of chosen dimensions or metrics before running a report.6 paramsTool to list dimensions and metrics compatible with a GA4 report request. Use when you need to validate compatibility of chosen dimensions or metrics before running a report.
metricsarraypropertystringdimensionsarraymetricFilterobjectdimensionFilterobjectcompatibilityFilterstringCOMPATIBILITY_UNSPECIFIED · COMPATIBLE · INCOMPATIBLEGOOGLE_ANALYTICS_CREATE_AUDIENCE_EXPORTTool to create an audience export. Use after configuring the audience and dimensions to produce a long-running Operation.3 paramsTool to create an audience export. Use after configuring the audience and dimensions to produce a long-running Operation.
parentstringaudiencestringdimensionsarrayGOOGLE_ANALYTICS_CREATE_AUDIENCE_LISTTool to create an audience list. Use when you need to define and asynchronously populate a new AudienceList resource under a GA4 property.4 paramsTool to create an audience list. Use when you need to define and asynchronously populate a new AudienceList resource under a GA4 property.
parentstringaudiencestringdimensionsarraywebhookNotificationobjectGOOGLE_ANALYTICS_CREATE_EXPANDED_DATA_SETTool to create an expanded data set for a property. Use when you need to combine specific dimensions and metrics into a custom dataset after property creation.2 paramsTool to create an expanded data set for a property. Use when you need to combine specific dimensions and metrics into a custom dataset after property creation.
parentstringexpandedDataSetobjectGOOGLE_ANALYTICS_CREATE_ROLLUP_PROPERTYTool to create a GA4 Roll-up Property and optionally initial source links.4 paramsTool to create a GA4 Roll-up Property and optionally initial source links.
accountstringtimeZonestringdisplayNamestringsourcePropertiesarrayGOOGLE_ANALYTICS_GET_ACCOUNTTool to retrieve a single Account by its resource name. Use when you need detailed account info after confirming the account resource name (e.g., accounts/100).1 paramsTool to retrieve a single Account by its resource name. Use when you need detailed account info after confirming the account resource name (e.g., accounts/100).
namestringGOOGLE_ANALYTICS_GET_AUDIENCE_EXPORTTool to get configuration metadata for an Audience Export. Use after creating an Audience Export to retrieve its status and details.1 paramsTool to get configuration metadata for an Audience Export. Use after creating an Audience Export to retrieve its status and details.
namestringGOOGLE_ANALYTICS_GET_AUDIENCE_LISTTool to get configuration metadata about a specific audience list. Use after confirming the audience list resource name.1 paramsTool to get configuration metadata about a specific audience list. Use after confirming the audience list resource name.
namestringGOOGLE_ANALYTICS_GET_KEY_EVENTTool to retrieve a Key Event. Use after confirming the key event resource name.1 paramsTool to retrieve a Key Event. Use after confirming the key event resource name.
namestringGOOGLE_ANALYTICS_GET_METADATATool to get metadata for dimensions, metrics, and comparisons for a GA4 property. Use when you need to discover available fields before building a report.1 paramsTool to get metadata for dimensions, metrics, and comparisons for a GA4 property. Use when you need to discover available fields before building a report.
namestringGOOGLE_ANALYTICS_GET_PROPERTY_QUOTAS_SNAPSHOTTool to retrieve all property quotas organized by category for a given property. Use when you need to check current quota usage for a GA4 property.1 paramsTool to retrieve all property quotas organized by category for a given property. Use when you need to check current quota usage for a GA4 property.
propertystringGOOGLE_ANALYTICS_LIST_ACCOUNTSTool to list all Accounts accessible by the caller. Use when you need to enumerate all Google Analytics accounts your credentials can access.3 paramsTool to list all Accounts accessible by the caller. Use when you need to enumerate all Google Analytics accounts your credentials can access.
pageSizeintegerpageTokenstringshowDeletedbooleanGOOGLE_ANALYTICS_LIST_AUDIENCE_EXPORTSTool to list all audience exports for a GA4 property. Use when you need to fetch its export history after initiating exports.3 paramsTool to list all audience exports for a GA4 property. Use when you need to fetch its export history after initiating exports.
parentstringpageSizeintegerpageTokenstringGOOGLE_ANALYTICS_LIST_AUDIENCE_LISTSTool to list all audience lists for a GA4 property. Use when you need to retrieve a property's configured audience lists after confirming the property ID.3 paramsTool to list all audience lists for a GA4 property. Use when you need to retrieve a property's configured audience lists after confirming the property ID.
parentstringpageSizeintegerpageTokenstringGOOGLE_ANALYTICS_LIST_AUDIENCESTool to list all audiences on a property. Use when you need to fetch all audiences for a GA4 property after confirming its existence.3 paramsTool to list all audiences on a property. Use when you need to fetch all audiences for a GA4 property after confirming its existence.
parentstringpageSizeintegerpageTokenstringGOOGLE_ANALYTICS_LIST_KEY_EVENTSTool to list Key Events. Use when you need to retrieve all key event definitions for a given property.3 paramsTool to list Key Events. Use when you need to retrieve all key event definitions for a given property.
parentstringpageSizeintegerpageTokenstringGOOGLE_ANALYTICS_LIST_PROPERTIESTool to list GA4 properties under a specific account. Use after obtaining an account ID; supports pagination and including soft-deleted properties.4 paramsTool to list GA4 properties under a specific account. Use after obtaining an account ID; supports pagination and including soft-deleted properties.
accountstringpageSizeintegerpageTokenstringshowDeletedbooleanGOOGLE_ANALYTICS_LIST_REPORTING_DATA_ANNOTATIONSTool to list all Reporting Data Annotations on a property. Use when you need to retrieve or inspect annotations for a GA4 property.4 paramsTool to list all Reporting Data Annotations on a property. Use when you need to retrieve or inspect annotations for a GA4 property.
filterstringparentstringpageSizeintegerpageTokenstringGOOGLE_ANALYTICS_LIST_ROLLUP_PROPERTIESTool to list roll-up GA4 properties accessible to the caller. Use when you need to identify roll-up properties across all accessible accounts.1 paramsTool to list roll-up GA4 properties accessible to the caller. Use when you need to identify roll-up properties across all accessible accounts.
pageSizeintegerGOOGLE_ANALYTICS_LIST_SEARCH_ADS360_LINKSTool to list all SearchAds360Links on a property. Use when you need to fetch all Search Ads 360 links for a given property after authenticating.3 paramsTool to list all SearchAds360Links on a property. Use when you need to fetch all Search Ads 360 links for a given property after authenticating.
parentstringpageSizeintegerpageTokenstringGOOGLE_ANALYTICS_QUERY_AUDIENCE_EXPORTTool to query a completed audience export. Use when you need to fetch user rows with pagination.3 paramsTool to query a completed audience export. Use when you need to fetch user rows with pagination.
namestringlimitintegeroffsetintegerGOOGLE_ANALYTICS_QUERY_AUDIENCE_LISTTool to query an audience list. Use when you need to retrieve user rows from a GA4 audience list with pagination.3 paramsTool to query an audience list. Use when you need to retrieve user rows from a GA4 audience list with pagination.
namestringlimitintegeroffsetintegerGOOGLE_ANALYTICS_RUN_FUNNEL_REPORTTool to run a GA4 funnel report. Use when you need a customized funnel analysis report for a given property.10 paramsTool to run a GA4 funnel report. Use when you need a customized funnel analysis report for a given property.
limitintegerfunnelobjectpropertystringsegmentsarraydateRangesarraydimensionFilterobjectfunnelBreakdownobjectfunnelNextActionobjectreturnPropertyQuotabooleanfunnelVisualizationTypestringSTANDARD_FUNNEL · TRENDED_FUNNELGOOGLE_ANALYTICS_RUN_REPORTTool to run a customized GA4 data report. Use when you need event data after specifying dimensions, metrics, and date ranges.15 paramsTool to run a customized GA4 data report. Use when you need event data after specifying dimensions, metrics, and date ranges.
limitintegeroffsetintegermetricsarrayorderBysarraypropertystringcohortSpecobjectdateRangesarraydimensionsarraycomparisonsarraycurrencyCodestringmetricFilterobjectkeepEmptyRowsbooleandimensionFilterobjectmetricAggregationsarrayreturnPropertyQuotaboolean
Source-available MCP servers by Mindstone. Works with any MCP host — Claude Desktop, Cursor, Rebel, and others.
Browse all 35 connectors with their version, auth model, and tool count at the catalogue site (regenerated from each connector's STATUS.json on every push).
| Connector | Description |
|---|---|
| apple-shortcuts | Run and list Apple Shortcuts on macOS via the shortcuts CLI |
| browser-automation | Headless browser control via accessibility snapshots — navigate, fill forms, click, and screenshot pages via the agent-browser CLI |
| elevenlabs | Generate speech, music, and sound effects, browse voices, and transcribe audio via the ElevenLabs API |
| email-imap | Read, search, send, and manage emails through IMAP and SMTP |
| fathom | List and search meetings, view details, read transcripts, and manage teams via Fathom AI |
| freshdesk | Manage helpdesk tickets, search support requests, reply to customers, and add internal notes |
| gamma | Create AI-powered presentations, documents, webpages, and social posts via Gamma |
| google-analytics | Discover GA4 accounts and properties, explore the live schema, and run reports via the Google Analytics API |
| google-workspace | Read, search, and send across Gmail, Calendar, Drive, Docs, Sheets, Slides, Contacts, and Comments with host-orchestrated OAuth and per-account on-disk credentials |
| hubspot | Manage HubSpot CRM — contacts, companies, deals, tickets, leads, tasks, notes, properties, lists, workflows, knowledge base, and files — with multi-account, host-orchestrated OAuth |
| humaans | Query employee profiles, job roles, time-away requests, and company info via Humaans HR |
| kling | Generate AI videos from text descriptions or images via Kling AI |
| microsoft-calendar | List, create, update, and respond to Outlook calendar events, check free/busy, and list calendars; reuses the cohort's host-orchestrated Microsoft 365 OAuth surface |
| microsoft-files | List, search, upload, download, share, and read OneDrive files via Microsoft Graph; reuses the cohort's host-orchestrated Microsoft 365 OAuth surface |
| microsoft-mail | List, search, read, send, reply, forward, draft, move, and delete Outlook email; owns the cohort's host-orchestrated Microsoft 365 OAuth surface |
| microsoft-sharepoint | Discover sites, browse libraries, read pages and lists, search content, and mutate SharePoint files/lists with incremental Sites.Read.All consent |
| microsoft-teams | List and read Teams chats, send chat messages, list teams and channels, and read presence; reuses the cohort's host-orchestrated Microsoft 365 OAuth surface |
| mixmax | Manage sequences, send tracked emails, use templates, and monitor engagement via Mixmax |
| nano-banana | Generate and edit images using Google Gemini's AI capabilities |
| napkin | Generate professional visuals — diagrams, infographics, and illustrations — from text via Napkin AI |
| office | Read and edit Word documents, Excel workbooks, and PowerPoint presentations from desktop Microsoft 365 via an Office Add-in sidecar |
| openai-image | Generate and edit images via OpenAI's gpt-image-2 — sharp text rendering, multilingual support, and four quality levels |
| outreach | Manage prospects, sequences, accounts, tasks, and mailings via the Outreach sales engagement API |
| pandadoc | Create, send, and manage documents, templates, and e-signatures via PandaDoc |
| quickbooks | Manage invoices, bills, customers, vendors, employees, and accounts in QuickBooks Online |
| replit-ssh | Read, write, list, and check files on Replit projects over SSH/SFTP, with one-shot SSH key + config setup on the operator's machine |
| retell-ai | Place voice-agent phone calls, manage agents and LLM prompts, and discover voices via the Retell AI API |
| runway | Generate AI video, images, audio, speech, and sound effects via Runway ML |
| salesforce | Manage accounts, contacts, opportunities, leads, tasks, users, and custom objects via the Salesforce API |
| servicenow | Manage incidents, change requests, users, and knowledge base articles in ServiceNow |
| slack | Multi-workspace Slack — channels, messages, threads, reactions, users, files, bookmarks, and scheduled messages via the Slack Web API, with host-orchestrated OAuth |
| talentlms | Manage users, courses, groups, branches, enrolments, and assessments in TalentLMS |
| vanta | Read and manage compliance posture in Vanta — vulnerabilities, tests, controls, evidence, resources, people, vendors, documents, and compliance summary |
| workday | Query workers, profiles, and organizations in Workday HCM |
| zendesk | Manage tickets, macros, users, and views in Zendesk Support |
Each server builds independently:
cd connectors/<name>
npm install
npm run build
Or run directly via npx (once published):
npx -y @mindstone/mcp-server-zendesk
Moving from
@mindstone-engineering/? Every server has been republished under the shorter@mindstone/npm scope. The legacy@mindstone-engineering/mcp-server-*packages still install but are marked deprecated. See MIGRATION.md for the consumer one-liner and the deprecation timeline.
See each server's README for configuration and host setup instructions. Some connectors require additional environment variables to opt into specific behaviour (e.g. QB_ALLOW_PROD_WRITES for QuickBooks production writes, MCP_WORKSPACE_PATH for sandboxed file reads, BROWSER_AUTOMATION_ALLOW_EVAL for browser-automation script eval) — see the per-connector READMEs for the full list.
This monorepo follows a defence-in-depth posture for tool-call hosts. Highlights include:
permissions: block. Publish is split into a build job (does the install/test/pack with no publish credentials) and a publish job (downloads the packed tarball, runs only npm publish --ignore-scripts --provenance under OIDC trusted publishing, gated by the npm-publish environment). The publish job invokes NO third-party JS — tsc, vitest, lifecycle scripts, etc. all run upstream, away from id-token: write. See docs/security/AUDIT_FOX-3319_tanstack_supply_chain.md for the supply-chain threat model and docs/security/BRANCH_PROTECTION.md for required GitHub settings..npmrc sets min-release-age=7 (days), so CI refuses to install dependency versions published in the last week. This blocks the "same-day malicious re-publish" path that ships post-npm audit-clean PRs into a release tag..github/workflows/release.yml) under the @mindstone/ npm scope via Trusted Publishing OIDC — no long-lived npm token exists anywhere — with --provenance Sigstore attestations consumers can verify via npm audit signatures. Every publishable release commit must carry a Release-Gate trailer pointing at its pre-release security review, and every publish posts an alert; the full gate chain is in docs/PUBLISH_APPROVAL_PROCESS.md. (Only a brand-new connector's first publish is manual and WebAuthn-gated; those tarballs carry no provenance attestation but remain shasum-verifiable — check out the release commit and run npm pack; see MIGRATION.md.).github/workflows/scorecard.yml. The report is generated by a third party from the source tree, so every claim above (action pinning, branch protection, token usage, dependency hygiene) is independently checked rather than just asserted here. The current score is shown by the badge at the top of this README.These connectors are published as plain npm packages. The strongest single thing you can do to protect yourself from a future supply-chain compromise of any npm package (these or otherwise) is to use a client that does not run lifecycle scripts by default:
pnpm install / pnpm dlx) — does not execute postinstall/prepare hooks unless explicitly allowlisted via onlyBuiltDependencies. pnpm v11+ also defaults to a 24-hour minimumReleaseAge cool-down.bunx) — same default, no lifecycle scripts unless allowlisted.min-release-age=7 and ignore-scripts=true in your global ~/.npmrc. Requires npm v11.10+ for min-release-age.None of our published packages need postinstall to function, so disabling lifecycle scripts in your installer of choice is safe.
<untrusted-content source="..."> envelopes with close-tag breakout escaping, so an LLM host can recognise and refuse instruction-injection attempts.MCP_WORKSPACE_PATH (or os.tmpdir()) with canonical-prefix containment that handles symlinked roots like /tmp → /private/tmp.QB_ALLOW_PROD_WRITES=1 opt-in env var; outreach prospect-enrolment and mixmax sequence-recipient tools carry destructiveHint: true so hosts surface confirmation prompts.MCP_OAUTH_BIND_HOST override.For per-connector security notes, see each connector's README.
To report a vulnerability, please see SECURITY.md.
This repo is one of several open-source projects from Mindstone:
Each connector is licensed under FSL-1.1-MIT — see the LICENSE file in each connector directory for details.
GOOGLE_APPLICATION_CREDENTIALS*Absolute path to ADC or service-account JSON file
GA4_PROPERTY_IDDefault GA4 property ID (e.g. 123456789)
io.github.infoinlet-marketplace/mcp-observability
betterdb-inc/monitor
com.mcparmory/datadog
thotischner/observability-mcp
io.github.tantiope/datadog-mcp
io.github.us-all/datadog