
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 分