DEV Community

Lloyd
Lloyd

Posted on

How I built a headless crypto portfolio tracker with MCP

I've been running positions across Bybit, Binance, a few MetaMask wallets on different EVM chains, a Solana wallet, and some Polymarket predictions for a while now. The problem wasn't tracking any single one of them — every exchange has decent UI. The problem was that I had no single place to see the full picture, and every time I wanted to check my total exposure I was opening six tabs, doing mental math, and still probably missing something.

I looked for an existing solution. Most portfolio trackers require you to paste in API keys through their web UI, hand your data to someone's server, and then look at their dashboards on their terms. That wasn't what I wanted.

So I built HeadlessTracker — an MCP server that connects directly to your accounts and exposes your portfolio data as tools that Claude Desktop (or any MCP-compatible AI host) can call.

The core idea: you decide what the dashboard looks like

HeadlessTracker ships with a built-in MCP app — but "built-in" doesn't mean fixed. The dashboard is rendered by Claude itself.

Ask for a simple text summary and you get that. Ask for an interactive HTML breakdown by chain, a JSX component sorted by unrealized P&L, or a table grouped by asset class — Claude generates it as an Artifact, right there in the conversation. The UI is whatever you ask for, not what someone else decided it should be.

And because your portfolio data is live inside Claude's context, the dashboard and the conversation are the same thing. You can go from "show me my total exposure" to "walk me through the concentration risk in my ETH positions" without switching tools or copying numbers between tabs. Your AI already has the data — you're just asking questions.

That's the actual shift. Not a better dashboard — a completely different model for how you interact with your own financial data.

What's connected

Five connectors so far:

  • Bybit and Binance — spot balances, open positions, unrealized P&L
  • MetaMask / EVM — six chains: Ethereum, Polygon, BSC, Arbitrum, Optimism, Base
  • Solana — native SOL plus SPL tokens
  • Polymarket — active prediction market positions

Quick start

git clone https://github.com/tamasPetki/HeadlessTracker
cd HeadlessTracker && bun install
npx headlesstracker setup-bybit --apiKey YOUR_KEY --apiSecret YOUR_SECRET
Enter fullscreen mode Exit fullscreen mode

Add the server to your claude_desktop_config.json, then ask: "What's my total portfolio value across all accounts?"

On the "headless" part

No web app. No SaaS. Your API keys stay on your machine — every request goes directly from your device to the exchange APIs. Nothing passes through a third-party server.

317 tests, CI green, MIT license.

https://github.com/tamasPetki/HeadlessTracker

Top comments (0)