Bitquery MCP connector
OAuth 2.1/DCR AnalyticsAIDatabasesConnect to Bitquery MCP. Query on-chain DEX trading data, token prices, OHLCV series, trader profiles, and trending tokens across multiple blockchains...
Bitquery MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'bitquerymcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Bitquery MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'bitquerymcp_find_currencies',toolInput: { query: 'YOUR_QUERY' },})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "bitquerymcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Bitquery MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={"query":"YOUR_QUERY"},tool_name="bitquerymcp_find_currencies",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Tokens trending, find — Find trending tokens by volume or trade count on a blockchain over a given time window
- Profile trader — Get a summary profile of a wallet’s recent trading behavior, including tokens traded and volume
- Positions trader — Retrieve the current token positions held by a trader wallet across blockchains
- Activity trader — Retrieve a wallet’s trading activity bucketed by time interval to show trading patterns
- Token top traders by, profitable traders by, accumulating traders by — Find the most active or highest-volume traders for a specific token over a given time window
- Pair top traders by — Find the top traders for a specific base/quote token pair over a given time window
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
bitquerymcp_accumulating_traders_by_token
#
Find wallets with the highest net buy volume for a token over a given time window. 5 params
Find wallets with the highest net buy volume for a token over a given time window.
address string required Token contract address. Lowercase 0x-hex for EVM; base58 for Solana/Tron. blockchain string required Token_Network — Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, or Solana. limit integer optional Max traders to return. min_net_buy_usd integer optional Filter out traders whose net accumulation is below this USD threshold. window_hours integer optional Look-back window in hours. Max 720 (30 days). bitquerymcp_currency_ohlcv
#
Retrieve OHLCV (open, high, low, close, volume) price series for a well-known currency like USDC, USDT, or WETH. 4 params
Retrieve OHLCV (open, high, low, close, volume) price series for a well-known currency like USDC, USDT, or WETH.
currency_id string required Currency_Id — lower-case name for well-known currencies (e.g. usdc, usdt, weth), or `bid:<blockchain>` for native currencies (e.g. bid:eth, bid:solana). interval_seconds integer optional Candle size in seconds. One of 1, 3, 5, 10, 30, 60, 300, 900, 1800, 3600. limit integer optional Max candles to return (most recent first). window_hours integer optional Look-back window in hours from now. Keep reasonable relative to interval size. bitquerymcp_currency_price
#
Get the latest price for a well-known currency such as USDC, USDT, or WETH. 1 param
Get the latest price for a well-known currency such as USDC, USDT, or WETH.
currency_id string required Currency_Id — lower-case name for well-known currencies (e.g. usdc, usdt, weth), or `bid:<blockchain>` for native currencies (e.g. bid:eth, bid:solana). bitquerymcp_currency_supply
#
Retrieve the total and circulating supply for a well-known currency. 1 param
Retrieve the total and circulating supply for a well-known currency.
currency_id string required Currency_Id — lower-case name for well-known currencies (e.g. usdc, usdt, weth), or `bid:<blockchain>` for native currencies (e.g. bid:eth, bid:solana). bitquerymcp_execute_sql
#
Execute a raw SQL query against the Bitquery blockchain data warehouse and return the results. 1 param
Execute a raw SQL query against the Bitquery blockchain data warehouse and return the results.
sql string required The SQL statement to execute. bitquerymcp_find_currencies
#
Search for well-known currencies by name or symbol and return matching results. 2 params
Search for well-known currencies by name or symbol and return matching results.
query string required Case-insensitive substring matched against Currency_Name and Currency_Symbol (e.g. "usdc", "ether"). limit integer optional Max rows to return. bitquerymcp_find_token_by_address
#
Look up a token's metadata and trading details using its contract address and blockchain. 2 params
Look up a token's metadata and trading details using its contract address and blockchain.
address string required Token address. Lowercase 0x-hex for EVM; base58 as-is for Solana/Tron. blockchain string required Token_Network — one of Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, Solana. bitquerymcp_find_tokens
#
Search for tokens by name or symbol across one or all blockchains and return matching results. 3 params
Search for tokens by name or symbol across one or all blockchains and return matching results.
query string required Case-insensitive substring matched against Token_Name and Token_Symbol (e.g. "pepe", "wrapped eth"). blockchain string optional Exact Token_Network to restrict to — one of Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, Solana. Pass empty string to search all chains. limit integer optional Max rows to return. bitquerymcp_pair_ohlcv
#
Retrieve OHLCV price series for a specific base/quote token pair on a given blockchain. 7 params
Retrieve OHLCV price series for a specific base/quote token pair on a given blockchain.
base_address string required Base token contract address (the asset being priced). Lowercase 0x-hex for EVM; base58 as-is for Solana/Tron. blockchain string required Token_Network — Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, or Solana. Base and quote must be on the same network. quote_address string required Quote token contract address (the asset the price is expressed in — e.g. WETH, USDC, WSOL). interval_seconds integer optional Candle size in seconds. One of 1, 3, 5, 10, 30, 60, 300, 900, 1800, 3600. limit integer optional Max candles to return (most recent first). quote_in string optional "usd" (default) for USD-priced candles; "quote" for candles priced in the quote token. window_hours integer optional Look-back window in hours from now. bitquerymcp_pair_price
#
Get the latest price of a base token denominated in a quote token on a given blockchain. 3 params
Get the latest price of a base token denominated in a quote token on a given blockchain.
base_address string required Base token contract address (the asset whose price and supply you want). Lowercase 0x-hex for EVM; base58 as-is for Solana/Tron. blockchain string required Token_Network — Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, or Solana. Base and quote must be on the same network. quote_address string required Quote token contract address (the asset the price is expressed in — e.g. WETH, USDC, WSOL). bitquerymcp_profitable_traders_by_token
#
Find the most profitable traders (by realized PnL) for a token over a given time window. 5 params
Find the most profitable traders (by realized PnL) for a token over a given time window.
address string required Token contract address. Lowercase 0x-hex for EVM; base58 for Solana/Tron. blockchain string required Token_Network — Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, or Solana. limit integer optional Max traders to return. min_pnl_usd integer optional Filter out traders whose estimated total P&L is below this USD threshold. window_hours integer optional Look-back window in hours. Max 720 (30 days). bitquerymcp_token_ohlcv
#
Retrieve OHLCV price series for a token by contract address on a given blockchain. 5 params
Retrieve OHLCV price series for a token by contract address on a given blockchain.
address string required Token contract address. Lowercase 0x-hex for EVM; base58 as-is for Solana/Tron. blockchain string required Token_Network — Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, or Solana. interval_seconds integer optional Candle size in seconds. One of 1, 3, 5, 10, 30, 60, 300, 900, 1800, 3600. limit integer optional Max candles to return (most recent first). window_hours integer optional Look-back window in hours from now. Keep reasonable relative to interval size (e.g. 24 for 1m candles, 720 for 1h candles). bitquerymcp_token_price
#
Get the latest price and market cap for a token by its contract address. 2 params
Get the latest price and market cap for a token by its contract address.
address string required Token contract address. Lowercase 0x-hex for EVM; base58 as-is for Solana/Tron. blockchain string required Token_Network — Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, or Solana. bitquerymcp_token_supply
#
Retrieve the total and circulating supply for a token by its contract address. 2 params
Retrieve the total and circulating supply for a token by its contract address.
address string required Token contract address. Lowercase 0x-hex for EVM; base58 as-is for Solana/Tron. blockchain string required Token_Network — Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, or Solana. bitquerymcp_top_traders_by_network
#
Find the most active or highest-volume DEX traders on a blockchain over a given time window. 5 params
Find the most active or highest-volume DEX traders on a blockchain over a given time window.
blockchain string required Token_Network — Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, or Solana. limit integer optional Max traders to return. min_trade_usd integer optional Minimum per-trade USD size to count. 0 = all trades. sort string optional One of volume_usd, trades. window_hours integer optional Look-back window in hours. Keep small — max 24. bitquerymcp_top_traders_by_pair
#
Find the top traders for a specific base/quote token pair over a given time window. 6 params
Find the top traders for a specific base/quote token pair over a given time window.
base_address string required Base token contract address (the asset whose net position you want to measure). Lowercase 0x-hex for EVM; base58 for Solana/Tron. blockchain string required Token_Network — Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, or Solana. quote_address string required Quote token contract address (the asset used to price the base — e.g. WETH, USDC, USDT). limit integer optional Max traders to return. sort string optional One of volume_usd, trades, net_buy_usd, realized_usd. window_hours integer optional Look-back window in hours. Max 720 (30 days). bitquerymcp_top_traders_by_token
#
Find the most active or highest-volume traders for a specific token over a given time window. 5 params
Find the most active or highest-volume traders for a specific token over a given time window.
address string required Token contract address. Lowercase 0x-hex for EVM; base58 as-is for Solana/Tron. blockchain string required Token_Network — Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, or Solana. limit integer optional Max traders to return. sort string optional One of volume_usd, trades, net_buy_usd, realized_usd. window_hours integer optional Look-back window in hours. Max 720 (30 days). bitquerymcp_trader_activity
#
Retrieve a wallet's trading activity bucketed by time interval to show trading patterns. 4 params
Retrieve a wallet's trading activity bucketed by time interval to show trading patterns.
trader_address string required Wallet address. Lowercase 0x-hex for EVM; base58 as-is for Solana/Tron. bucket string optional Time-bucket granularity. One of minute, fifteenmin, hour (default), day. limit integer optional Max buckets to return (most recent first). window_hours integer optional Look-back window in hours. Max 720 (30 days). bitquerymcp_trader_positions
#
Retrieve the current token positions held by a trader wallet across blockchains. 6 params
Retrieve the current token positions held by a trader wallet across blockchains.
trader_address string required Wallet address. Lowercase 0x-hex for EVM; base58 as-is for Solana/Tron. blockchain string optional Optional Token_Network filter. Pass '' for all chains. limit integer optional Max positions to return. min_position_usd integer optional Keep only positions whose |Position_Value_Usd| ≥ this USD threshold. sort string optional One of position_usd, pnl_usd, realized_usd, volume_usd, last_trade. window_hours integer optional Look-back window in hours. Max 720 (30 days). bitquerymcp_trader_profile
#
Get a summary profile of a wallet's recent trading behavior, including tokens traded and volume. 2 params
Get a summary profile of a wallet's recent trading behavior, including tokens traded and volume.
trader_address string required Wallet address. Lowercase 0x-hex for EVM; base58 as-is for Solana/Tron. window_hours integer optional Look-back window in hours. Max 720 (30 days). bitquerymcp_trending_tokens
#
Find trending tokens by volume or trade count on a blockchain over a given time window. 5 params
Find trending tokens by volume or trade count on a blockchain over a given time window.
blockchain string optional Token_Network to restrict to — Ethereum, Arbitrum, Base, Matic, Optimism, Binance Smart Chain, Tron, Solana. Pass empty string for all chains. limit integer optional Max tokens to return. min_volume_usd integer optional Minimum window USD volume to be included. Raise when ranking by price change to avoid illiquid noise. sort string optional One of volume_usd, gainers, losers, price_change. window_hours integer optional Look-back window in hours. Typical 1, 6, 24. Max 168.