TelemetryDeck MCP 服务器

一个包装TelemetryDeck分析API的MCP服务器,允许Claude查询应用遥测数据并使用TQL(TelemetryDeck查询语言)运行分析。

  • by faaak2
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 faaak2/mcp-telemetry

使用说明

遥测甲板MCP服务器

MCP服务器,用于包装 遥测甲板 分析API,允许Claude查询应用遥测数据,并使用TQL(遥测甲板查询语言)运行分析。

安装

克劳德代码

claude mcp add telemetrydeck --transport http https://mcp-builder.de/telemetry/mcp

克劳德桌面版

添加到您的Claude桌面配置(claude_desktop_config.json):

{
  "mcpServers": {
    "telemetrydeck": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/telemetry", "telemetry-deck-mcp"]
    }
  }
}

安装捆绑技能(可选)

此回购提供了Claude Code技能 skills/telemetrydeck/SKILL.md 它将MCP工具包装在一个有指导的工作流程中:它提供自动安装遥测甲板MCP(以及chrome devtools MCP,如果需要谷歌登录),驱动登录,并从自然语言问题中编写TQL查询。

该技能是一个独立的文件。要在您的计算机上安装它,请直接获取它:

# Windows (PowerShell)
New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\skills\telemetrydeck" | Out-Null
Invoke-WebRequest -OutFile "$env:USERPROFILE\.claude\skills\telemetrydeck\SKILL.md" `
  https://raw.githubusercontent.com/faaak2/mcp-telemetry/main/skills/telemetrydeck/SKILL.md
# macOS / Linux
mkdir -p ~/.claude/skills/telemetrydeck
curl -o ~/.claude/skills/telemetrydeck/SKILL.md \
  https://raw.githubusercontent.com/faaak2/mcp-telemetry/main/skills/telemetrydeck/SKILL.md

或者,如果你克隆了仓库: cp skills/telemetrydeck/SKILL.md ~/.claude/skills/telemetrydeck/SKILL.md.

重新启动Claude Code,然后问“在Web Player上显示我昨天的注册”或“本周在iOS上的DAU”之类的问题——该技能会触发并完成其余的设置。

运行服务器

先决条件

安装依赖项

uv sync

启动服务器

uv run telemetry-deck-mcp

服务器启动于 http://0.0.0.0:8083 使用流式HTTP传输。

作为systemd服务运行

包含一个服务文件,用于在生产环境中运行服务器。复制并启用它:

sudo cp telemetry-deck-mcp.service /etc/systemd/system/
sudo systemctl enable --now telemetry-deck-mcp

反向代理

服务器被设计为位于反向代理(例如Caddy)后面,路径如下 /telemetry/示例Caddy配置:

mcp-builder.de {
    handle /telemetry/* {
        uri strip_prefix /telemetry
        reverse_proxy localhost:8083
    }
}

工具

get_tql_guide

返回TQL(遥测甲板查询语言)参考。没有参数。在构造查询之前,每个会话调用一次。

list_apps

列出可用于查询的应用程序。没有参数。返回一个JSON数组 {appId, appName} 每个对象一个 *-StructuralData.json 文件捆绑在包中。

get_app_structure

返回给定应用程序的StructuralData(事件+参数+描述)。

参数:

名称 类型 描述
app_id string 遥测甲板应用程序ID(来自 list_apps)

run_query

对遥测甲板执行TQL查询。传递完整的TQL JSON对象——支持 timeseries, topN, groupBy, funnel, retention, scan,以及 experiment 查询类型。

参数:

名称 类型 描述
bearer_token string 您的遥测甲板持有者令牌
app_id string 要查询的遥测甲板应用程序ID
query object 完整的TQL查询对象

查询示例:

{
  "queryType": "timeseries",
  "dataSource": "CalculatedSignals",
  "filter": {
    "type": "selector",
    "dimension": "appID",
    "value": "<app_id>"
  },
  "aggregations": [
    {"type": "count", "name": "count"}
  ],
  "granularity": "day",
  "intervals": ["2025-01-01/2025-01-31"]
}

get_insight_query

通过ID检索保存的洞察的TQL查询对象。可用于检查或重新执行保存的洞察。

参数:

名称 类型 描述
bearer_token string 您的遥测甲板持有者令牌
app_id string 遥测甲板应用程序ID
insight_id string 保存的洞察的UUID
days_back int 回顾的天数(默认值:30)

认证

run_query 和 get_insight_query 需要 bearer_token 和 app_id.参考工具(get_tql_guide, list_apps, get_app_structure)不进行身份验证。从 遥测甲板仪表板 或通过 login 工具。

测试

使用MCP检查器以交互方式测试服务器:

uv run mcp dev src/telemetry_deck_mcp/server.py