HeadlessTracker logo

HeadlessTracker

by tamasPetki

Aggregates read-only crypto, wallet, exchange, and Polymarket data locally through MCP tools and optional interactive panels.

Install HeadlessTracker

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "tamaspetki-headlesstracker": {
      "command": "npx",
      "args": [
        "-y",
        "headless-tracker"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

tamasPetki/HeadlessTracker MCP server aggregates read-only portfolio data from Bybit, Binance, EVM wallets, Solana, Hyperliquid, and Polymarket. It normalizes holdings, transactions, allocations, P&L, and prediction-market positions into MCP tools, while storing credentials in the operating system keychain. Use tamasPetki/HeadlessTracker MCP server when an agent needs a consolidated view of crypto, cash, stocks, or prediction-market positions without trading or transferring funds. Install it with npx headless-tracker; the project also provides dashboard and settings MCP Apps.

Use cases

  • Aggregate holdings across exchanges and wallets
  • Review Polymarket positions and redeemable outcomes
  • Inspect transaction history across configured accounts
  • Compare allocation by asset class, chain, or symbol
  • Render an interactive portfolio review dashboard

Key features

  • Read-only aggregation across six connectors
  • OS keychain credential storage
  • Holdings, transactions, P&L, and allocation tools
  • Polymarket position grouping and status fields
  • FIFO and average-cost history analysis
  • Portfolio and settings MCP App panels

Tools15

What HeadlessTracker lets your agent do. Expand a tool for its parameters.

Verified live~7.6k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

17/18 checks healthy over the last 78d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev · headless-tracker (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars6Stargazers on the source repository.
npm downloads3.1kPackage downloads in the last 30 days.
Last commit1mo agoMost recent push to the default branch.
Tools exposed15Callable tools this server registers over MCP.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How HeadlessTracker works

What tamasPetki/HeadlessTracker MCP server does

tamasPetki/HeadlessTracker MCP server provides a local-first data layer for viewing portfolio information from multiple account types. Supported connectors include Bybit, Binance Spot and Futures, MetaMask-compatible EVM wallets, Solana wallets, Hyperliquid, and Polymarket.

The server exposes normalized data for holdings, transaction history, profit and loss, allocation breakdowns, and Polymarket positions. Holdings can be filtered by account or asset class and displayed in USD, EUR, GBP, or HUF. Allocation results can group positions by asset class, connector, account, chain, or symbol. The server is read-only: its tools do not place orders, withdraw funds, or transfer assets.

How it works

Accounts are configured locally, and connector data is fetched from upstream exchange APIs and public blockchain or market data sources. Read-only credentials are stored in the OS keychain through the platform's credential storage, while public wallet addresses can be used without private credentials. Credentials are not returned by the account-listing tools.

Responses are cached separately by connector. Use refresh_data when the user explicitly needs fresh tracker data, then call a data tool such as get_holdings; refreshing only invalidates the SQLite cache and does not fetch results by itself. Non-USD display conversions use live foreign-exchange rates, with the source and retrieval time included in response metadata.

P&L supports account filters, time windows, and optional transaction-history analysis. FIFO and average-cost methods are available when history is included. Time-window comparisons are approximations based on the current basket and historical prices, and some connectors or tokens may be excluded when mappings or cost basis data are unavailable.

Setup and configuration

Run the server with npx headless-tracker. A demo command can show sample portfolio data without accounts, keys, or wallet addresses. The CLI can also be used to configure connectors and query holdings, P&L, or transactions without an MCP host.

The setup_connector tool supports Bybit, Binance, MetaMask, Polymarket, Solana, and Hyperliquid. Bybit and Binance use read-only API credentials. MetaMask setup uses a public address, selected chains, and an Etherscan API key for chain data. Polymarket uses a public proxy wallet, while Solana and Hyperliquid use public addresses; Hyperliquid requires no API key. Additional MetaMask or Solana addresses can be added later.

The server also supports custom ERC-20 tracking for MetaMask accounts. The dashboard and settings panels provide interactive MCP App interfaces for portfolio viewing, account management, wallet addresses, and custom tokens. If an MCP host does not render MCP Apps, the corresponding tool returns textual confirmation instead.

Tools and capabilities

  • Retrieve cross-account holdings with get_holdings.
  • Refresh connector caches with refresh_data.
  • Calculate aggregate or historical P&L with get_pnl.
  • Inspect grouped Polymarket positions with get_polymarket_positions.
  • Query trades, transfers, deposits, withdrawals, fees, and other transactions with get_transactions.
  • Compare portfolio concentration using get_allocations.
  • List, add, or remove configured accounts and wallet addresses.
  • Add, remove, and list custom ERC-20 tokens.
  • Render portfolio and settings MCP App panels.

Limitations and notes

tamasPetki/HeadlessTracker MCP server supplies portfolio data only and is not financial advice. It does not execute trades or move funds. Connector coverage differs: for example, transaction history includes full Bybit logs, MetaMask native and selected ERC-20 transfers, and recent Polymarket trades. MetaMask may not provide cost basis, and unknown transfer-in costs are not fabricated.

Cached results can be stale until refreshed. Historical P&L windows use daily free-tier price data, so a 24-hour comparison represents the prior day's close rather than a precise intraday calculation. Polymarket positions and tokens without supported price mappings may be skipped from some calculations.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about HeadlessTracker

tamasPetki/HeadlessTracker is an MCP server that connects to Bybit, Binance, EVM and Solana wallets, Hyperliquid, and Polymarket. Its main tools retrieve holdings, transactions, allocations, P&L, and prediction-market positions, while account setup and portfolio views remain read-only.

Install or run it with `npx headless-tracker`. You can also install it globally with npm, then configure connectors through the CLI or the server's settings panel.

Yes. The README names Cursor as a supported MCP host. Configure the server using the host's MCP settings and run it with `npx headless-tracker`.

Yes. Exchange credentials are intended to have read-only permissions, and the server does not provide tools for trading, withdrawals, or transfers. Secrets are stored in the OS keychain rather than returned to the model.

Yes. Solana, Hyperliquid, and Polymarket can use public addresses or a public proxy-wallet identifier without private API credentials. Hyperliquid uses the public trading address and requires no API key.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewHeadlessTracker AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/tamaspetki-headlesstracker?style=directory)](https://allmcps.com/mcp/tamaspetki-headlesstracker)
HTML Embed
<a href="https://allmcps.com/mcp/tamaspetki-headlesstracker"><img src="https://allmcps.com/api/badge/tamaspetki-headlesstracker?style=directory" alt="HeadlessTracker on AllMCPs" /></a>