BitPin MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BITPIN_API_KEY | No | BitPin API Key (created in BitPin web panel under API settings). Optional for public market data. | |
| BITPIN_BASE_URL | No | Base API URL for BitPin | https://api.bitpin.ir |
| BITPIN_SECRET_KEY | No | BitPin Secret Key (created in BitPin web panel under API settings). Optional for public market data. | |
| BITPIN_ACCESS_TOKEN | No | BitPin JWT Bearer access token (if providing token directly). Optional. | |
| BITPIN_REFRESH_TOKEN | No | BitPin JWT refresh token (if providing token directly). Optional. |
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 |
|---|---|
| bitpin_authenticateA | Authenticate with BitPin API using API Key and Secret Key to obtain JWT access and refresh tokens. IMPORTANT: BitPin API tokens are restricted to predefined IPs registered in their Token Manager; calling from any non-whitelisted IP will cause HTTP 403 Forbidden. Rate limit: 200/day. Resulting tokens are cached automatically for subsequent requests. |
| bitpin_refresh_tokenA | Refreshes an expired BitPin JWT access token using a refresh token. Rate limit: 200/day. |
| bitpin_set_access_tokenA | Manually set or update the active BitPin Bearer access token for the current session. |
| bitpin_get_currenciesA | Get a list of all supported cryptocurrencies and fiat currencies on BitPin, including symbol, title, precision, and trading status. Rate limit: 10,000/day (public) or 200/min (authenticated). |
| bitpin_get_marketsA | Get a list of all trading markets/pairs on BitPin with base/quote currencies, minimum order sizes, and price precisions. Rate limit: 10,000/day (public) or 200/min (authenticated). |
| bitpin_get_networksA | Get all supported blockchain networks on BitPin with deposit and withdrawal statuses, regex address validation patterns, and confirmation requirements. |
| bitpin_get_tickersA | Get real-time market prices, 24h percentage changes, high, low, and volumes for all trading pairs on BitPin. Rate limit: 80/min. |
| bitpin_get_orderbookA | Get orderbook (bids and asks) for a specified market pair on BitPin. Maximum 20 rows returned per side. Rate limit: 60/min. |
| bitpin_get_recent_tradesA | Get the latest executed public trades/matches for a specified market pair on BitPin. Rate limit: 60/min. |
| bitpin_get_commissionsA | Get maker and taker commission rates for all markets on BitPin. Requires authentication. Rate limit: 1000/day. |
| bitpin_place_orderA | Place a new cryptocurrency order on BitPin. Supports "limit", "market", "stop_limit", and "oco" orders. Accepts English or Persian inputs (e.g. "خرید" for buy, "فروش" for sell, Persian numerals). Requires authentication. |
| bitpin_place_bulk_ordersB | Place up to 10 orders simultaneously on a single market in BitPin. Requires authentication. |
| bitpin_get_ordersA | Get active orders and closed orders from the last 7 days on BitPin. Filter by symbol, state ("active", "closed", "initial" or Persian "فعال", "بسته"), side, and date range. Rate limit: 80/min. Requires authentication. |
| bitpin_get_order_by_idA | Get details and status of a single order by its BitPin order ID. Rate limit: 80/min. Requires authentication. |
| bitpin_cancel_orderA | Cancel an active open order on BitPin by its order ID. Rate limit: 5400/hour. Requires authentication. |
| bitpin_cancel_bulk_ordersA | Cancel multiple active orders at once by providing a list or comma-separated string of BitPin order IDs. Requires authentication. |
| bitpin_get_fillsA | Get personal executed trade history (fills) on BitPin. Filters: symbol, side ("buy"/"sell" or Persian "خرید"/"فروش"), offset, limit. Rate limit: 80/min. Requires authentication. |
| bitpin_get_wallet_balancesA | Get user wallet balances per asset on BitPin. Filters: assets (e.g. "BTC,IRT,USDT" or Persian "بیت کوین،تتر،تومان"), service (e.g. "main"), offset, limit (max 200). Rate limit: 60/min. Requires authentication. |
| bitpin_get_account_numbersA | Get user registered bank accounts (IBAN/card numbers) for Toman (IRT) withdrawals on BitPin. Rate limit: 60/min. Requires authentication. |
| bitpin_get_deposit_addressA | Get or generate a deposit address for a specific cryptocurrency on a blockchain network in BitPin. Requires KYC level 1+. Rate limit: 60/min. Requires authentication. |
| bitpin_get_deposit_historyA | Get deposit history on BitPin. Filters: currency, network, state, is_crypto, wallet_transfer. Rate limit: 60/min. Requires authentication. |
| bitpin_get_withdrawal_historyA | Get withdrawal history on BitPin. Filters: currency, address, state, start/end dates. Rate limit: 10,000/day. Requires authentication. |
| bitpin_create_crypto_withdrawalB | Submit a cryptocurrency withdrawal request from BitPin to an external blockchain wallet. Requires subsequent OTP confirmation. Requires authentication. |
| bitpin_create_irt_withdrawalA | Submit an Iranian Toman (IRT) withdrawal to a registered bank account on BitPin. Requires subsequent OTP confirmation. Requires authentication. |
| bitpin_create_internal_withdrawalA | Perform an instant, zero-fee cryptocurrency transfer to another BitPin user using their registered mobile phone number or email address. Requires authentication. |
| bitpin_verify_withdrawal_otpB | Verify and confirm a pending withdrawal using a 6-digit Authenticator code (OTP) and/or SMS OTP. Success confirms the withdrawal. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 26 tools
Most tools target clearly distinct resources and actions (markets, tickers, orderbook, orders, deposits, withdrawals). A few clusters need care—three withdrawal-creation tools (internal/crypto/irt) and three auth-related tools—but their descriptions make the boundaries clear. No true duplicates.
Strong, consistent snake_case with a bitpin_ prefix and verb_noun pattern (get_markets, place_order, cancel_bulk_orders, create_crypto_withdrawal). Minor deviation where a couple tools use verb-only names (authenticate, refresh_token) instead of verb_noun, but still uniform in style.
26 tools is at the upper edge but justified by the breadth of a full crypto-exchange API spanning auth, market data, wallets, deposits, withdrawals, and order lifecycle. Each tool maps to a distinct endpoint; nothing feels padding.
Lifecycle coverage is essentially complete: auth (login/refresh/set token), public market data, balances, deposit addresses and history, all withdrawal types plus OTP confirmation, and full order CRUD with bulk variants and fills. No obvious dead ends for trading or wallet workflows.