npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

unofficialmcp-gcp-web3-public-datasets

v1.0.0

Published

Unofficial MCP server for querying Google's Web3 public datasets on BigQuery — blockchain transactions, balances, smart contracts, DeFi, NFTs. 23 tools, 17 chains, built-in cost controls.

Readme

GCP Web3 Datasets MCP Server (Unofficial)

Unofficial MCP server for querying Google's Web3 public datasets on BigQuery. 17 blockchain chains, 23 tools, built-in cost controls.

Quick Start

npm install -g unofficialmcp-gcp-web3-public-datasets

Or use directly with npx:

npx unofficialmcp-gcp-web3-public-datasets

Add to Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "gcp-web3-datasets": {
      "command": "npx",
      "args": ["unofficialmcp-gcp-web3-public-datasets"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/bigquery-key.json",
        "GCP_PROJECT_ID": "your-project-id"
      }
    }
  }
}

Optional cost control env vars:

MAX_COST_PER_QUERY_USD=1.0    (default: 1.0)
HARD_COST_CAP_USD=5.0          (default: 5.0)
MAX_ROWS=10000                  (default: 10000)
QUERY_TIMEOUT_SECONDS=30        (default: 30)

Supported Chains

| Family | Chains | |--------|--------| | EVM | Ethereum, Polygon, Ethereum Classic | | UTXO | Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash | | Solana | Solana | | Beacon | Ethereum Beacon Chain | | Custom | Band, IoTeX, Tezos, Theta, Zilliqa, MultiversX |

Tools (23)

| Category | Tool | Description | |----------|------|-------------| | Discovery | list_chains | List available blockchain datasets | | Discovery | get_schema | Get table and column details | | Discovery | get_cost_estimate | Estimate query cost (dry-run) | | EVM | evm_transactions | List individual transactions for address | | EVM | evm_block_stats | Block stats for date range | | EVM | evm_transaction_summary | Transaction summary for address | | EVM | evm_token_transfers | ERC20/721 token transfers | | EVM | evm_top_addresses | Top addresses by metric | | EVM | evm_contract_info | Smart contract details | | EVM | evm_eth_balance | Native token balance | | EVM | evm_token_info | Token symbol/name/decimals | | UTXO | utxo_transactions | List individual transactions for address | | UTXO | utxo_block_stats | UTXO chain block stats | | UTXO | utxo_transaction_summary | UTXO transaction stats | | UTXO | utxo_address_activity | Address inputs + outputs | | Solana | sol_transactions | List transactions for account | | Solana | sol_block_stats | Solana block stats | | Solana | sol_token_transfers | SPL token transfers | | Solana | sol_transaction_summary | Transaction by signature | | Beacon | beacon_validator_info | Validator status/balance | | Beacon | beacon_block_stats | Block proposal stats | | Query | build_and_run_query | Structured plan to SQL | | Query | run_raw_sql | Raw SQL with cost gate |

Cost Controls

Every query goes through a dry-run cost estimate before execution:

  • Per-query limit: $1.00 (configurable)
  • Hard cap: $5.00 (configurable)
  • Max rows: 10,000
  • Timeout: 30 seconds
  • Read-only: Only SELECT queries allowed

GCP Setup

Prerequisites

  • Node.js 18+
  • A Google Cloud account (free tier works)

Step 1: Create a GCP Project

  1. Go to Google Cloud Console
  2. Click Select a project > New Project
  3. Name it anything (e.g. web3-datasets) and click Create
  4. Note your Project ID (e.g. web3-datasets-12345)

Step 2: Enable BigQuery API

  1. In your new project, go to APIs & Services > Enable APIs
  2. Search for BigQuery API and click Enable

Step 3: Create a Service Account

  1. Go to IAM & Admin > Service Accounts
  2. Click Create Service Account
  3. Name it bigquery-reader
  4. Add these two roles:
    • BigQuery Data Viewer (reads public datasets)
    • BigQuery Job User (runs queries)
  5. Click Done

Step 4: Download the Key

  1. Click on your new service account
  2. Go to the Keys tab
  3. Click Add Key > Create new key > JSON
  4. Save the downloaded JSON file somewhere safe (e.g. ~/bigquery-key.json)

Cost Expectations

The public blockchain datasets are free to access. You only pay for query compute (bytes scanned):

  • BigQuery pricing: $6.25 per TB scanned
  • Most single queries cost $0.00 - $0.01
  • The full test suite costs ~$0.34
  • The built-in cost gate rejects any query over $1.00 before it runs

Architecture

Agent (Claude) → MCP Tool Call → tools → api-client → BigQuery SDK → Google BigQuery
                                   ↓
                             query-builder (structured plan → SQL)
                             sql-sanitizer (BigQuery dialect fixes)
                             config (chain registry, cost limits)

Two Query Modes

  1. Structured Plan (build_and_run_query): Agent provides a structured query plan (columns, filters, aggregations). The server generates correct BigQuery SQL deterministically.

  2. Raw SQL (run_raw_sql): For complex queries (CTEs, JOINs, window functions). SQL is sanitized for BigQuery dialect, validated read-only, then dry-run cost checked before execution.

License

MIT