mcp-exchange-interface-bitpanda
A Model Context Protocol wrapper providing structured remote procedure calls for interacting with the Bitpanda financial platform's trading, account management, and market data endpoints.
Author

matteoantoci
Quick Info
Actions
Tags
MCP Interface for Bitpanda Exchange Access
This server implements the Model Context Protocol (MCP) to expose a suite of tools for secure, programmatic manipulation and retrieval of data pertaining to the Bitpanda exchange ecosystem, covering account holdings, transaction history, and real-time market feeds.
Prerequisites for Operation
To successfully invoke the functionalities provided by this service, ensure the following prerequisites are met:
- Runtime Environment: Node.js, version 18 or newer is advised.
- Package Manager: npm (typically bundled with Node.js).
- Authentication Credential: A valid Bitpanda API Key must be provisioned and accessible via the
BITPANDA_API_KEYenvironment variable. - Client Application: An MCP-compliant execution agent (e.g., a specialized CLI or IDE extension) is required to communicate with this endpoint.
Deployment and Initialization
-
Acquire Source: Clone the repository or navigate to the existing project directory.
-
Dependency Installation: Execute the following command in your terminal: bash npm install
-
Compilation Step: Build the project artifacts: bash npm run build
This action generates the necessary executable files within the build/ directory.
Installation via Smithery Registry
Automatic setup for Claude Desktop environments using the Smithery utility:
bash npx -y @smithery/cli install @matteoantoci/mcp-bitpanda --client claude
Server Execution Procedures
- Direct Invocation: Run the compiled script: bash node build/index.js
Alternatively, use the designated start script if available: bash npm run start
- Via Standardized MCP Runner: Configure your client transport mechanism to use stdio communication. A sample configuration snippet might resemble this:
"mcp-bitpanda": { "transportType": "stdio", "command": "node", "args": [ "/path/to/mcp-bitpanda/build/index.js" ] // Securely inject necessary environmental secrets here "environmentVariables": { "BITPANDA_API_KEY": "YOUR_BITPANDA_API_KEY_HERE" } // ... additional transport configuration ... }
Functionality Catalogue (Available Tools)
-
get_asset_info: Fetches exhaustive metadata for a specified tradable asset, identified by its market symbol (e.g., BTC, ETH).- Inputs:
symbol(string, mandatory). - Constraint: This function operates without requiring authentication credentials.
- Inputs:
-
get_ohlc: Retrieves aggregated Open, High, Low, Close price data for a given asset pair over a defined interval.- Inputs:
symbol(string, mandatory): The primary trading pair designation.fiatCurrency(string, mandatory): The settlement currency (e.g., EUR, USD).timeframe(string, mandatory): Must be set to "day" or "week".
- Constraint: This function operates without requiring authentication credentials.
- Inputs:
-
list_trades: Fetches the user's recorded trading history from the API, ordered from most recent to oldest. Pagination is supported via a cursor.- Inputs:
type(string, optional): Filter by transaction direction:buyorsell.cursor(string, optional): An identifier marking the last retrieved record; subsequent records are fetched based on this marker.page_size(integer, optional): Defines the maximum number of records returned per batch.
- Inputs:
-
list_asset_wallets: Retrieves a comprehensive list of all asset-backed wallets held by the user, categorized by asset type.- Inputs: None.
-
list_fiat_wallets: Retrieves a comprehensive list of all fiat currency holdings managed by the user.- Inputs: None.
-
list_fiat_transactions: Retrieves the chronological ledger of fiat currency movements (deposits, withdrawals, transfers, etc.). Results are cursor-paginated.- Inputs:
type(string, optional): Filter by operation type:buy,sell,deposit,withdrawal,transfer,refund.status(string, optional): Filter by current processing state:pending,processing,finished,canceled.cursor(string, optional): Pagination anchor for sequencing.page_size(integer, optional): Maximum entries per result set.
- Inputs:
-
list_crypto_wallets: Retrieves a comprehensive list of all cryptocurrency holdings managed by the user.- Inputs: None.
-
list_crypto_transactions: Retrieves the chronological ledger of cryptocurrency operations (buys, sells, transfers, etc.). Results are cursor-paginated.- Inputs:
type(string, optional): Filter by operation type:buy,sell,deposit,withdrawal,transfer,refundorico.status(string, optional): Filter by processing state:pending,processing,unconfirmed_transaction_out,open_invitation,finishedorcanceled.cursor(string, optional): Pagination anchor for sequencing.page_size(integer, optional): Maximum entries per result set.
- Inputs:
-
list_commodity_transactions: Retrieves the chronological ledger of commodity transactions (e.g., gold, silver). Results are cursor-paginated.- Inputs:
cursor(string, optional): Pagination anchor for sequencing.page_size(integer, optional): Maximum entries per result set.
- Inputs:
Extensibility Guidelines
To incorporate supplementary Bitpanda API functionalities, implement the corresponding tool definition within the src/tools/ directory and ensure its registration is documented in src/tools/index.ts.
