
Chartremotely Mcp
io.github.lonnievPublished by GitHub account lonnievv0.4.0Updated Nov 4, 2026
ChartRemotely — put a security on a desktop chart anywhere in the world, by voice or by tool call
Overview
Remote MCP operator that relays chart commands to agents on your own Macs, putting a security on a paired desktop display and returning snapshots.
- What you can do
- Pair and manage displays: bind an agent to your npub, list paired displays and connection status, remove a display and its secret, and fetch the Apple Shortcut for voice use.
- Show and read charts: put a security on a paired display and ask what it is currently showing.
- Capture screenshots: take a JPEG of a display's chart window now, or retrieve a kept capture by newest, by symbol, or by capture id.
- Prove identity: every npub-based tool requires a proof of that npub through a request and receive step.
- When to use it
- Useful when you want an assistant to drive a desktop charting application that has no API, such as thinkorswim, on a machine you control, including by voice through a shortcut. It suits remote or multi-display setups where you want to change or inspect what a wall monitor shows.
- Requirements
- A remote streamable HTTP endpoint with OAuth sign-in required. You need an npub identity and proof of it for most tools, plus at least one paired display running the separate agent on your own Mac. Metered tools are billed per request against your balance.
Installation
In SourceWeft
- Open Chartremotely Mcp in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.lonniev%2Fchartremotely-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"chartremotely": {
"type": "http",
"url": "https://chartremotely-mcp.fastmcp.app/mcp"
}
}
}README
ChartRemotely — operator
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.
Why this exists
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.
Web app
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/.
Tools
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).
What it deliberately cannot do
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.
Related
- ChartRemotely-agent — runs on the patron's Mac
- chartremotely.tollbooth-dpyc.com — the web app, built from
frontend/here
License
Apache-2.0
Source: README.md at commit 53339c3
Tools
0Version history
1- v0.4.0LatestOct 21, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts