{"apiVersion":"v1","directorySlug":"analytics-mcp-c336d9e7a8","title":"Bitmovin","description":"Bitmovin empowers businesses to expand their viewer reach and stream video globally with unmatched reliability, scalability, and the highest quality across","pageUrl":"https://www.mcpbundles.com/skills/analytics-mcp-c336d9e7a8","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://analytics.mcp.bitmovin.com/mcp","hostedMcpUrl":null,"toolCount":11,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.bitmovin/analytics-mcp-c336d9e7a8","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"query","description":"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 metr","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["licenseKey","metric","start","end"],"properties":{"end":{"type":"string"},"start":{"type":"string"},"metric":{"type":"string"},"filters":{"type":"array","items":{"type":"object","required":["name","operator","value"],"properties":{"name":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"array","items":{"type":["string","number"]}}]},"operator":{"enum":["eq","ne","gt","gte","lt","lte","in","contains"],"type":"string"}},"additionalProperties":false}},"licenseKey":{"type":"string","format":"uuid"},"percentile":{"type":"number","maximum":100,"minimum":0},"aggregation":{"enum":["count","average","median","percentile","sum"],"type":"string"}},"additionalProperties":false},"title":"Query timeseries metric","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"query","displayName":"Query timeseries metric"},{"name":"queryGroupBy","description":"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","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["licenseKey","metric","start","end","groupBy"],"properties":{"end":{"type":"string"},"start":{"type":"string"},"metric":{"type":"string"},"filters":{"type":"array","items":{"type":"object","required":["name","operator","value"],"properties":{"name":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"array","items":{"type":["string","number"]}}]},"operator":{"enum":["eq","ne","gt","gte","lt","lte","in","contains"],"type":"string"}},"additionalProperties":false}},"groupBy":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"licenseKey":{"type":"string","format":"uuid"},"percentile":{"type":"number","maximum":100,"minimum":0},"aggregation":{"enum":["count","average","median","percentile","sum"],"type":"string"}},"additionalProperties":false},"title":"Query metric grouped by categories","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"queryGroupBy","displayName":"Query metric grouped by categories"},{"name":"queryTotal","description":"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","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["licenseKey","metric","start","end"],"properties":{"end":{"type":"string"},"start":{"type":"string"},"metric":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"filters":{"type":"array","items":{"type":"object","required":["name","operator","value"],"properties":{"name":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"array","items":{"type":["string","number"]}}]},"operator":{"enum":["eq","ne","gt","gte","lt","lte","in","contains"],"type":"string"}},"additionalProperties":false}},"licenseKey":{"type":"string","format":"uuid"},"percentile":{"type":"number","maximum":100,"minimum":0},"aggregation":{"enum":["count","average","median","percentile","sum"],"type":"string"}},"additionalProperties":false},"title":"Get an aggregated metric value (one or more metrics)","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"queryTotal","displayName":"Get an aggregated metric value (one or more metrics)"},{"name":"peekAllLicenses","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Peek all licenses","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"peekAllLicenses","displayName":"Peek all licenses"},{"name":"getImpressionOverview","description":"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'.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["impressionId","licenseKey"],"properties":{"licenseKey":{"type":"string","format":"uuid"},"impressionId":{"type":"string"}},"additionalProperties":false},"title":"Get impression overview","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"getImpressionOverview","displayName":"Get impression overview"},{"name":"analyzeImpression","description":"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","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["impressionId","licenseKey"],"properties":{"licenseKey":{"type":"string","format":"uuid"},"impressionId":{"type":"string"}},"additionalProperties":false},"title":"Analyze impression","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"analyzeImpression","displayName":"Analyze impression"},{"name":"fetchImpressions","description":"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","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["licenseKey","start","end"],"properties":{"end":{"type":"string"},"limit":{"type":"integer","maximum":200,"minimum":1},"start":{"type":"string"},"filters":{"type":"array","items":{"type":"object","required":["name","operator","value"],"properties":{"name":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"array","items":{"type":["string","number"]}}]},"operator":{"enum":["eq","ne","gt","gte","lt","lte","in","contains"],"type":"string"}},"additionalProperties":false}},"licenseKey":{"type":"string","format":"uuid"}},"additionalProperties":false},"title":"List impression ids for a timeframe","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"fetchImpressions","displayName":"List impression ids for a timeframe"},{"name":"getAvailableMetrics","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"title":"Get available metrics","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"getAvailableMetrics","displayName":"Get available metrics"},{"name":"getAvailableFilters","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"licenseKey":{"type":"string","format":"uuid"}},"additionalProperties":false},"title":"Get available filters","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"getAvailableFilters","displayName":"Get available filters"},{"name":"searchMetrics","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"limit":{"type":"integer","maximum":20,"minimum":1},"query":{"type":"string"}},"additionalProperties":false},"title":"Search metrics","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"searchMetrics","displayName":"Search metrics"},{"name":"searchFilters","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"limit":{"type":"integer","maximum":20,"minimum":1},"query":{"type":"string"},"licenseKey":{"type":"string","format":"uuid"}},"additionalProperties":false},"title":"Search filters","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"searchFilters","displayName":"Search filters"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Bitmovin&config=eyJ1cmwiOiAiaHR0cHM6Ly9hbmFseXRpY3MubWNwLmJpdG1vdmluLmNvbS9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Bitmovin%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fanalytics.mcp.bitmovin.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Bitmovin%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fanalytics.mcp.bitmovin.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Bitmovin&connectorUrl=https%3A%2F%2Fanalytics.mcp.bitmovin.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Bitmovin\" --url \"https://analytics.mcp.bitmovin.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/analytics-mcp-c336d9e7a8","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/analytics-mcp-c336d9e7a8/tools/{tool}","mcpServerUrl":"https://analytics.mcp.bitmovin.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/analytics-mcp-c336d9e7a8?live=1"}