Read-only local crypto portfolio aggregation for exchanges, wallets, and prediction markets through MCP.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by HeadlessTracker.
get_holdingsCurrent holdings across all accounts
get_pnlAggregate profit/loss summary
get_polymarket_positionsPolymarket-specialized, event-grouped
get_transactionsTransaction history with `since` filter
get_allocationsGroup-by breakdown (asset class / connector / chain / symbol)
refresh_dataForce cache invalidation
๐ค This project is being developed and maintained autonomously by Hex, an AI dev agent. Decisions log: decisions.md ยท Daily build log: daily-log.md ยท Hex on Bluesky ยท Solo team. No human in the dev loop.
โ ๏ธ Not financial advice. HeadlessTracker is a portfolio data aggregation tool. For informational purposes only. See DISCLAIMER.md for full text.
A read-only MCP server that lets your AI host (Claude Desktop, Claude Code, Cursor, ChatGPT) see your whole crypto portfolio across exchanges, on-chain wallets, and prediction markets โ without ever giving it your API keys, and with no ability to trade or move funds. It reads the numbers; it can't touch the money.
โ What your AI host renders from HeadlessTracker's data โ one question, six venues, one view. The server returns the numbers; the host draws the picture. (Sample data; the visual is what a host renders on top of the tool output.)
โ And the raw input: real output of npx headless-tracker demo โ six venues, no accounts, no API keys. Then ask your AI host about it.
โ Same data, a different question. Ask โhow are my positions doing?โ and your AI renders a trader view instead. There is no single dashboard โ the host draws the one you ask for. (Templates coming: contribute a view, not a connector.)
The thesis: AI hosts (Claude Desktop, Claude Code, Cursor, ChatGPT) generate dashboards on demand from structured data. Building yet another tracker UI is wasted work in 2026 โ there is no single UI to build, your AI renders whatever view you ask for. Build the data layer; let the AI host be the renderer.
Status: Production-ready and live on npm (version badge above). Six connectors (Bybit, Binance, MetaMask/EVM, Solana, Hyperliquid, Polymarket), 15 MCP tools, an interactive multi-tab dashboard panel, a CLI for terminal queries, and a 428-test suite. Runs under plain Node (npx headless-tracker) or Bun, working end-to-end with Claude Desktop.
portfolio-dashboard, weekly-review, risk-check โ see TEMPLATES.md, and contribute a viewshow holdings / pnl / transactions (no Claude required)--timeframe=24h|7d|30d|ytd)See ROADMAP.md for what's done, what's next, and what's intentionally out of scope.
Connects to your accounts (read-only), normalizes everything into a single schema, exposes it as MCP tools. Then you ask Claude (or any MCP host):
The AI host generates the chart, the table, the breakdown. You don't build a UI.
The zero-setup version โ one command, no accounts, no keys, not even an address. See a full sample portfolio (five venues; crypto + cash + prediction markets) rendered exactly as your AI host receives it:
It also prints the plain-English questions you'd ask Claude ("what do I own across everything?", "how is it split?") mapped to the MCP tool that answers each. When you want your own numbers, it's the same loop with a real address or read-only key:
You shouldn't have to hand a new tool your exchange keys just to find out whether it's any good. Solana, Hyperliquid, and Polymarket read public on-chain addresses, so you can point HeadlessTracker at any wallet you can see (your own included) with zero credentials. (Hyperliquid is fully keyless โ perp positions, account equity, and spot balances all read from just the address you trade from.)
(Example output; the account id is shortened here for width. Your numbers come from the live chain.)
That is the whole loop: install, point at a public address, see normalized holdings. When you want your private accounts (Bybit, Binance), setup those too. Every connector uses read-only credentials, kept in your OS keychain, never written to disk and never sent anywhere except the exchange's own API. Then wire it into Claude and ask "what do I own?" to get the same data as a chat-native dashboard.
setup also runs without prompts โ pass flags, and keep any secret in an environment variable (never on the command line, so it stays out of your shell history):
Headless / no OS keychain (Docker, WSL, many Linux servers, CI): there's no Secret Service to write to, so setup registers the account and prints the exact HEADLESS_TRACKER_<CONNECTOR>_<ACCOUNT> env var to set with a JSON credential object โ e.g. HEADLESS_TRACKER_SOLANA_<ADDR>='{"address":"โฆ","dustThresholdUsd":0.5}'. Set it in your MCP server's environment and the data tools read credentials from there. Nothing is ever written to disk.
For hosts that support MCP Apps โ Claude Desktop, ChatGPT, Goose, VS Code โ say:
Show my dashboard
The host renders a sandboxed iframe in the chat panel with three live tabs:
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/tamaspetki-headlesstracker)<a href="https://allmcps.com/mcp/tamaspetki-headlesstracker"><img src="https://allmcps.com/api/badge/tamaspetki-headlesstracker?style=directory" alt="HeadlessTracker on AllMCPs" /></a>