MCPサーバー

rtcStats

com.rtcstats/rtcstats

このMCPでできること

Lists and retrieves analyzed WebRTC session data, observations, quality scores, summaries, and account usage.

get_quota
Returns the application token account: accountName, accountPlan (e.g. free, developer, trial_developer, enterprise), allowedCredits and remainingCredits (monthly plus purchased pool). Requires Authorization: Bearer <application JWT> on the MCP HTTP request.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['accountName', 'accountPlan', 'allowedCredits', 'remainingCredits'], 'properties': {'accountName': {'type': 'string'}, 'accountPlan': {'type': 'string'}, 'allowedCredits': {'type': 'number'}, 'remainingCredits': {'type': 'number'}}, 'additionalProperties': False}
get_session
Returns full session payload for one stored session (summary, observations, scores, etc.). Arguments: rtcstatsId (UUID). In data.observations[], each observation has type, severity, category, tags, firstSeenAt and a source object whose properties depend on the category: source.pid (peer connection id), source.sid (stream/datachannel report id), source.cpid (candidate-pair id), source.did (device entry id), source.rid (device row index), source.timestamp (device entry time), source.ssrcId (number, stream SSRC), source.labelId (device name). The top-level label is DEPRECATED and removed in the next schema version (overloaded legacy id; read source.ssrcId / source.sid / source.labelId instead). The full catalog of observation types (with possible severities and tags) is available from GET /v1.0/observations. Requires Authorization: Bearer <application JWT> on the MCP HTTP request.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rtcstatsId'], 'properties': {'rtcstatsId': {'type': 'string', 'minLength': 1}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rtcstatsId', 'rtcstatsUrl', 'processorVersion', 'data'], 'properties': {'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'embedUrl': {'type': 'string'}, 'rtcstatsId': {'type': 'string'}, 'rtcstatsUrl': {'type': 'string'}, 'processorVersion': {'type': 'string'}}, 'additionalProperties': False}
list_sessions
Lists stored sessions for the application token account: rtcstatsId, createdAt, sessionStart, sessionEnd, title, rtcstatsUrl, embedUrl (Enterprise only), and abstract (denormalized session summary: browser/os, observation types+tags, severity counts, score band). Optional filters: name (title substring, any of), observationTypes (exact type names, any of), observationTags (any of), os, browser, browserVersion, userId, conferenceId, sessionId, hasCritical/hasHigh/hasMedium, hasLowScore/hasMediumScore/hasHighScore. Different filters are AND-combined; multiple values within one filter are OR-combined. Example queries: sessions about "zoom" on Safari + macOS, sessions with network observation tags, sessions having critical observations, sessions with a low experience score. Requires Authorization: Bearer <application JWT> on the MCP HTTP request.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'os': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Filter sessions by operating system (e.g. "macOS", "Windows", "Linux", "Android", "iPhone", "iPad").'}, 'name': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Filter sessions whose title contains ANY of these substrings (case-insensitive). E.g. ["zoom"] for all sessions about Zoom.'}, 'userId': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Filter sessions by the end-user identifier carried in the rtcstats JWT (summary metadata user).'}, 'browser': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Filter sessions by browser (e.g. "Chrome", "Safari", "Firefox", "Edge").'}, 'hasHigh': {'type': 'boolean', 'description': 'When true, only sessions with at least one high-severity observation.'}, 'hasMedium': {'type': 'boolean', 'description': 'When true, only sessions with at least one medium-severity observation.'}, 'sessionId': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Filter sessions by the session identifier carried in the rtcstats JWT (summary metadata session).'}, 'hasCritical': {'type': 'boolean', 'description': 'When true, only sessions with at least one critical-severity observation.'}, 'hasLowScore': {'type': 'boolean', 'description': 'When true, only sessions whose experience score is low (< 60).'}, 'conferenceId': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Filter sessions by the conference identifier carried in the rtcstats JWT (summary metadata conference).'}, 'hasHighScore': {'type': 'boolean', 'description': 'When true, only sessions whose experience score is high (>= 80).'}, 'browserVersion': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Filter sessions by major browser version (e.g. "142").'}, 'hasMediumScore': {'type': 'boolean', 'description': 'When true, only sessions whose experience score is medium (60 to 79).'}, 'observationTags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Filter sessions whose observations carry ANY of these tags. Valid tags: connectivity, security, audio, video, datachannel, outbound, inbound, peripheral, behavior, network, configuration, cpu, bug.'}, 'observationTypes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 20, 'description': 'Filter sessions that contain ANY of these observation type strings (exact type name, e.g. ["turnNoConfig"]).'}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total', 'data'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['rtcstatsId', 'createdAt', 'sessionStart', 'sessionEnd', 'title', 'rtcstatsUrl', 'abstract'], 'properties': {'title': {'type': 'string'}, 'abstract': {'anyOf': [{'type': 'object', 'required': ['observationTypes', 'observationTags', 'browser', 'browserVersion', 'os', 'osVersion', 'conferenceId', 'sessionId', 'userId', 'experienceScore', 'connectivity', 'observationsCritical', 'observationsHigh', 'observationsMedium', 'scoreBand'], 'properties': {'os': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'userId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'browser': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'osVersion': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'scoreBand': {'enum': ['low', 'medium', 'high', 'unrated'], 'type': 'string'}, 'sessionId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'conferenceId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'connectivity': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'browserVersion': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'experienceScore': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'observationTags': {'type': 'array', 'items': {'type': 'string'}}, 'observationTypes': {'type': 'array', 'items': {'type': 'string'}}, 'observationsHigh': {'type': 'number'}, 'observationsMedium': {'type': 'number'}, 'observationsCritical': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'embedUrl': {'type': 'string'}, 'createdAt': {'type': 'string'}, 'rtcstatsId': {'type': 'string'}, 'sessionEnd': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'rtcstatsUrl': {'type': 'string'}, 'sessionStart': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'total': {'type': 'number'}}, 'additionalProperties': False}
追加
get_session
2026年9月17日12:37
追加
list_sessions
2026年9月17日12:37
追加
get_quota
2026年9月17日12:37