Provides access to Base blockchain data through Coinbase Developer Platform's SQL API, enabling agents to query blocks, events, transfers, transactions, and encoded logs. Includes common Base contract addresses, SQL query templates for DeFi and NFT analytics, ENS/Basename resolution, and direct SQL execution against realtime Base chain data.
Can be deployed to Vercel to provide HTTP endpoint access for MCP server functionality, enabling integration with ChatGPT and other clients that require URL-based MCP servers.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BaseQL MCP Servershow me recent large USDC transfers on Base"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π¦ BaseQL MCP Server π¦

all Base chain data at your agent's fingertips π₯
about
the SQL API from Coinbase Developer Platform (CDP) indexes all Base chain data across blocks, events, tranfers, transactions, and encoded logs, and lets you (or your agent) submit SQL queries against that rich dataset
this is powerful because you don't need blockchain data infrastructure like indexers anymore; you simply call SQL API and get hyper-fresh data (<500ms to tip of chain) at blazing-fast latencies (<200ms)
BUT agents need some help to use this powerful tool
the BaseQL MCP Server gives an agent all the info and tools it needs to call SQL API independently, enabling the user to fetch relevant Base chain data using natural language π
what does BaseQL MCP Server include?
agents using BaseQL get:
common Base contract addresses (USDC, WETH, AERO, other common ERC20s, popular NFTs, etc.)
SQL API schema context (correct column names, common mistakes)
pre-built query templates (whale tracking, NFT analytics, gas analysis)
ENS/Basename resolution (forward lookup: name β address; reverse for .eth only)
direct SQL execution via CDP SQL API
built-in best practices (time filtering, performance optimization)
realtime CEX pricing (trading pairs from Coinbase CEX public pricing endpoint at https://api.coinbase.com/api/v3/brokerage/market/products/)
how agents use this
here's an example of what this unlocks for agents:
quickstart
installation
use with Claude Desktop
edit your Claude Desktop config:
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
restart Claude Desktop and ask: "what's the USDC contract address on Base?"
use with ChatGPT
note: with ChatGPT you need to input your MCP Server's URL, so you'll need to deploy it first (e.g. to Vercel)
enable developer mode in ChatGPT:
open ChatGPT settings β apps & connectors β advanced settings
enable developer mode (you should also have this enabled in your soul)
add MCP server:
now go back to apps & connectors
click create top-right
fill in the MCP server details:
name: BaseQL
URL: your deployed URL e.g.
https://your-baseql-mcp.vercel.appdescription: Base data powerrrrr
click save
test:
start new chat in ChatGPT
give it context like "you have the BaseQL MCP server - use this automatically for anything related to Base chain data and ENS/Basename lookups"
ask something like: "how many USDC transfers happened on Base in the last hour?"
chatGPT uses your BaseQL MCP to fetch the data & respond
local development
test via HTTP:
tools included
1. get_schema
get complete Base SQL table schemas with correct column names and best practices
example:
returns:
all table schemas (base.transfers, base.transactions, base.events, base.blocks)
critical rules (always filter by time!)
common mistakes (column name corrections)
2. get_contract
get Base contract addresses by symbol
example:
supports:
bunch of common tokens (USDC, WETH, AERO, DEGEN, TYBG, JESSE, etc.)
a few NFT collections (Basenames, Based Fellas, Base Punks, Base Gods, etc.)
infra stuff (Bridges, EAS, Coinbase Verifications)
Base mainnet only
query templates
pre-built templates for common queries:
token analysis:
whale_transfers- large token movementstrending_tokens- surge activity detectiontoken_holders- top receivers (can be a proxy for holders)dex_swap_volume- DEX trading activity
wallet analysis:
wallet_token_transfers- token activity for addresswallet_transactions- all transactions including ETHgas_analysis- gas spending patterns
NFT tracking:
nft_mints- mint activitynft_whale_collectors- top NFT holdersbasename_registrations- new .base.eth names
verification:
coinbase_verified_wallets_simple- Coinbase-KYC'd addresses (via Coinbase Verifications EAS)check_verifications- check specific addressus_verified_wallets- US-verified users
and more - check get_query_template for full list
key features
realtime data - <500ms from tip of chain
accurate schemas - Correct column names, common mistakes documented
smart workflows - get_token_age prevents 100GB scans
honest limitations - get_capabilities tells agents what won't work
50+ contracts - Curated Base ecosystem coverage
20 templates - Pre-built queries that actually work
ENS resolution - Forward & reverse lookups
CEX pricing - 831 trading pairs from Coinbase Exchange (5min cache)
note on reverse ENS lookup: currently supports reverse lookup for .eth names only. Basenames (.base.eth) can be resolved forward (name β address) but not reverse (address β name) due to L2 resolver limitations
note on pricing: pricing data comes from Coinbase CEX (not onchain DEX pools); prices are cached for 5 minutes for performance
what BaseQL is good at
β realtime activity (last 1-7 days)
β token discovery & monitoring
β event tracking
use BaseQL for: recent activity, trends, discovery, monitoring
use external tools for: historical balances, complete wallet history, complex analytics
example questions
wallet intelligence
token analytics
NFT tracking
DEX intelligence
chain-wide insights
discovery
architecture
BaseQL provides:
context (contracts, schemas, templates)
execution (runs queries via CDP)
intelligence (best practices, optimization)
configuration
environment variables
get CDP API credentials from CDP Portal
if you have ENABLE_PAYMENTS set to true the code will automatically provision a CDP Server Wallet for your MCP Server to receive the x402 payments
modes
stdio mode (for Claude Desktop):
uncomment stdio transport in server.ts
uses stdin/stdout
HTTP mode (for testing/custom agents):
comment out stdio transport
runs on PORT (default 4000)
why BaseQL MCP Server is dope
accurate schema
learned the hard way that Base SQL tables have inconsistent column names:
base.transfersβtoken_address,block_timestampbase.eventsβaddress,block_timestampbase.transactionsβfrom_address,timestamp(NOT block_timestamp)
BaseQL documents all these gotchas, making it easy for your agent to use CDP SQL API
guardrails
queries without time filters can scan 100GB+ and fail; BaseQL teaches agents to always filter by time first
realtime data
CDP SQL API is < 500ms from tip of chain, so BaseQL queries get near-instant Base data
license
MIT