Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
ChartRemotely — put a security on a desktop chart anywhere in the world, by voice or by tool call
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://chartremotely-mcp.fastmcp.app/mcp在终端中运行这条命令
claude mcp add --transport http chartremotely https://chartremotely-mcp.fastmcp.app/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"chartremotely": {
"url": "https://chartremotely-mcp.fastmcp.app/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"chartremotely": {
"type": "http",
"url": "https://chartremotely-mcp.fastmcp.app/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://chartremotely-mcp.fastmcp.app/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 lonniev 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(0.4.0)于17天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Signoff
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ 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.
Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A Tollbooth-DPYC Operator MCP. It meters and relays chart commands to agents running on patrons' own machines, so a security can be put on a wall monitor anywhere by voice or by tool call.
The operator never touches a broker API and never drives a GUI itself. It pairs agents, bills per request, and relays a narrow vocabulary.
Desktop charting applications have no automation surface. thinkorswim in particular has no API, no URL scheme, and nothing addressable — so "put Palantir on the screen in the other building" is not a thing anyone can currently buy.
The control plane is the product. Chart analysis is abundant; remote input automation with a voice front end is not.
frontend/ is the site at https://chartremotely.tollbooth-dpyc.com: a welcome page, npub sign-in, a carousel of your screens with a live snapshot on request, and a profile for your balance and paired displays. It is built on @tollbooth-dpyc/web, the shared browser SDK, and deploys to Cloudflare Pages through the fleet's shared workflow on every push to main that touches frontend/.
cd frontend && npm install && npm run dev # tests run as part of npm run build
| Tool | Price | What it does |
|---|---|---|
get_shortcut | free | Returns the Apple Shortcut, ready to import |
pair_agent | free | Binds an agent to the caller's npub |
agent_status | free | Which displays are paired, and are they connected |
forget_display | free | Removes a display and the secret it signed in with |
show_chart | metered | Put a security on a paired display |
read_chart | metered | What a display is currently showing |
snapshot_display | metered | A JPEG of the display's chart window, right now - also kept as a capture |
latest_snapshot | metered | A kept capture: the newest, a symbol's newest, or one by capture id |
Every tool that takes an npub needs a proof of that npub (request_npub_proof, then receive_npub_proof); get_shortcut hands out a public file and does not.
A metered call to a display that never answers - offline, or not running the agent - is refunded, and so is one naming a display you do not have. A display keeps captures by symbol: the newest 6 of each of its last 20 symbols, sealed with the vault cipher, each for four hours. One lands after every chart change the agent pushes, and one with every snapshot_display (filed under the symbol the display says it shows, or "Chart"). The AAD binds each capture to its display, its symbol and its capture id. agent_status lists them per display - symbols by newest capture, each with its captures newest first - and latest_snapshot(capture=...) shows one exactly.
A picture reply leads with one line of text naming what is known about it - display, symbol, scale, capture time, e.g. Mac mini · PLTR · half · captured 2026-09-24 22:10 UTC - then the JPEG. Anything unknown is left out. The line survives when a client drops images to compact a long conversation, and it is all a client that cannot render images gets.
display may be said loosely: "mini mac", "mini" or "mack meeny" all find "Mac mini". A name that could mean several displays is answered with them (see PROTOCOL.md for the rules).
The vocabulary relayed to an agent is fixed, and the agent enforces it independently — see vocab.py in the agent repository. Nothing in this operator can reach an order ticket, an account balance, or a position. Widening that surface would require changes in both repositories, in public.
frontend/ hereApache-2.0