Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Read-only host activity, history, anomalies and evidence from a Vytrix collector.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
VYTRIX_URL, VYTRIX_TOKEN标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"vytrix": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"VYTRIX_URL",
"-e",
"VYTRIX_TOKEN",
"ghcr.io/zyvorai/vytrix-mcp:0.8.0"
],
"env": {
"VYTRIX_URL": "your-value",
"VYTRIX_TOKEN": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add vytrix --env VYTRIX_URL=your-value --env VYTRIX_TOKEN=your-value -- docker run -i --rm -e VYTRIX_URL -e VYTRIX_TOKEN ghcr.io/zyvorai/vytrix-mcp:0.8.0运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"vytrix": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"VYTRIX_URL",
"-e",
"VYTRIX_TOKEN",
"ghcr.io/zyvorai/vytrix-mcp:0.8.0"
],
"env": {
"VYTRIX_URL": "your-value",
"VYTRIX_TOKEN": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"vytrix": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"VYTRIX_URL",
"-e",
"VYTRIX_TOKEN",
"ghcr.io/zyvorai/vytrix-mcp:0.8.0"
],
"env": {
"VYTRIX_URL": "your-value",
"VYTRIX_TOKEN": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 zyvorai 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:VYTRIX_URL, VYTRIX_TOKEN
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.8.0)于20天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Docker。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Dialyne
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Real phone calls in France for AI agents: dial +33 numbers, menus, hold, AI disclosure.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A read-only system activity monitor for macOS and Linux. Applications grouped the way you think about them, processes, listening ports, project folders, and Docker and Podman containers, in a macOS 27 window, a macOS 26 Liquid Glass one, or an Adwaita one. A single-file Python collector with no dependencies feeds it.
Read-only · Dependency-free collector · macOS 27 + Liquid Glass + Adwaita · Docker and Podman aware · Local-first
🎮 [Live demo](https://zyvorai.github.io/zyvor-vytrix/demo/) · 🌐 [Site](https://zyvorai.github.io/zyvor-vytrix/) · 🚀 [Quickstart](#quickstart) · 🧩 [How it fits](#how-it-fits-together) · 🔒 [Security](SECURITY.md) · 📖 [API](docs/API.md)
| When this happens | Vytrix gives you |
|---|---|
| Activity Monitor lists 24 "Google Chrome Helper" rows and you want one number | Processes grouped by executable or `.app` bundle, with CPU and memory per application and a process sheet one click away |
| "Which container is eating the box, and is it Docker or Podman?" | State, CPU, memory against its limit, network I/O and published ports for both runtimes, from read-only CLI calls |
| "What is listening on 5173?" | Listening ports tied to the application and its project folder |
| You want a monitor on a remote server without an agent suite | One Python file, one systemd unit, HTTPS and a bearer token |
| You will leave it running on a production host | It is read-only: it never kills, signals or changes anything |
[Try the live demo](https://zyvorai.github.io/zyvor-vytrix/demo/): the real dashboard, running in your browser on simulated telemetry (nothing to install, nothing leaves the page).
[Download for Mac](https://github.com/zyvorai/zyvor-vytrix/releases/tag/v0.7.0): the native app, v0.7.0, DMG and pkg (Apple silicon, macOS 26+); the release notes say whether the build is signed and notarized.
*About 12 seconds against the built-in simulated telemetry: overview, an application's processes, containers, switching to the Adwaita window style, then dark mode.*
| macOS 27, light | macOS 27, dark |
|---|---|
| Liquid Glass, light | Liquid Glass, dark |
|---|---|
| Adwaita, light | Adwaita, dark |
|---|---|
| Phone (390px) | Phone, containers |
|---|---|
*Every image here is the app's built-in simulated telemetry (host zyvor-dev-01). A web page cannot read your processes, so the hosted preview says so on screen. See the UX contract.*
The dashboard starts on clearly labeled simulated telemetry. To see your own machine, run the collector and connect (live), or import a one-off snapshot (offline).
Optional and read-only: a small worker on each Mac pushes its snapshot to a coordinator, and Monitor → Mac cluster shows every machine's CPU, memory, disk, network, applications and containers. There is no command channel. See docs/CLUSTER.md.
A SwiftUI app (native/) that shows the same telemetry in a native macOS 27 window. It starts the bundled collector on loopback with a random token held in memory, or connects to one you run elsewhere (Connect…, HTTPS unless it is localhost). It is read-only, like everything else here.
[Download Vytrix 0.7.0 for Mac](https://github.com/zyvorai/zyvor-vytrix/releases/tag/v0.7.0) (Apple silicon, macOS 26 or newer): Vytrix-0.7.0.pkg installs into Applications, or open Vytrix-0.7.0.dmg and drag Vytrix there. The v0.7.0 files are Developer ID signed and notarized. If you use a build that is not (a local or CI build without Apple secrets), the first launch is blocked: open System Settings → Privacy & Security and choose Open Anyway next to the Vytrix message. Each file has a .sha256; check it with shasum -a 256 -c Vytrix-0.7.0.pkg.sha256. v0.3.0 remains available as a hand-signed DMG. The app bundles the collector, which needs Python 3.10+ (see below).
Or build it from source:
./scripts/build-native.sh # native/build/Vytrix.app, ad-hoc signed development build
open native/build/Vytrix.app # or add --args --demo for simulated telemetry ./scripts/shots-native.sh # docs/ux/native-*.png, from the simulated telemetry ./scripts/build-native-widgets.sh # the same app plus the widget and App Intents (needs xcodegen), see docs/WIDGETS.md
Needs macOS 26 or newer, the Xcode command line tools, and Python 3.10+ for the collector (the system /usr/bin/python3 is 3.9; the app looks for Homebrew's first). Overview, Applications, Containers, Projects, Alerts and Settings are in, grouped Monitor, Workloads and System like the dashboard, along with a menu bar item (CPU, host totals, alert count, busiest apps). Closing the window keeps Vytrix running in the menu bar; Quit stops it and its collector. On the resource pages, anomalous ranges are shaded and a dragged range opens an evidence sheet (needs a collector, so not in demo mode). Alerts use the dashboard's rules (threshold default 80%, critical at +10) and post local notifications, once per alert, never for demo data. The CPU, Memory, Disk, Network and Battery pages and Settings (appearance, accent, threshold, snapshot import and export, data source) are in too. A System widget and two Shortcuts actions ("What is using my CPU?", "How is my Mac doing?") are in docs/WIDGETS.md. Built and run on macOS 27.2.
| Overview, light | Applications, light |
|---|---|
| Containers, dark | Overview, dark |
|---|---|
1. The dashboard, on simulated data (Node ≥ 22.13; npx pnpm@11.25.0 … works without installing pnpm):
git clone https://github.com/zyvorai/zyvor-vytrix.git && cd zyvor-vytrix
npx pnpm@11.25.0 install --frozen-lockfile npx pnpm@11.25.0 dev # http://localhost:5173
2. Your own readings, offline (Python 3.10+, Linux or macOS, no root):
python3 agent/vytrix.py --once > snapshot.json
In the dashboard choose Connect → Import collector snapshot (or Settings → Import). Nothing leaves your machine.
3. Live telemetry
export VYTRIX_TOKEN="$(python3 -c 'import secrets; print(secrets.token_urlsafe(32))')" # keep it out of source control
python3 agent/vytrix.py --allow-origin http://localhost:5173
Enter http://127.0.0.1:9847/v1/snapshot and the token in Connect. The dashboard polls every two seconds. The token stays in tab memory: it is not stored in localStorage and not sent anywhere else. For another machine, serve HTTPS with --tls-cert/--tls-key (or a TLS reverse proxy that passes Authorization). The UI refuses plain-HTTP collector URLs except on loopback.
| Flag | Default | Purpose |
|---|---|---|
--once | Print one snapshot, then exit | |
--bind, --port | 127.0.0.1, 9847 | Where to listen. Plain HTTP on a non-loopback address prints a warning |
--allow-origin | none | Exact browser origin allowed by CORS. Repeatable |
--tls-cert, --tls-key | PEM files: serve HTTPS (needed for remote browser access) | |
--ui-upstream | Proxy non-API paths to a dashboard URL (same-origin deploys) | |
--interval | 2 | Seconds between samples |
--database | ~/.local/share/vytrix/history.sqlite | History (30-day retention, directory 0700, file 0600) |
--no-containers | Skip Docker and Podman | |
--container-interval | 5 | Seconds between container polls |
Endpoints: GET /v1/snapshot, GET /v1/history?since=…&limit=… (both need the bearer token and an allowed origin), and unauthenticated GET /healthz. Everything is a read; mutations are not supported. See docs/API.md.
| Section | Views |
|---|---|
| Monitor | Overview, CPU, Memory, Disk, Network, Battery |
| Workloads | Applications (grouped), Containers (Docker and Podman), Projects (developer servers by folder) |
| System | Alerts (threshold checks), Settings (window style, appearance, accent, reduced transparency, thresholds, import/export) |
Also: search, CPU or memory sort, pause and resume, 1m/5m/1h activity history (captured while the tab is open, at most 1,800 samples), and JSON import/export.
scripts/install-macos.sh --allow-origin http://localhost:5173 # launchd agent, token in the login Keychain
scripts/install-linux.sh --allow-origin http://localhost:5173 # systemd user unit (--system for a hardened system unit)
Both accept --dry-run, --port and --no-containers.
./scripts/deploy-remote.sh 203.0.113.10 deploy # HOST USER, or user@host
./scripts/deploy-remote.sh HOST USER --quick # sync + restart, no build ./scripts/deploy-remote.sh HOST USER --verify-only ./scripts/deploy-remote.sh HOST USER --dry-run # prints the plan; no SSH
It syncs the checkout over SSH (one multiplexed connection) to ~/.vytrix/app, builds it there (with a private Node 22 if the system Node is older), and installs two systemd units: the dashboard on 127.0.0.1:8787 and the collector on `https://HOST:30847` with a self-signed certificate that covers the host, proxying the dashboard on the same origin. The token is created once in ~/.vytrix/env (0600). Open the URL, accept the certificate, Connect (the endpoint is pre-filled) and paste the token. Needs SSH, passwordless sudo, Python 3.10+, curl, openssl, rsync. Details: docs/RELEASE.md.
The dashboard has no login of its own: put it behind your own access control. What the collector token protects, and what it does not, is in SECURITY.md.
pnpm typecheck && pnpm lint
pnpm test # telemetry schema tests + Python collector tests pnpm build pnpm test:e2e # Playwright: WebKit, Chromium, mobile WebKit pnpm shots
只显示了开头部分;其余内容请在仓库中阅读