bitvavo-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BITVAVO_API_KEY | Yes | API key from https://account.bitvavo.com/user/api | |
| BITVAVO_API_SECRET | Yes | The matching secret | |
| BITVAVO_MCP_DATA_DIR | No | Override 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
| 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 |
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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