Skip to main content
Glama
colintoh

Clicky MCP Server

by colintoh

Clicky MCP 서버

Clicky 웹 분석을 AI 어시스턴트를 위한 11가지 도구(방문자 수, 인기 페이지, 트래픽 소스, 이탈률, 검색어, 실시간 방문자 등)로 노출하는 MCP(Model Context Protocol) 서버입니다. 전체 목록은 도구 참조를 확인하세요.


빠른 시작

필요한 것:

  • Node.js 20+ 설치됨 (node --version)

  • Clicky 사이트 ID 및 사이트 키 — https://clicky.com/user/preferences/site 의 "Info" 섹션에서 확인 가능

  • 이 저장소를 복제하고 한 번 빌드:

    git clone https://github.com/colintoh/clicky-mcp.git
    cd clicky-mcp && npm install && npm run build

그런 다음 아래에서 MCP 호스트를 선택하세요.

왜 npm start 단계가 없나요? MCP stdio 서버는 독립형 데몬으로 실행되지 않습니다. MCP 호스트(Claude Desktop, Claude Code 등)가 필요할 때 서버를 하위 프로세스로 생성하고 stdin/stdout을 통해 통신합니다. 직접 "시작"할 것은 없습니다.

Claude Desktop

  1. 설정 파일을 엽니다(없으면 생성):

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Linux: ~/.config/Claude/claude_desktop_config.json

  2. 이 내용을 파일의 mcpServers 블록에 병합합니다(세 개의 ALL_CAPS 플레이스홀더를 교체):

    {
      "mcpServers": {
        "clicky-analytics": {
          "command": "ABSOLUTE_PATH_TO_NODE", // e.g. /Users/.../.nvm/versions/node/v25.2.1/bin/node
          "args": ["ABSOLUTE_PATH_TO_CLICKY_MCP_FOLDER/dist/index.js"], // e.g. /Users/.../clicky-mcp/dist/index.js
          "env": {
            "CLICKY_SITE_ID": "YOUR_SITE_ID",
            "CLICKY_SITE_KEY": "YOUR_SITE_KEY"
          }
        }
      }
    }

    터미널에서 which node를 실행하여 ABSOLUTE_PATH_TO_NODE를 얻으세요. 단순히 "node"라고 입력하지 마세요. Claude Desktop은 nvm이나 homebrew를 포함하지 않는 최소한의 PATH로 launchd를 통해 실행되므로, 단순히 "node"라고 하면 조용히 실패합니다. dist/index.js 경로도 마찬가지로 절대 경로여야 합니다.

  3. Claude Desktop을 완전히 종료하고(macOS에서는 ⌘Q — 창을 닫는 것만으로는 부족함), 다시 엽니다.

  4. Claude에게 *"list my Clicky MCP tools"*라고 물어 확인하세요. 11개의 도구가 보여야 합니다.

문제가 발생하면 문제 해결을 참조하세요.

Claude Code

명령어 하나로 가능:

claude mcp add clicky-analytics \
  -e CLICKY_SITE_ID=YOUR_SITE_ID \
  -e CLICKY_SITE_KEY=YOUR_SITE_KEY \
  -- node /absolute/path/to/clicky-mcp/dist/index.js

이 명령어는 기본적으로 ~/.claude.json에 기록합니다. 대신 프로젝트 로컬 .mcp.json에 기록하려면 --scope project를 추가하세요. Claude Code를 다시 시작하거나(또는 /mcp를 실행하여 새로 고침) 11개의 도구를 사용할 수 있게 됩니다.

MCP Inspector (디버깅)

서버를 호스트에 커밋하지 않고 도구를 직접 호출하고 싶을 때 사용하세요. 스키마 검사나 응답 문제 해결에 유용합니다:

npx @modelcontextprotocol/inspector node dist/index.js

그런 다음 출력된 URL을 열고, Inspector UI에서 CLICKY_SITE_ID 및 CLICKY_SITE_KEY를 환경 변수로 설정하거나(또는 dist/index.js 뒤에 CLI 인수로 --site-id … --site-key … 전달), 클릭하여 사용해 보세요.


Related MCP server: Plausible MCP Server

날짜 매개변수

모든 날짜 인식 도구는 명시적 날짜 범위 또는 Clicky 상대 날짜 키워드 중 하나를 허용하며, 둘 다 동시에 사용할 수는 없습니다:

  • 명시적: start_date + end_date, 둘 다 YYYY-MM-DD 형식, 범위는 31일 이하.

  • 키워드: date_range, today, yesterday, last-7-days, last-30-days, this-week, last-week, this-month, last-month, this-year, last-year 중 하나.

예시:

{ "date_range": "last-7-days" }

도구 참조

사용 사례별로 알파벳순으로 정렬된 11가지 도구입니다.

get_total_visitors

특정 기간의 총 방문자 수.

  • start_date / end_date 또는 date_range

get_actions

특정 기간의 총 페이지 뷰/액션 수.

  • start_date / end_date 또는 date_range

  • limit (숫자, 선택 사항, 최대 1000)

get_bounce_rate

특정 기간의 이탈률 및 평균 사이트 체류 시간.

  • start_date / end_date 또는 date_range

get_visitors_online

실시간 방문자 수 및 세분화. 매개변수가 필요 없습니다.

get_top_pages

특정 기간의 가장 인기 있는 페이지.

  • start_date / end_date 또는 date_range

  • limit (숫자, 선택 사항, 최대 1000)

get_page_traffic

특정 페이지 URL에 대한 트래픽 데이터.

  • url (문자열, 필수)

  • start_date / end_date 또는 date_range

get_traffic_sources

트래픽 소스 분석 — 페이지 URL별로 선택적 필터링 가능.

  • start_date / end_date 또는 date_range

  • page_url (문자열, 선택 사항) — 전체 URL 또는 경로

get_referring_domains

트래픽을 보내는 상위 참조 도메인.

  • start_date / end_date 또는 date_range

  • limit (숫자, 선택 사항, 최대 1000)

get_domain_visitors

참조 도메인별로 필터링된 방문자 데이터(선택적 세분화 포함).

  • domain (문자열, 필수)

  • start_date / end_date 또는 date_range

  • segments (배열, 선택 사항) — ["pages", "visitors"]. 기본값은 ["visitors"].

  • limit (숫자, 선택 사항, 최대 1000)

get_searches

방문자를 유입시킨 상위 검색어.

  • start_date / end_date 또는 date_range

  • limit (숫자, 선택 사항, 최대 1000)

get_countries

국가별 방문자 분석.

  • start_date / end_date 또는 date_range

  • limit (숫자, 선택 사항, 최대 1000)


API 제한

이 서버가 아닌 Clicky에 의해 부과됩니다:

  • 최대 명시적 날짜 범위: 31일

  • 요청당 최대 결과: 1,000개 항목

  • 사이트 ID당 IP별 동시 요청 1개


문제 해결

"Claude Desktop이 서버를 찾지 못합니다." ~/Library/Logs/Claude/mcp-server-clicky-analytics.log에서 생성 로그를 확인하세요. 가장 흔한 원인은 node가 Claude Desktop의 launchd PATH에 없는 경우입니다. "command": "node"를 which node에서 얻은 절대 경로로 교체하여 해결하세요. 두 번째로 흔한 원인은 Claude Desktop을 완전히 종료하지 않은 경우입니다(⌘Q를 사용하세요).

"날짜 범위는 31일을 초과할 수 없습니다." 이는 Clicky API 제한입니다. 범위를 좁히거나 last-30-days와 같은 date_range 키워드를 사용하세요.


로컬 개발

서버를 단순히 사용하는 것이 아니라 개발하는 경우입니다.

npm install         # install deps
npm run dev         # run with tsx, watching for changes (used for local testing only)
npm run build       # compile TS to dist/
npm test            # 46 unit tests, offline, no credentials needed
npm run test:integration  # live API smoke test (requires .env or env vars)

로컬 개발 시 자격 증명은 프로젝트 루트의 .env 파일에서 가져올 수 있습니다:

CLICKY_SITE_ID=your_site_id
CLICKY_SITE_KEY=your_site_key

.env는 gitignore 처리됩니다. Claude Desktop과 같은 호스트에는 .env를 사용하지 마세요. 빠른 시작에 표시된 대로 호스트의 설정 env 블록을 통해 자격 증명을 전달하세요. 서버는 자격 증명이 환경에 이미 존재하지 않을 때만 .env를 로드합니다.

.githooks/pre-push의 사전 푸시 git 훅은 원격 main 브랜치를 업데이트하는 모든 푸시 전에 npm test를 자동으로 실행하므로 회귀 오류가 발생하지 않습니다. 이는 npm install 후 prepare npm 스크립트에 의해 자동으로 설치됩니다. 기능 브랜치로의 푸시는 제한되지 않습니다. 긴급한 경우 git push --no-verify로 우회하세요.

프로젝트 구조

clicky-mcp/
├── src/
│   ├── index.ts              # MCP server + tool dispatcher
│   ├── clicky-client.ts      # Clicky HTTP API client
│   ├── date-utils.ts         # Shared date param builder
│   └── tools/                # One file per tool
├── test/                     # node:test unit tests
├── scripts/verify.mjs        # Live API smoke runner
├── .githooks/pre-push        # Auto-installed test gate for main
├── package.json
├── tsconfig.json
└── README.md

AI 에이전트를 통해 이 MCP 설치하기

AI 에이전트(예: 다른 프로젝트의 Claude Code)가 이 MCP를 설치하게 하려면 이 섹션을 참조하세요. 에이전트는 다음을 수행해야 합니다:

  1. 복제 및 빌드:

    git clone https://github.com/colintoh/clicky-mcp.git
    cd clicky-mcp && npm install && npm run build
  2. 사용자에게 Clicky 사이트 ID 및 사이트 키(https://clicky.com/user/preferences/site)를 요청합니다.

  3. which node를 실행하여 절대 경로를 캡처합니다.

  4. 사용자의 Claude Desktop 설정을 찾아(빠른 시작 › Claude Desktop의 경로 참조), 해당 섹션의 mcpServers 스니펫을 병합하고 절대 node 경로, 절대 dist/index.js 경로 및 사용자의 자격 증명을 대체합니다.

  5. 사용자에게 Claude Desktop을 완전히 다시 시작(⌘Q)하고, Claude에게 *"list my Clicky MCP tools"*라고 물어 11개의 도구가 나타나는지 확인하도록 안내합니다.

Claude Code의 경우, 빠른 시작 › Claude Code의 단일 claude mcp add 명령어가 더 빠르며 한 단계로 설정을 작성합니다.


라이선스

MIT

Available Tools

5 tools
get_domain_visitorsC

Get visitors filtered by domain from Clicky analytics with optional segmentation data

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to filter by (e.g., "facebook.com", "google.com")
start_dateYesStart date in YYYY-MM-DD format
end_dateYesEnd date in YYYY-MM-DD format
segmentsNoOptional array of segments to include (pages, visitors). Defaults to visitors only. "visitors" gets the total number of visitors from the domain. "pages" get the list of pages and its visited count from the domain.
limitNoOptional limit for results (max 1000)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states it 'gets' data, implying a read-only operation without confirming safety or permissions. It mentions optional segmentation but doesn't disclose behavioral traits like rate limits, authentication needs, or what happens if parameters are invalid. This leaves significant gaps for a tool with 5 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('Get visitors filtered by domain') and adds a useful detail ('with optional segmentation data'). There is zero waste, and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete for a tool with 5 parameters. It doesn't explain return values, error conditions, or behavioral constraints like rate limits or authentication requirements. For a data retrieval tool in analytics, more context is needed to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds minimal value beyond the schema by mentioning 'optional segmentation data', which loosely relates to the 'segments' parameter but doesn't provide additional meaning or context. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('visitors filtered by domain from Clicky analytics'), specifying the filtering mechanism. It distinguishes from siblings like 'get_total_visitors' by mentioning domain filtering, but doesn't explicitly contrast with 'get_traffic_sources' or 'get_page_traffic' which might also involve visitor data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'get_total_visitors' or 'get_traffic_sources' is provided. The description mentions optional segmentation data but doesn't clarify when segmentation is beneficial or when other tools might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_page_trafficC

Get traffic data for a specific page by filtering with its URL

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull URL or path of the page to get traffic for (e.g., https://example.com/path or /path)
start_dateYesStart date in YYYY-MM-DD format
end_dateYesEnd date in YYYY-MM-DD format

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves traffic data but doesn't mention any behavioral traits such as rate limits, authentication requirements, data freshness, or what the output format looks like (e.g., metrics like pageviews, sessions). This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and every part earns its place, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a traffic data tool with no annotations and no output schema, the description is incomplete. It lacks details on what traffic data is returned (e.g., metrics, format), behavioral aspects like permissions or limits, and differentiation from sibling tools, leaving the agent with insufficient context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal value beyond the input schema, which has 100% coverage with clear descriptions for all three parameters (url, start_date, end_date). It implies URL-based filtering but doesn't provide additional context like URL format constraints or date range implications. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('traffic data for a specific page'), and it specifies the filtering mechanism ('by filtering with its URL'). However, it doesn't explicitly differentiate this tool from its siblings like 'get_top_pages' or 'get_total_visitors', which likely provide different scopes or aggregations of traffic data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings (e.g., 'get_domain_visitors', 'get_top_pages', 'get_total_visitors', 'get_traffic_sources'). It mentions filtering by URL but doesn't explain alternative scenarios or exclusions, leaving the agent to infer usage from tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_top_pagesC

Get top pages for a date range from Clicky analytics

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateYesStart date in YYYY-MM-DD format
end_dateYesEnd date in YYYY-MM-DD format
limitNoMaximum number of pages to return (default: API default, max: 1000)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions retrieving 'top pages' but doesn't specify what 'top' means (e.g., by views, visits, or other metrics), how results are ordered, if there's pagination, rate limits, authentication needs, or error handling. This leaves significant gaps in understanding the tool's behavior beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words or fluff. It's front-loaded with the core action and resource, making it easy to parse quickly, which is ideal for conciseness in tool definitions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, and the description's minimal detail, it's incomplete for a tool that likely returns complex analytics data. It doesn't explain what 'top pages' entails, the structure of the output, or behavioral aspects like data freshness or limitations, leaving the agent with insufficient context to use the tool effectively beyond basic parameter input.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear documentation for each parameter (start_date, end_date, limit) including formats, constraints, and defaults. The description adds no additional semantic details beyond implying date-range usage, so it meets the baseline of 3 where the schema handles most of the parameter explanation without extra value from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and resource ('top pages') with the source ('from Clicky analytics') and scope ('for a date range'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_page_traffic' or 'get_total_visitors', which might also involve date ranges or page-related data, leaving some ambiguity about uniqueness.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_page_traffic' or 'get_traffic_sources', nor does it mention any prerequisites, exclusions, or specific contexts. It only states what the tool does, without indicating appropriate scenarios or comparisons with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_total_visitorsC

Get total visitors for a date range from Clicky analytics

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateYesStart date in YYYY-MM-DD format
end_dateYesEnd date in YYYY-MM-DD format

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't describe how it behaves: no information about authentication requirements, rate limits, error handling, or what the return value looks like (e.g., is it a single number, a structured object?). For a data retrieval tool with zero annotation coverage, this leaves significant gaps in understanding operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core purpose without unnecessary words. It's appropriately sized for a simple retrieval tool and front-loads the essential information ('Get total visitors'). Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete for effective tool use. While the purpose is clear, it doesn't address key contextual elements: what format the result returns, whether authentication is needed, any rate limits, or how it differs from sibling tools. For a data retrieval tool in an analytics context, more operational context would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents both parameters (start_date and end_date) with format patterns. The description adds no additional parameter semantics beyond implying date-range filtering. This meets the baseline expectation when schema does the heavy lifting, but doesn't provide extra context like date range constraints or timezone handling.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('total visitors'), and specifies the data source ('from Clicky analytics'). It distinguishes itself from siblings by focusing on total visitor counts rather than domain-specific, page-level, or source-level metrics. However, it doesn't explicitly contrast with sibling tools like 'get_domain_visitors' which might also provide visitor counts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_domain_visitors' or 'get_traffic_sources'. It doesn't mention prerequisites, limitations, or specific use cases. The agent must infer usage from the tool name alone, which is insufficient for optimal tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_traffic_sourcesB

Get traffic sources breakdown from Clicky analytics. Optionally filter by specific page URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateYesStart date in YYYY-MM-DD format
end_dateYesEnd date in YYYY-MM-DD format
page_urlNoOptional: Full URL or path of the page to get traffic sources for (e.g., https://example.com/path or /path)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions an optional filter but does not describe the return format, pagination, rate limits, authentication needs, or whether this is a read-only operation. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the main purpose and includes the optional filter. There is no wasted language, and it is appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete for a tool with three parameters. It covers the basic purpose and optional filtering but lacks details on return values, error handling, or behavioral traits. This is adequate as a minimum but has clear gaps in providing a full context for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (start_date, end_date, page_url) with descriptions and formats. The description adds marginal value by mentioning the optional filter by page URL, but does not provide additional semantics beyond what the schema specifies, such as examples or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('traffic sources breakdown from Clicky analytics'), making the purpose evident. It distinguishes from siblings by focusing on traffic sources rather than visitors, page traffic, or top pages. However, it doesn't explicitly contrast with sibling tools like 'get_domain_visitors' or 'get_page_traffic' beyond the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through the optional filter by page URL, suggesting it can be used for overall traffic sources or per-page analysis. However, it lacks explicit guidance on when to use this tool versus alternatives like 'get_page_traffic' or 'get_domain_visitors', and does not mention prerequisites or exclusions.

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.

  1. 5 tool updates
    • First observedget_domain_visitors
    • First observedget_page_traffic
    • First observedget_top_pages
    • First observedget_total_visitors
    • First observedget_traffic_sources

TDQS

A3.5/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting different analytics dimensions: domain visitors, page traffic, top pages, total visitors, and traffic sources. There is no overlap in functionality, making it easy for an agent to select the correct tool without confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with 'get_' prefix and descriptive nouns (e.g., get_domain_visitors, get_page_traffic). This uniformity enhances readability and predictability across the toolset.

Tool Count5/5

With 5 tools, the server is well-scoped for analytics retrieval, covering key metrics like visitors, pages, and traffic sources. Each tool earns its place without being overly sparse or bloated, fitting typical use cases effectively.

Completeness4/5

The toolset provides comprehensive read-only coverage for analytics data, including filtering and segmentation options. A minor gap exists in lacking write or configuration tools (e.g., setting up analytics), but this is reasonable for a data retrieval-focused server, and agents can work around this limitation.

Maintenance

ActivityInactive
ResponsivenessSlow

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enhances Claude's capabilities by providing access to website analytics data from Umami, enabling analysis of user behavior, website performance tracking, and data-driven insights generation.
    9
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    Allows AI models to query and retrieve analytics data from Plausible Analytics through the Plausible API, enabling natural language interactions with website statistics.
    1
    8
    -
  • A
    license
    A
    quality
    F
    maintenance
    Enables AI assistants to interact with Umami Analytics for both Cloud and self-hosted instances. It provides tools to retrieve website statistics, visitor metrics, pageview trends, and real-time active user counts.
    5
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables querying Plausible Analytics data for website statistics, traffic, engagement, and conversions through natural language, with support for filters, dimensions, and time-series.
    6
    -

Appeared in Searches