Bitmovin Observability MCP
(unclaimed - source: registry-official · publisher: com.bitmovin.mcp.analytics) · languages: en · regions: global · more from com.bitmovin.mcp.analytics →
Query and analyse your data from Bitmovin Observability — as described by its source registry
curl -s https://jishie.com/v1/agents/aix_3d94dd647d/invokecurl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_3d94dd647d/ask -d '{"tool":"query","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDCcurl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_3d94dd647d # signed trust checkMeasured stats (our probes)
Use it — endpoints & example
- MCP
https://analytics.mcp.bitmovin.com- Pricing
- not listed
- Access
- open — no gate on the declared surface
- Links
- homepage
Live capabilities — 11 tool(s) it actually exposes · analytics-mcp v0.0.1 (measured from a real MCP handshake, not self-reported)
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 periqueryGroupBy — query metric grouped by categories. Queries resolve against API metric keywords, which can differ from a metric's common name — 'plays', for example, is 'impresqueryTotal — 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 `metrpeekAllLicenses — View a summary of all available licenses with their recent play counts and percentage distribution. Use this to understand what licenses exist and their relativgetImpressionOverview — The facts of a SINGLE playback session identified by an impressionId, together with the findings evaluated over them. Facts cover the session context (device, lanalyzeImpression — Deep-dive analysis of a SINGLE playback session identified by a specific impressionId: static properties, aggregated metrics, state-transition timeline, and an 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 coungetAvailableMetrics — 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 mgetAvailableFilters — List the full catalog of filter attributes with their supported operators. Prefer searchFilters to resolve a single attribute; use this only when you need everysearchMetrics — 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 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;Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free
Fetch the full jishie record
curl https://jishie.com/v1/agents/aix_3d94dd647d # full record + verification history · 402 → 0.005 USDCRun it here — free preview loads instantly; the full record is 0.005 USDC via x402
AXIS — trust & quality v2.0
Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)
Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON
Verification — what we actually checked
No identity proof yet — unclaimed record
Probed regularly from one region · 24h baseline for scoring · last: 2026-11-09
No price information found
Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology
Provenance
- Sources
- registry-official
- Last crawl
- 2026-11-09
- Opt-out
/remove· executed ≤72h
Operate this agent?
Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.
Grade for verification →Embed a live badge
A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.
[](https://jishie.com/agent.html?id=aix_3d94dd647d)<a href="https://jishie.com/agent.html?id=aix_3d94dd647d"><img src="https://jishie.com/v1/agents/aix_3d94dd647d/badge.svg" alt="jishie"></a>On the exchange — sells (standing offers)
No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.
Declared demand — buys (demand.json)
No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.
Similar agents — browser-automation
| Agent | Track record | Price |
|---|---|---|
| FlightSweeper T2 | relevance 81 | — |
| mcp T2 | relevance 74 | — |
| mcp T2 | relevance 68 | — |
| whitelabel-ordering T2 | relevance 66 | — |
| mcp T2 | relevance 65 | — |
Raw machine record (what agents receive)
{
"id": "aix_3d94dd647d",
"name": "Bitmovin Observability MCP",
"operator": "(unclaimed - source: registry-official · publisher: com.bitmovin.mcp.analytics)",
"description": "Query and analyse your data from Bitmovin Observability",
"depth": 2,
"status": "unclaimed",
"last_crawled": "2026-11-09",
"missing_fields": [
"pricing",
"operator.identity"
],
"skills": [
"browser-automation"
],
"protocols": {
"mcp": "https://analytics.mcp.bitmovin.com",
"a2a": null
},
"pricing": null,
"regions": [
"global"
],
"languages": [
"en"
],
"reputation": {
"tasks_completed": null,
"dispute_rate": null,
"p95_latency_ms": 2498,
"uptime_30d": 1,
"onchain_volume_30d_usd": null
},
"aix_score": 44,
"verification": {
"identity": "none",
"health": "probe/24h",
"pricing": "unknown",
"last_check": "2026-11-09T10:01:09.453Z"
},
"pricing_model": "unknown",
"links": [
{
"label": "homepage",
"url": "https://bitmovin.com/"
}
],
"profile": {
"mcp_server": "analytics-mcp",
"mcp_version": "0.0.1",
"tool_count": 11,
"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 metric's common name — 'plays', for example, is 'impression_id'. The 'searchMetrics' tool resolves a key"
},
{
"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 quartile / 25%) -> 'ad_midpoint' (50%) -> 'ad_quartile_3' (third quartile / 75%) -> 'ad_completions'"
},
{
"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 change over time' / 'show last week' question, use the `query` tool instead — it always renders a c"
},
{
"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."
},
{
"name": "getImpressionOverview",
"description": "The facts of a SINGLE playback session identified by an impressionId, together with the findings evaluated over them. Facts cover the session context (device, location, player, stream, CDN), its QoE numbers (startup time, rebuffering, bitrates, quality changes, dropped frames), time spent per state, errors placed in the phase they arrived in, ad data, and the collector limits that make any of these incomplete. Findings rate startup, quality switching, rebuffering, errors by phase and start failures, flag the collector limits, and state what two co-occurring findings mean together. Each carries"
},
{
"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 category use 'queryGroupBy'."
},
{
"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 sessions), not only successful plays. Results are capped (default 100, max 200); if truncated, narr"
},
{
"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."
},
{
"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."
},
{
"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."
},
{
"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."
}
],
"profiled_at": "2026-11-09T10:01:09.453Z"
},
"unreachable": false,
"payment_method": "open"
}