Clicky MCP Server
Clicky MCP Server
Сервер Model Context Protocol (MCP), который предоставляет Clicky веб-аналитику в виде 11 инструментов для ИИ-ассистентов — количество посетителей, популярные страницы, источники трафика, показатель отказов, поисковые запросы, посетители в реальном времени и многое другое. См. Справочник инструментов для получения полного списка.
Быстрый старт
Вам потребуется:
Установленный Node.js 20+ (
node --version)Clicky Site ID и Site Key — их можно найти на странице 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
Откройте файл конфигурации (создайте его, если он отсутствует):
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Добавьте это в блок
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" } } } }Получите
ABSOLUTE_PATH_TO_NODE, выполнивwhich nodeв терминале. Не просто пишите"node"— Claude Desktop запускается черезlaunchdс минимальным PATH, который не включает nvm или homebrew, поэтому простое"node"не сработает без уведомлений. То же самое касается пути кdist/index.js: он должен быть абсолютным.Полностью завершите работу Claude Desktop (
⌘Qна macOS — закрытия окна недостаточно), затем откройте его снова.Проверьте, спросив у 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. Добавьте --scope project, чтобы записать файл .mcp.json локально для проекта. Перезапустите Claude Code (или выполните /mcp для обновления), и 11 инструментов станут доступны.
MCP Inspector (отладка)
Используйте это, если хотите вызывать инструменты напрямую, не подключая сервер к хосту — удобно для проверки схем или отладки ответов:
npx @modelcontextprotocol/inspector node dist/index.jsЗатем откройте полученный URL, установите CLICKY_SITE_ID и CLICKY_SITE_KEY в качестве переменных окружения в интерфейсе Inspector (или передайте --site-id … --site-key … в качестве аргументов CLI после dist/index.js) и начните работу.
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_rangelimit(число, необязательно, макс. 1000)
get_bounce_rate
Показатель отказов и среднее время на сайте за период.
start_date/end_dateилиdate_range
get_visitors_online
Количество посетителей в реальном времени и сегментация. Не принимает параметров.
get_top_pages
Самые популярные страницы за период.
start_date/end_dateилиdate_rangelimit(число, необязательно, макс. 1000)
get_page_traffic
Данные о трафике для конкретного URL страницы.
url(строка, обязательно)start_date/end_dateилиdate_range
get_traffic_sources
Разбивка источников трафика — с возможностью фильтрации по URL страницы.
start_date/end_dateилиdate_rangepage_url(строка, необязательно) — полный URL или путь
get_referring_domains
Топ доменов-рефереров, направляющих трафик.
start_date/end_dateилиdate_rangelimit(число, необязательно, макс. 1000)
get_domain_visitors
Данные о посетителях, отфильтрованные по домену-рефереру, с дополнительной сегментацией.
domain(строка, обязательно)start_date/end_dateилиdate_rangesegments(массив, необязательно) —["pages", "visitors"]. По умолчанию["visitors"].limit(число, необязательно, макс. 1000)
get_searches
Топ поисковых запросов, по которым пришли посетители.
start_date/end_dateилиdate_rangelimit(число, необязательно, макс. 1000)
get_countries
Разбивка посетителей по странам.
start_date/end_dateилиdate_rangelimit(число, необязательно, макс. 1000)
Ограничения API
Установлены Clicky, а не этим сервером:
Максимальный явный диапазон дат: 31 день
Максимальное количество результатов на запрос: 1000 элементов
Один одновременный запрос с одного IP для одного ID сайта
Устранение неполадок
"Claude Desktop не видит сервер." Проверьте лог запуска по адресу ~/Library/Logs/Claude/mcp-server-clicky-analytics.log. Самая частая причина — node отсутствует в PATH launchd для Claude Desktop — исправьте это, заменив "command": "node" на абсолютный путь из which node. Вторая по частоте причина — забыли полностью завершить работу Claude Desktop (⌘Q, а не просто закрыть окно).
"Date range cannot exceed 31 days." Это ограничение API Clicky, а не наше. Либо сузьте диапазон, либо используйте ключевое слово date_range, например last-30-days.
Локальная разработка
Для работы над сервером, а не просто его использования.
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 игнорируется git. Не используйте .env для хостов вроде Claude Desktop — передавайте учетные данные через блок env в конфигурации хоста, как показано в разделе Быстрый старт. Сервер загружает .env только в том случае, если учетные данные еще не заданы в переменных окружения.
Git-хук pre-push в .githooks/pre-push автоматически запускает npm test перед любой отправкой (push), которая обновляет удаленную ветку main, поэтому регрессия не останется незамеченной. Он устанавливается автоматически скриптом prepare npm после npm install. Отправки в ветки функций не ограничены. В экстренном случае можно обойти проверку с помощью 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Установка этого MCP через ИИ-агента
Если вы хотите, чтобы ИИ-агент (например, Claude Code в другом проекте) установил этот MCP за вас, укажите ему на этот раздел. Агент должен:
Клонировать и собрать:
git clone https://github.com/colintoh/clicky-mcp.git cd clicky-mcp && npm install && npm run buildЗапросить у пользователя Clicky Site ID и Site Key (https://clicky.com/user/preferences/site).
Выполнить
which nodeи получить абсолютный путь.Найти конфигурацию Claude Desktop пользователя (пути в разделе Быстрый старт › Claude Desktop) и объединить фрагмент
mcpServersиз этого раздела, подставив абсолютный путь кnode, абсолютный путь кdist/index.jsи учетные данные пользователя.Попросить пользователя полностью перезапустить Claude Desktop (
⌘Q), затем проверить, спросив у Claude: "list my Clicky MCP tools" — должны появиться 11 инструментов.
Для Claude Code одна команда claude mcp add в разделе Быстрый старт › Claude Code быстрее и записывает конфигурацию за один шаг.
Лицензия
MIT
Available Tools
5 toolsget_domain_visitorsC
Get visitors filtered by domain from Clicky analytics with optional segmentation data
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name to filter by (e.g., "facebook.com", "google.com") | |
| start_date | Yes | Start date in YYYY-MM-DD format | |
| end_date | Yes | End date in YYYY-MM-DD format | |
| segments | No | Optional 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. | |
| limit | No | Optional limit for results (max 1000) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL or path of the page to get traffic for (e.g., https://example.com/path or /path) | |
| start_date | Yes | Start date in YYYY-MM-DD format | |
| end_date | Yes | End date in YYYY-MM-DD format |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| start_date | Yes | Start date in YYYY-MM-DD format | |
| end_date | Yes | End date in YYYY-MM-DD format | |
| limit | No | Maximum number of pages to return (default: API default, max: 1000) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| start_date | Yes | Start date in YYYY-MM-DD format | |
| end_date | Yes | End date in YYYY-MM-DD format |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| start_date | Yes | Start date in YYYY-MM-DD format | |
| end_date | Yes | End date in YYYY-MM-DD format | |
| page_url | No | Optional: Full URL or path of the page to get traffic sources for (e.g., https://example.com/path or /path) |
TDQS
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.
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.
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.
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.
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.
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.
5 tool updates
- First observed
get_domain_visitors - First observed
get_page_traffic - First observed
get_top_pages - First observed
get_total_visitors - First observed
get_traffic_sources
TDQS
Scored across 5 tools
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.
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.
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.
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
Related MCP Connectors
Real-time web analytics for AI agents: query traffic, funnels, revenue, and manage your sites.
AI access to Hitsteps analytics, live visitors, uptime, goals, alerts, and chats.
Privacy-first web analytics. Query pageviews, referrers, trends, and AI insights.
Query your Betterlytics web analytics from AI agents: traffic, funnels, journeys, errors, uptime.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnhances 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.9MIT
- FlicenseBqualityDmaintenanceAllows AI models to query and retrieve analytics data from Plausible Analytics through the Plausible API, enabling natural language interactions with website statistics.18-
- AlicenseAqualityFmaintenanceEnables 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.51MIT
- FlicenseNot gradedqualityDmaintenanceEnables querying Plausible Analytics data for website statistics, traffic, engagement, and conversions through natural language, with support for filters, dimensions, and time-series.6-