Skip to main content
Glama
aderik

bitvavo-mcp

by aderik

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BITVAVO_API_KEYYesAPI key from https://account.bitvavo.com/user/api
BITVAVO_API_SECRETYesThe matching secret
BITVAVO_MCP_DATA_DIRNoOverride the SQLite location (default ~/.bitvavo-mcp/)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
pingA

Verify the connection and credentials against Bitvavo. Calls the public time endpoint and the private account endpoint to confirm the API key/secret are valid. Returns server time, account fee tier, and the remaining rate-limit budget.

get_balanceA

List balances per asset on the Bitvavo account. Each entry has symbol, available (free to use), and inOrder (locked in open orders). Zero balances are filtered out unless include_zero=true.

get_portfolio_valueA

Compute the total portfolio value in quote (default EUR). Sums available + inOrder per asset and multiplies by the latest price on the {asset}-{quote} market. Assets without a direct market against quote are listed separately under unpriced and excluded from the total.

get_tickerA

Live 24-hour ticker for one market (e.g. 'BTC-EUR'). Returns open / high / low / last / volume / bid / ask. Public endpoint.

get_marketsA

List markets available on Bitvavo. By default only EUR-quoted, trading markets. Pass quote=null or status=null to disable a filter.

get_tradesA

Your own filled trades on a specific market (e.g. 'BTC-EUR'). Newest first. Each trade has timestamp, side, amount, price, fee, feeCurrency.

get_depositsC

Deposit history — fiat (EUR) and crypto. Optionally filter by symbol.

get_withdrawalsA

Withdrawal history — fiat (EUR) and crypto. Optionally filter by symbol.

get_open_ordersA

Orders that are placed but not yet (fully) filled. Without a market filter returns open orders across every market on the account.

get_candlesA

Historical OHLCV candles for a market (e.g. 'BTC-EUR'). Use this for trend analysis, charts, or computing technical indicators over a custom time window. Interval defaults to 1d, limit to 100 candles. Returned newest-first; each row has timestamp (unix ms), open, high, low, close, volume.

get_trendA

Multi-period trend digest for a market: percentage changes over 24h / 7d / 30d / 90d / 1y, plus the high and low within the past year. When you have imported transactions for the base asset, also compares the current price to your average cost basis and reports your unrealized P&L on the position.

import_transactionsA

Import a Bitvavo CSV transaction export into the local SQLite store. Idempotent — rows with a known transaction_id are updated in place. After import, get_pnl uses these records as the canonical source so Quick Buy/Sell, Convert, staking and rebate activity all become visible.

get_transactionsA

Query the locally-stored transaction history (populated via import_transactions). Newest first. Without filters returns the most recent 100 rows. Combine currency + type to narrow.

get_pnlA

Profit & loss per asset, using the average-cost method. Walks every asset's trade history to derive an average cost basis, then compares to the latest market price. Returns per-position cost basis, market value, unrealized + realized P&L, plus portfolio totals.

Source priority: locally-imported transactions (via import_transactions) are preferred when available — these include Quick Buy/Sell, Convert, staking and rebate activity that the live API does not expose. When local data is present every traded asset is scanned, so fully-sold positions show their realized P&L too. Without local data, falls back to the live /trades endpoint and only assets with a current non-zero balance are visible.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aderik/bitvavo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server