analytics-mcp
analytics-mcp
통합 웹 분석 MCP 서버: GA4, Cloudflare Web Analytics, Vercel Analytics 및 Google Search Console 뒤에 하나의 표준화된 도구 표면을 둡니다. 한 가지 질문 — "지난주 사이트는 어땠나요?" — 실행 중인 모든 트래커에 걸쳐 답을 얻을 수 있고, 트래커 간의 차이는 숨기지 않고 보고됩니다.
원격: StreamableHTTP + OAuth 2.1, 한 번의 클릭으로 Vercel에 배포 가능 — Claude web에서 사용 가능.
로컬: 동일한 서버를 stdio로 제공 — Claude Code / Cursor / Desktop용.
상태: 스펙 기반 빌드 진행 중.
SPEC.md는 파일별 구현 계약과 단계 게이트를 담고 있습니다. 아직 사용할 수 없습니다.
디자인 노트 (간단 버전)
이 저장소에는 조직 특화 요소가 없습니다. 사이트, 속성, 토큰은 설정(
SITES_CONFIG+ 환경 변수)입니다 —.env.example과sites.example.json을 참고하세요.여기서 "원격"은 여러분의 자격 증명을 사용하는 여러분의 배포를 의미하며, 멀티테넌트 SaaS가 아닙니다.
모든 소스 어댑터는
pnpm probe로 캡처한 실제 API 응답을 기준으로 타입이 지정됩니다 — 추측한 형태를 기준으로 하지 않습니다.
라이선스: MIT.
Available Tools
2 toolslist_sitesARead-only
List configured sites (id, name, bound source keys). Binding values stay server-side.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety profile. The description adds useful behavioral context beyond that by stating 'Binding values stay server-side', which clarifies that sensitive binding values are not included in the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the action and resource, then adds a valuable behavior note. Every word earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple, zero-parameter read-only list operation. The description names the output fields and clarifies a key behavior, which is sufficient given the absence of an output schema. Minor details like pagination or ordering are not addressed, but they are not clearly essential for a basic site-listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so the schema fully handles parameter semantics. The description adds no parameter meaning, but none is needed; the baseline for a zero-parameter tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and the resource ('configured sites') and even enumerates the returned fields (id, name, bound source keys). However, it does not explicitly differentiate this from its sibling 'list_sources', so the agent must rely on the tool name to distinguish them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to list sites, but it gives no guidance on when to choose this over the sibling tool 'list_sources'. No exclusions, conditions, or alternative-selection guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesARead-only
List registered analytics adapters and whether their credentials are present.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only and open-world behavior, so the description only needs to add context. It does add that the output includes credential presence, which is useful, but it does not clarify details such as whether credentials are validated or whether the list is exhaustive. The description is not contradictory to the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the core purpose and avoids filler. Every word adds meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only listing tool with no output schema, the description provides sufficient context: what is listed and what aspect of those items is reported. The annotations cover the safety profile, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so there is no parameter meaning for the description to add. The baseline of 4 for a no-parameter tool is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('List') and a specific resource ('registered analytics adapters') with an additional useful detail (credential presence). This clearly distinguishes it from the sibling tool list_sites, which targets a different resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The resource name makes the intended use inferable—use this when you need analytics adapters and their credential status—but the description does not explicitly contrast it with list_sites or state when not to use it. Usage guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
list_sites - First observed
list_sources
TDQS
Scored across 2 tools
The two tools target distinct resources: sites (configured web properties) and sources (adapter credentials). Their descriptions clearly separate these concepts, so an agent is unlikely to confuse them.
Both tools follow the same 'list_[plural noun]' pattern, making the naming fully consistent and predictable.
With only two tools, the server feels very thin for an analytics context, aligning with the borderline category of 1-2 tools. The tools are simple list operations, but the count itself is minimal.
The server covers only read-only listing of sites and sources, with no create, update, or delete operations, nor any analytics data access. For a server named 'analytics-mcp,' this is a significant functional gap.
Related MCP Connectors
One MCP connector for GA4, Search Console, Google Ads, Ahrefs, a site crawler and Web Vitals.
Hosted MCP server for GA4, Google Ads and Search Console. Google OAuth, nothing to install.
Read and edit GA4, Search Console and Google Tag Manager from any MCP client. 29 tools.
Google Analytics, Search Console, Ads, CRM, Cloudflare and more for your sites, from your own AI.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables querying Google Analytics 4 data using natural language through MCP clients like Claude and Cursor, supporting 200+ dimensions and metrics for traffic, user behavior, and e-commerce analysis.MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying Google Analytics 4 properties through natural language, supporting historical and real-time reports, metadata discovery, and property listing via a Vercel-deployed MCP server.263 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables natural-language, read-only analysis of your own Google Search Console and Google Analytics 4 data, including search performance, engagement, sitemap health, ranking opportunities, and deterministic SEO audits through MCP clients like ChatGPT.MIT
- AlicenseAqualityCmaintenanceUnifies Google Ads, Tag Manager, Search Console, and GA4 into a single MCP server, enabling reporting, monitoring, campaign/tag/property creation, and live mutations with dry-run safety.94Apache 2.0