rtcStats
Query analyzed WebRTC sessions: observations, deductions, experience scores, and AI summaries.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"rtcstats": {
"url": "https://api.rtcstats.com/v1.0/mcp"
}
}
}远程端点
https://api.rtcstats.com/v1.0/mcpstreamable-http它能做什么
工具清单
工具(3)
🟢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",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"accountName": {
"type": "string"
},
"accountPlan": {
"type": "string"
},
"allowedCredits": {
"type": "number"
},
"remainingCredits": {
"type": "number"
}
},
"required": [
"accountName",
"accountPlan",
"allowedCredits",
"remainingCredits"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_sessions(name, observationTypes, observationTags, os, browser, ...)
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",
"properties": {
"name": {
"description": "Filter sessions whose title contains ANY of these substrings (case-insensitive). E.g. [\"zoom\"] for all sessions about Zoom.",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"observationTypes": {
"description": "Filter sessions that contain ANY of these observation type strings (exact type name, e.g. [\"turnNoConfig\"]).",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"observationTags": {
"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.",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"os": {
"description": "Filter sessions by operating system (e.g. \"macOS\", \"Windows\", \"Linux\", \"Android\", \"iPhone\", \"iPad\").",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"browser": {
"description": "Filter sessions by browser (e.g. \"Chrome\", \"Safari\", \"Firefox\", \"Edge\").",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"browserVersion": {
"description": "Filter sessions by major browser version (e.g. \"142\").",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"userId": {
"description": "Filter sessions by the end-user identifier carried in the rtcstats JWT (summary metadata user).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"conferenceId": {
"description": "Filter sessions by the conference identifier carried in the rtcstats JWT (summary metadata conference).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"sessionId": {
"description": "Filter sessions by the session identifier carried in the rtcstats JWT (summary metadata session).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"hasCritical": {
"description": "When true, only sessions with at least one critical-severity observation.",
"type": "boolean"
},
"hasHigh": {
"description": "When true, only sessions with at least one high-severity observation.",
"type": "boolean"
},
"hasMedium": {
"description": "When true, only sessions with at least one medium-severity observation.",
"type": "boolean"
},
"hasLowScore": {
"description": "When true, only sessions whose experience score is low (< 60).",
"type": "boolean"
},
"hasMediumScore": {
"description": "When true, only sessions whose experience score is medium (60 to 79).",
"type": "boolean"
},
"hasHighScore": {
"description": "When true, only sessions whose experience score is high (>= 80).",
"type": "boolean"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"total": {
"type": "number"
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rtcstatsId": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"sessionStart": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"sessionEnd": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"type": "string"
},
"rtcstatsUrl": {
"type": "string"
},
"embedUrl": {
"type": "string"
},
"abstract": {
"anyOf": [
{
"type": "object",
"properties": {
"observationTypes": {
"type": "array",
"items": {
"type": "string"
}
},
"observationTags": {
"type": "array",
"items": {
"type": "string"
}
},
"browser": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"browserVersion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"os": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"osVersion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"conferenceId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"sessionId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"userId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"experienceScore": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"connectivity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"observationsCritical": {
"type": "number"
},
"observationsHigh": {
"type": "number"
},
"observationsMedium": {
"type": "number"
},
"scoreBand": {
"type": "string",
"enum": [
"low",
"medium",
"high",
"unrated"
]
}
},
"required": [
"observationTypes",
"observationTags",
"browser",
"browserVersion",
"os",
"osVersion",
"conferenceId",
"sessionId",
"userId",
"experienceScore",
"connectivity",
"observationsCritical",
"observationsHigh",
"observationsMedium",
"scoreBand"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"rtcstatsId",
"createdAt",
"sessionStart",
"sessionEnd",
"title",
"rtcstatsUrl",
"abstract"
],
"additionalProperties": false
}
}
},
"required": [
"total",
"data"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_session(rtcstatsId)
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",
"properties": {
"rtcstatsId": {
"type": "string",
"minLength": 1
}
},
"required": [
"rtcstatsId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"rtcstatsId": {
"type": "string"
},
"rtcstatsUrl": {
"type": "string"
},
"processorVersion": {
"type": "string"
},
"data": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"embedUrl": {
"type": "string"
}
},
"required": [
"rtcstatsId",
"rtcstatsUrl",
"processorVersion",
"data"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}社区
证据