mcpbeat Sign in

Bitmovin Observability MCP Server

by bitmovin-mcp-analytics Your server? Claim it
answering

Bitmovin Observability MCP is answering right now. Last checked 3 min ago. It exposes 11 tools.

Query and analyse your data from Bitmovin Observability

Uptime history 42 days of history
42 days agonow
100.0%
Uptime 24h
92 of 92 checks
11
Tools
read from the server
407 ms
Response time
average over 24h
open, no key
Access
sse

What changed 16

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 9 September 2026. No other catalogue keeps this.

17 Sep a tool changed the parameters it asks for queryTotal
10 Sep 4 tool descriptions were rewritten fetchImpressions, query, queryGroupBy and 1 more
9 Sep 11 tools changed the parameters they ask for analyzeImpression, fetchImpressions, getAvailableFilters and 8 more

Nothing serious here today

Today is the operative word: we check Bitmovin Observability MCP every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 3 min ago.

run in your terminal
claude mcp add analytics-mcp --transport http https://analytics.mcp.bitmovin.com
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "analytics-mcp": {
      "url": "https://analytics.mcp.bitmovin.com"
    }
  }
}
~/.codex/config.toml
[mcp_servers.analytics-mcp]
url = "https://analytics.mcp.bitmovin.com"
.cursor/mcp.json
{
  "mcpServers": {
    "analytics-mcp": {
      "url": "https://analytics.mcp.bitmovin.com"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "analytics-mcp": {
      "url": "https://analytics.mcp.bitmovin.com"
    }
  }
}

Available tools 11

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

analyzeimpression
analyzeImpression
Deep-dive analysis of a SINGLE playback session identified by a specific impressionId: static properties, aggregated metrics, state-transition timeline, and an AI-powered interpretation of session quality. Use for detailed single-session troubleshooting. REQUIRES an impressionId. Do NOT use this for license-wide metrics, totals, trends, or any time-range ('last week', start/end) analysis — this tool does not accept start/end. For metrics over a time period use the 'query' tool; for breakdowns by category use 'queryGroupBy'.
fetchimpressions
fetchImpressions
List the impression ids (individual playback session ids) for a license over a time range, optionally narrowed by filters. Returns the ids themselves — NOT counts, totals, or trends. Use this to enumerate sessions before drilling into specific ones with `getImpressionOverview` or `analyzeImpression`. Typical uses: 'give me impression ids from yesterday', 'list sessions on Safari that errored last week', 'sample sessions from country US'. Every matching session is eligible (including failed/setup sessions), not only successful plays. Results are capped (default 100, max 200); if truncated, narrow the timeframe/filters or raise `limit`. A licenseKey is required, and `peekAllLicenses` lists the available ones; `searchFilters` resolves the filter attributes and operators used by the optional `filters` input. For metric counts/trends over a period use `query` / `queryTotal`; for category breakdowns use `queryGroupBy`.
getavailablefilters
getAvailableFilters
List the full catalog of filter attributes with their supported operators. Prefer searchFilters to resolve a single attribute; use this only when you need every filter.
getavailablemetrics
getAvailableMetrics
List the full catalog of metrics with their supported aggregation methods. Prefer searchMetrics to resolve a single keyword; use this only when you need every metric.
getimpressionoverview
getImpressionOverview
Inspect a SINGLE playback session identified by a specific impressionId. Returns that one session's static properties (device, location, player) and its aggregated metrics (total played time, buffering, video quality). REQUIRES an impressionId. Do NOT use this for license-wide metrics, totals, trends, or any time-range ('last week', start/end) analysis — this tool does not accept start/end. For metrics over a time period use the 'query' tool; for breakdowns by category use 'queryGroupBy'.
peekalllicenses
peekAllLicenses
View a summary of all available licenses with their recent play counts and percentage distribution. Use this to understand what licenses exist and their relative usage. When a user asks about licenses by ranking (e.g., 'biggest', 'most active', 'first'), use this to identify which license matches that criteria before querying.
query
query
Query a metric over a time range (start/end) for a license as a TIME SERIES — always renders a chart. Use this for trends and license-wide analytics over a period (e.g. 'last week', 'last 30 days', 'yesterday'). Bucket size is chosen automatically from start/end; there is no interval field to set. For a single aggregated number (one total/average over the whole period, NO chart), use the separate `queryTotal` tool instead. Queries resolve against API metric keywords, which can differ from a metric's common name — 'plays', for example, is 'impression_id'. The 'searchMetrics' tool resolves a keyword cheaply; 'getAvailableMetrics' returns the full catalog. Every query needs a licenseKey; `peekAllLicenses` lists the ones available. AD ANALYTICS: ad metrics use 'ad_'-prefixed keywords and are queried against a separate ads dataset. The ad completion funnel is: 'ad_quartile_1' (first quartile / 25%) -> 'ad_midpoint' (50%) -> 'ad_quartile_3' (third quartile / 75%) -> 'ad_completions'. Other ad metrics: 'ad_impressions', 'ad_starts', 'ad_clicks', 'ad_skips', 'ad_startup_time', 'ad_error_percentage', 'ad_error_sessions', 'ad_time_played', 'ad_play_percentage', 'ad_unique_users'. Ad data is present on some licenses and not others; `peekAllLicenses` output shows which. A query covers a single license, so an ad question resolves against one license at a time. With an ad metric, filters and groupBy take the AD-specific attributes from 'searchFilters' / 'getAvailableFilters' (e.g. 'AD_SYSTEM', 'AD_POSITION', 'ADVERTISER_NAME'); playback attributes and ad attributes are not interchangeable. OPTIONAL 3) Use the 'searchFilters' tool to find filter attributes/operators (or 'getAvailableFilters' for the full list).
querygroupby
queryGroupBy
query metric grouped by categories. Queries resolve against API metric keywords, which can differ from a metric's common name — 'plays', for example, is 'impression_id'. The 'searchMetrics' tool resolves a keyword cheaply; 'getAvailableMetrics' returns the full catalog. Every query needs a licenseKey; `peekAllLicenses` lists the ones available. AD ANALYTICS: ad metrics use 'ad_'-prefixed keywords and are queried against a separate ads dataset. The ad completion funnel is: 'ad_quartile_1' (first quartile / 25%) -> 'ad_midpoint' (50%) -> 'ad_quartile_3' (third quartile / 75%) -> 'ad_completions'. Other ad metrics: 'ad_impressions', 'ad_starts', 'ad_clicks', 'ad_skips', 'ad_startup_time', 'ad_error_percentage', 'ad_error_sessions', 'ad_time_played', 'ad_play_percentage', 'ad_unique_users'. Ad data is present on some licenses and not others; `peekAllLicenses` output shows which. A query covers a single license, so an ad question resolves against one license at a time. With an ad metric, filters and groupBy take the AD-specific attributes from 'searchFilters' / 'getAvailableFilters' (e.g. 'AD_SYSTEM', 'AD_POSITION', 'ADVERTISER_NAME'); playback attributes and ad attributes are not interchangeable. The groupBy attribute is an exact API attribute name, and common guesses are often wrong: 'OPERATING_SYSTEM' is invalid where 'OPERATINGSYSTEM' is correct, and an unrecognised attribute fails with a validation error. The 'searchFilters' tool resolves an attribute name; 'getAvailableFilters' returns the full catalog. Results grouped by ERROR_CODE carry occurrence counts but not error semantics, which are Bitmovin-specific and documented in the live Bitmovin documentation served by the docs MCP tool (typically `general_docs_ask_bitmovin_docs`). That tool resolves one numeric error code per call and returns nothing usable for a question naming several codes at once.
querytotal
queryTotal
Get an aggregated value (one number) for a metric over a time range — no chart, no time bucketing. Can fetch SEVERAL metrics in one call: pass an array to `metric` to get one value per metric (e.g. the ad completion funnel), instead of calling this tool repeatedly. Use ONLY when the user asks for totals/averages/median/p95 over a whole period (e.g. 'total plays last month', 'average startup time yesterday', 'p95 rebuffer last week', 'the ad funnel counts last week'). For trends or any 'how did X change over time' / 'show last week' question, use the `query` tool instead — it always renders a chart. Queries resolve against API metric keywords, which can differ from a metric's common name — 'plays', for example, is 'impression_id'. The 'searchMetrics' tool resolves a keyword cheaply; 'getAvailableMetrics' returns the full catalog. Every query needs a licenseKey; `peekAllLicenses` lists the ones available. AD ANALYTICS: ad metrics use 'ad_'-prefixed keywords and are queried against a separate ads dataset. The ad completion funnel is: 'ad_quartile_1' (first quartile / 25%) -> 'ad_midpoint' (50%) -> 'ad_quartile_3' (third quartile / 75%) -> 'ad_completions'. Other ad metrics: 'ad_impressions', 'ad_starts', 'ad_clicks', 'ad_skips', 'ad_startup_time', 'ad_error_percentage', 'ad_error_sessions', 'ad_time_played', 'ad_play_percentage', 'ad_unique_users'. Ad data is present on some licenses and not others; `peekAllLicenses` output shows which. A query covers a single license, so an ad question resolves against one license at a time. With an ad metric, filters and groupBy take the AD-specific attributes from 'searchFilters' / 'getAvailableFilters' (e.g. 'AD_SYSTEM', 'AD_POSITION', 'ADVERTISER_NAME'); playback attributes and ad attributes are not interchangeable.
searchfilters
searchFilters
Find the exact filter/group-by attribute keyword for a topic or question (e.g. 'browser', 'device type', 'content tier'). Preferred way to resolve an attribute; use 'licenseKey' to resolve custom namings of attributes; use getAvailableFilters only to list the full static catalog.
searchmetrics
searchMetrics
Find the exact metric keyword for a topic or question (e.g. 'buffering', 'how many errors'). Preferred way to resolve a metric keyword; use getAvailableMetrics only to list the full catalog.

Endpoints

URLTransportStateLatencyChecked
https://analytics.mcp.bitmovin.com sse answering 251 ms 3 min ago

Alternatives to Bitmovin Observability MCP

same job, measured the same way
Parse.ly MCP
by parsely-dash

Query your Parse.ly content analytics: top content, referrers, campaigns, trends and real-time data.

answering
Lemonado
by lemonadolabs

MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets

answering
Logly
by logly-uk

Query your Logly web analytics — traffic, funnels and real-time visitors — from any MCP client.

23 installs/wk local only
Nexatron
by sravanmodugula-solved

Ask your enterprise data in plain English. Governed analytics over MCP, from dotSolved.

43 installs/wk answering
Dot - AI Data Analyst
by zurferr

Ask data questions in natural language. Get SQL, insights, and charts from your databases.

answering
Mcpulse
by getmcpulse

Analytics for MCP servers. Query your tool calls, first-call success, retries and schema cost.

answering
Avo
by avohq

Define, ship & query your analytics tracking from one source of truth, trusted by humans and agents.

answering
Wireboard
by wireboard

Official MCP server for WireBoard. Lets LLM agents query your analytics in conversation.

40 installs/wk local only

Bitmovin Observability MCP — questions

Answers built from our own checks of this server.

What can Bitmovin Observability MCP do?
It exposes 11 tools, read directly from the server on our last check. Among them: analyzeImpression, fetchImpressions, getAvailableFilters, getAvailableMetrics, getImpressionOverview, peekAllLicenses and 5 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Bitmovin Observability MCP working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 407 ms. The bar chart above shows every period we have measured.
How do I connect Bitmovin Observability MCP?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Bitmovin Observability MCP need an API key?
No. Bitmovin Observability MCP completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 11 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Bitmovin Observability MCP?
It answers our handshake in 407 ms on average, which is faster than 37% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.