Logly MCP server
OfficialLogly MCP server
Query your Logly web analytics from Claude, Cursor, or any Model Context Protocol client.
Logly is privacy-first web analytics — under 1 KB, cookie-free, GDPR compliant by design. This server exposes your analytics over MCP so an AI assistant can answer questions like "how did traffic change this week?" or "where is my signup funnel losing people?" — and even hand you the install snippet for a new site.
Requirements
Node.js 18 or newer
A Logly account and an API key — create one in Settings → API keys in your Logly dashboard. The key looks like
logly_a1b2c3...and is shown only once.
Related MCP server: rybbit-mcp
Setup
The server runs via npx — no install step needed.
Claude Desktop
Edit claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"logly": {
"command": "npx",
"args": ["-y", "@logly-uk/mcp"],
"env": { "LOGLY_API_KEY": "logly_your_key_here" }
}
}
}Restart Claude Desktop.
Claude Code
claude mcp add logly -e LOGLY_API_KEY=logly_your_key_here -- npx -y @logly-uk/mcpCursor
Add to .cursor/mcp.json in your project (or the global one):
{
"mcpServers": {
"logly": {
"command": "npx",
"args": ["-y", "@logly-uk/mcp"],
"env": { "LOGLY_API_KEY": "logly_your_key_here" }
}
}
}Tools
Tool | What it does |
| List every site in your account with its site ID — start here. |
| Pageviews, sessions, visitors, bounce rate, avg duration, daily series, previous-period comparison. |
| Top pages, referrers, countries and device/browser split. |
| Visitors active right now. |
| Custom event counts. |
| List a site's conversion funnels and their steps. |
| Completion counts and drop-off per funnel step. |
| The |
Date filters
Stats tools accept a days window (7, 30 or 90 — defaults to 30) or an explicit
from / to pair (YYYY-MM-DD). If both are given, from/to wins.
Environment variables
Variable | Required | Purpose |
| yes | Your Logly API key. |
| no | Override the API base URL (default |
Links
Logly — https://logly.uk
MCP server page — https://logly.uk/mcp/
Public API reference — https://logly.uk/docs
MIT licensed.
Available Tools
8 toolslogly_breakdownC
Top pages, top referrers, top countries and device/browser split for a site over the given period.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Logly site ID (slug). Call logly_list_sites to discover it. | |
| days | No | Days to look back: 7, 30 or 90. Defaults to 30. Ignored when 'from'/'to' are set. | |
| from | No | Range start, YYYY-MM-DD. Use together with 'to'. | |
| to | No | Range end, YYYY-MM-DD. Use together with 'from'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully convey behavioral traits. It states it returns aggregates over a period, but omits critical details like read-only nature, rate limits, data freshness, pagination, or error handling. The basic function is clear but insufficiently transparent.
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 concise sentence that front-loads the main outputs. It is efficient and easily parsable, though a structured format (e.g., bullet points) could improve readability.
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?
Without an output schema, the description fails to explain the return format, such as whether results are arrays, include counts, or support pagination. Given the 4 parameters and no output details, the description is incomplete for effective usage.
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 each parameter well-documented in the schema (e.g., days defaults, from/to usage). The description adds no new parameter meaning beyond 'over the given period,' so baseline 3 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 clearly states the tool returns top pages, referrers, countries, and device/browser splits for a site over a period, specifying the resource and aggregation verb. However, it does not explicitly differentiate from sibling tools like logly_stats or logly_events, which could offer similar breakdowns.
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 such as logly_stats or logly_realtime. It lacks context about prerequisites, scenarios, or exclusions, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logly_eventsB
Custom event counts for a site (events sent via logly('event', ...)) over the given period.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Logly site ID (slug). Call logly_list_sites to discover it. | |
| days | No | Days to look back: 7, 30 or 90. Defaults to 30. Ignored when 'from'/'to' are set. | |
| from | No | Range start, YYYY-MM-DD. Use together with 'to'. | |
| to | No | Range end, YYYY-MM-DD. Use together with 'from'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It does not disclose whether the tool is read-only, requires permissions, or any side effects. The description is minimal and adds no behavioral context beyond the basic operation.
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 sentence, concise and to the point, with no wasted words. It front-loads the core purpose.
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?
The tool is simple, but the description omits what the return value looks like (no output schema). It is adequate for a basic query but could mention the output format or limits.
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 coverage is 100%, with each parameter having a description. The description adds context about event source ('events sent via logly('event', ...)') but does not significantly enhance understanding beyond the schema.
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 specifies the tool's function: retrieving custom event counts for a site over a given period. It distinguishes from siblings like logly_breakdown (breakdowns) and logly_funnel_results (funnels) by focusing on aggregate event 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?
No explicit guidance on when to use this tool versus alternatives (e.g., logly_breakdown for breakdowns). The description does not provide context for when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logly_funnel_resultsC
Completion counts and drop-off per step for one conversion funnel.
| Name | Required | Description | Default |
|---|---|---|---|
| funnel_id | Yes | Funnel ID, from logly_funnels. | |
| days | No | Days to look back: 7, 30 or 90. Defaults to 30. Ignored when 'from'/'to' are set. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not mention that the tool is read-only, whether results are aggregated, or any rate limits. Lacks transparency beyond the basic output type.
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?
A single, front-loaded sentence effectively conveys the tool's purpose without wasted words. Slightly more structure could improve readability, but it is concise.
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?
No output schema is provided, and the description does not explain the format of the return (e.g., step-by-step breakdown). For a tool with a specific output type, more detail on what the results contain is needed for completeness.
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 coverage is 100%, so the schema already describes both parameters. The description adds that funnel_id comes from logly_funnels and that days defaults to 30 and is ignored when from/to are set, but from/to are not in the schema, potentially causing confusion. Baseline of 3 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 clearly states that the tool returns 'completion counts and drop-off per step for one conversion funnel.' This is specific about what the tool outputs and identifies it as focusing on a single funnel, distinguishing it from siblings that likely list funnels or handle events.
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 is provided on when to use this tool versus alternatives like logly_breakdown or logly_stats. The description implies it is for a single funnel but does not specify conditions or exclusions. Minimal context for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logly_funnelsA
List the conversion funnels defined for a site, with their IDs and step sequences.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Logly site ID (slug). Call logly_list_sites to discover it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since annotations are absent, the description must fully disclose behavior. It indicates the tool lists funnels and returns IDs and steps, which is appropriate for a read operation. However, it does not mention any side effects, permissions, or rate limits, leaving some uncertainty.
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 sentence of 14 words, conveying all necessary information without redundancy. It is front-loaded and efficient.
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 tool's simplicity (one parameter, no output schema), the description sufficiently covers what the tool does and what it returns. No additional context is needed.
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 input schema already describes the 'site' parameter with 100% coverage. The description adds value by suggesting calling logly_list_sites to discover the site ID, which aids the agent beyond the schema.
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 explicitly states the verb 'List', the resource 'conversion funnels for a site', and the output 'with their IDs and step sequences'. This clearly differentiates from sibling tools like logly_funnel_results or logly_events.
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 is provided on when to use this tool versus siblings, nor any conditions or prerequisites beyond the required site parameter. The description does not mention exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logly_install_snippetA
Return the Logly tracking snippet for a site — the single tag to add to the site's . Works offline, no API call.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Logly site ID (slug). Call logly_list_sites to discover it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description transparently discloses that the tool works offline and makes no API call. It does not detail error handling or authentication, but for a simple snippet retrieval, this is sufficient.
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, front-loaded sentence that efficiently conveys the tool's purpose and key behavior. Slightly more structure could improve readability, but it is already concise.
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 low complexity (one parameter, no output schema), the description is complete: it states what is returned, how to find the site ID, and that it works offline.
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 schema already covers 'site' with a description, but the description adds value by noting it's a slug and suggesting logly_list_sites to discover it, aiding the agent in parameter selection.
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 it returns the Logly tracking snippet as a single <script> tag, which distinguishes it from sibling tools like logly_stats or logly_events that deal with analytics 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?
It specifies 'works offline, no API call', informing the agent that this is a lightweight operation. However, it does not explicitly mention when to use it versus alternatives, but the sibling list provides implicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logly_list_sitesA
List every website in the authenticated Logly account with its site ID. Start here to find the site ID the other tools need.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes a read-only listing operation with no destructive side effects. Lacks details on authentication or potential rate limits, but acceptable for a straightforward list tool.
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?
Two concise sentences, front-loaded with the primary function and a usage hint, no wasted words.
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?
Completely adequate for a zero-parameter list tool with no output schema; it explains what it does and why it's useful.
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?
No parameters exist, so baseline is 4. Description does not add parameter info but schema coverage is 100% and no params need explanation.
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?
Clearly states it lists every website with its site ID, distinguishing it from sibling tools that handle breakdowns, events, etc.
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?
Explicitly says to start here to find site IDs needed by other tools, providing clear usage context. Does not mention when not to use, but for a simple listing tool this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logly_realtimeB
Visitors currently active on a site (real-time, the last few minutes).
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Logly site ID (slug). Call logly_list_sites to discover it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavior. It only states the time scope (real-time, last few minutes) but does not disclose what exactly is returned (count, list, objects), data freshness guarantees, or any limitations. For a tool with no annotations, this is insufficient.
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 one concise sentence that is front-loaded and every word adds value. No extraneous information.
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 tool's simplicity (one parameter, no output schema), the description is mostly adequate but leaves ambiguity about the return format (count vs. list). It could be more complete by specifying the output type or data structure.
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%, and the parameter description already explains the site ID slug and directs the agent to call logly_list_sites. The tool description adds no additional meaning beyond what the schema provides, so it meets the baseline of 3.
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 retrieves visitors currently active on a site in real-time over the last few minutes. It specifies the verb (visitors active), resource (site), and temporal scope, distinguishing it from siblings like logly_stats which likely provide historical 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 lacks any guidance on when to use this tool versus alternatives (e.g., logly_events, logly_stats). No differentiation criteria or context of use is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logly_statsB
Traffic totals for a site — pageviews, sessions, visitors, bounce rate, average duration — plus a daily series and a comparison against the previous period.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Logly site ID (slug). Call logly_list_sites to discover it. | |
| days | No | Days to look back: 7, 30 or 90. Defaults to 30. Ignored when 'from'/'to' are set. | |
| from | No | Range start, YYYY-MM-DD. Use together with 'to'. | |
| to | No | Range end, YYYY-MM-DD. Use together with 'from'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It correctly implies a read operation (traffic totals) but does not disclose potential side effects, data freshness, rate limits, or authentication requirements. It is not misleading but lacks transparency about operational traits.
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 sentence that efficiently lists the key output components. It is front-loaded with the main purpose and avoids unnecessary words.
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?
Without an output schema, the description adequately explains the return values (specific metrics, daily series, comparison). However, it lacks details on pagination, timezone handling, or data range boundaries, which would enhance completeness.
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 coverage is 100%, so each parameter is already described in the schema. The description does not add any extra meaning or usage hints for the parameters; it focuses solely on output. Baseline score of 3 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 clearly states it returns 'traffic totals' and lists specific metrics (pageviews, sessions, etc.) and additional features (daily series, comparison). The action is implied (retrieve), and it is distinct from sibling tools like logly_breakdown or logly_events, though not explicitly contrasted.
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 does not provide any usage guidance, such as when to use this tool vs. alternatives (e.g., logly_breakdown for detailed breakdowns). No context about prerequisites or typical scenarios is given.
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. Dates show when Glama detected each change.
8 tool updates
v1.0.1- First observed
logly_breakdown - First observed
logly_events - First observed
logly_funnel_results - First observed
logly_funnels - First observed
logly_install_snippet - First observed
logly_list_sites - First observed
logly_realtime - First observed
logly_stats
TDQS
Every tool has a distinct purpose: breakdown for top metrics, events for custom events, funnel_results for funnels, funnels for listing, install_snippet for tracking code, list_sites for sites, realtime for active visitors, stats for totals. No overlap.
All tools follow the consistent pattern 'logly_<descriptive_snake_case>', e.g., logly_breakdown, logly_list_sites. Perfectly uniform.
8 tools is ideal for an analytics service: covers site management, stats, breakdowns, events, funnels, realtime, and installation. Not too few nor too many.
Covers the core analytics operations well (stats, breakdown, events, funnels, realtime). Missing minor features like individual page detail or data export, but the essential workflows are present.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Query your Betterlytics web analytics from AI agents: traffic, funnels, journeys, errors, uptime.
Read-only analytics for Convex apps, queryable via MCP from Claude, Cursor, and other clients.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Analytics your AI agent can actually use. Track, experiment, and optimize via MCP.
Related MCP Servers
- AlicenseAqualityBmaintenanceConnects Google Analytics 4 data to Claude, Cursor and other MCP clients, enabling natural language queries of website traffic, user behavior, and analytics data with access to 200+ GA4 dimensions and metrics.10240MIT
- AlicenseAqualityAmaintenanceEnables querying Rybbit Analytics data directly through MCP-compatible clients like Claude Code. It provides tools for monitoring website statistics, user sessions, error logs, funnels, and performance metrics via natural language.40134MIT
- AlicenseNot gradedqualityCmaintenanceQuery your Surfa Analytics data using natural language through Claude Desktop, ChatGPT, or any MCP-compatible client. Turn your analytics into insights with AI.3MIT
- AlicenseAqualityBmaintenanceConnects MCP clients like Claude Desktop to Google Analytics 4 Data API, enabling natural language queries for reports, top pages, traffic sources, conversions, realtime users, and period comparisons.7MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/logly-uk/logly-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server