
Uptimizr
io.github.RaananW由 GitHub 账号 RaananW 发布v1.2.3更新于 Nov 7, 2026
Ask an AI agent about your self-hosted 3D scene analytics: heatmaps, meshes, performance, sessions.
概览
连接你自建的 Uptimizr 采集器,让助手用自然语言查询 3D 场景分析数据:热力图、网格、会话与性能。
- 可以做什么
- 查询会话与场景:列出近期会话、会话元数据、行走轨迹、场景表示与场景列表
- 分析注意力与交互:指针、视线、世界空间、相机与位置热力图,点击射线、流向连线、热门网格、停留、盲区、无效点击与狂点
- 查看导航与转化:覆盖率、聚合路径、回退比例、转化漏斗、留存、变体排行榜,以及基线、变化项、异常与显著性洞察
- 检查渲染性能与稳定性:FPS 分布、帧时间分位、卡顿、着色器编译停顿、GPU 与内存分位、错误热力图与诊断
- 审计 XR 与 AR:头部旋转、移动方式、追踪质量、边界接触、会话放弃与 AR 放置指标
- 读取能力与技能资源,并运行内置方法论提示,如注意力热点、转化排查与每周场景健康检查
- 适用场景
- 适用于团队已为 3D、WebGL 或 XR 产品部署 Uptimizr 采集器,并希望助手在不打开仪表盘的情况下回答关于互动、漏斗或帧率回退的问题。
- 运行要求
- 通过 npx 以 stdio 在本地运行 npm 包 @uptimizr/mcp,需要 Node.js。需要设置 UPTIMIZR_COLLECTOR_URL(自建采集器的基础地址)和 UPTIMIZR_API_KEY(以 x-api-key 请求头发送)。密钥需具备 query 能力;加上 annotate 才会启用元数据工具。需要能访问你的采集器。
安装
在 SourceWeft 中
- 打开 控制台中的 Uptimizr,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
@uptimizr/mcp
A Model Context Protocol server over an Uptimizr collector's API. It lets an AI agent ask natural-language questions about your 3D analytics ("what was the most-clicked mesh this week?") and have them answered by querying your own collector — nothing is sent to any third party.
The server is a thin wrapper: each analytics tool maps one-to-one to a documented collector query
endpoint (see
integration docs) and performs
GET requests only. There is no ingestion tool, and nothing here can write, alter or delete an
analytics event — events are read-only. A key holding query:raw additionally gets
session_narrative, the compacted account of one session, on a collector running with
ENABLE_RAW_SESSION_RETENTION.
The one exception is gated: when the configured key holds the annotate capability the server also
registers the project-metadata tools annotate, define_term, save_analysis, pin_panel and
unpin_panel (plus list_annotations, list_glossary, list_analyses, list_panels), which
leave notes, definitions, saved analyses and pinned panels behind. The server asks
GET /api/v1/whoami once at start-up, so a read-only key yields a
read-only server, and every metadata write is recorded in the project's agent audit log.
How it connects
The server talks only to your collector's HTTP query API — it never opens the database (DuckDB/ClickHouse/Postgres) directly. The collector stays the single gateway to your data, so an agent gets exactly the auth, project-scoping, and privacy guarantees a dashboard user does:
Run
Configure an MCP client
Most MCP clients (Claude Desktop, VS Code, etc.) launch the server over stdio. Example client config:
For GitHub Copilot CLI, put the same entry in ~/.copilot/mcp-config.json with
"type": "local" and "tools": ["*"], then restart the CLI so it loads the tools:
Tools
The catalog is generated from the semantic metric registry in @uptimizr/metrics (ADR 0051 §1):
every metric the collector serves on a read endpoint is a tool — 76 of them, one table row
each, of which a plain query key sees 75 (session_narrative needs query:raw). Each tool's
description carries the metric's interpretation notes and caveats, and each declares an MCP
outputSchema covering every format envelope it can answer with — the rows, the table
envelope around them (the tools' default), or a summary digest. Results come back as both
content text and structuredContent. Read uptimizr://capabilities for each tool's result
grain, column units, row schema and caveats; the same registry drives the collector's
GET /api/v1/openapi.json.
Most tools accept an optional time range (since / until, epoch ms) and the filters the
underlying endpoint supports (scene, session, source, bins, cellSize, interval, type,
limit, cameraMode, region, …). session_meta, session_trajectory and
scene_representation take a required id.
Resources & prompts
The server also exposes read-only resources for self-discovery — uptimizr://capabilities
(a machine-readable descriptor of event types, the tool catalog, parameter semantics, and
metrics: the collector's whole semantic metric registry, with each metric's result grain, column
units, row JSON Schema, row limits, interpretation and caveats — ADR 0051) and
uptimizr://context (the live project context document), uptimizr://scenes (live scene ids) and
uptimizr://skills (the methodology catalog below) — plus one curated prompt per packaged
skill, listed in the table below, that drives the tools above. See the
MCP guide for details.
Methodology skills
Each prompt template is a packaged skill — an Agent Skills file, skills/<name>/SKILL.md,
shipped in this package — so the method an agent follows is readable, forkable and identical to the
one uptimizr agent report --skill runs on your collector. The catalog is also served as the
uptimizr://skills resource. * marks a required argument.
Hosted transport (Streamable HTTP)
The collector can serve this same server itself, over MCP's Streamable HTTP transport, so a
remote agent connects with a URL and a key instead of launching this package locally (ADR 0051 §7).
Start the collector with COLLECTOR_MCP_HTTP=1 and point a client at /mcp:
x-api-key works in place of the bearer header, the key still needs only query, and the tools,
resources and prompts are identical — both transports are built by the same createMcpServer()
below. Tool calls made that way are recorded in the collector's audit log with
surface: "mcp-http"; calls from this package over stdio are ordinary HTTP reads, recorded as
http. See the
hosted transport guide.
Programmatic use
createMcpServer(client, options?) takes an optional options.capabilities — the capability set of
the API key the server instance is bound to. The collector-hosted transport passes the key it
resolved, so a session's surface can only narrow to what its key may do; omitting it (as the stdio
entry point does) registers the whole read catalog and leaves enforcement to the collector.
The package also exports readTools, rawTools, writeTools, CollectorError, version, and the
related public types. The read-only analytics catalog (readTools), the annotate-gated
writeTools, and the collector client are defined in the
framework-agnostic @uptimizr/agent-core package and re-exported here,
so the agent tool surface is defined once and shared across the MCP server, the dashboard assistant,
and the demo assistant (ADR 0050). Building a non-MCP agent? Depend on @uptimizr/agent-core
directly — it also ships a headless provider-adapter interface and tool-calling loop.
Develop
Licensed under Apache-2.0.
来源:oss/packages/mcp/README.md,提交 4e64022
工具
0版本历史
1- v1.2.3最新Nov 7, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分