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

@guillaume-galp/dremio-mcp-lite

v0.1.9

Published

TypeScript MCP server for Dremio data exploration

Readme

dremio-mcp-lite

A TypeScript MCP (Model Context Protocol) server for Dremio data exploration. This tool enables AI assistants to interact with Dremio through a set of read-only operations.

Features

  • Fast Startup: Optimized for <1s startup time for VS Code stdio MCP
  • Read-Only Operations: Safe exploration of your Dremio data catalog
  • 6 Core Tools:
    • catalog_browse: List sources, spaces, folders, and tables
    • schema_get: Get table schemas
    • sql_query: Execute SELECT queries (max 1000 rows)
    • table_preview: Preview first 10 rows of a table
    • search_catalog: Find tables by name
    • explain_query: Get query execution plans

Installation

npm install @guillaume-galp/dremio-mcp-lite

Configuration

Create a .env file in your project root:

DREMIO_URL=http://localhost:9047
DREMIO_PAT=your_personal_access_token_here

# SSL Configuration (optional)
# Set to 'false' to disable SSL certificate verification for self-signed certificates
# WARNING: Only use in development/testing environments
DREMIO_REJECT_UNAUTHORIZED=true

Or copy from the example:

cp .env.example .env

SSL Certificate Configuration

When connecting to Dremio instances with self-signed SSL certificates (common in internal/corporate environments), you may encounter certificate verification errors. To disable SSL certificate verification:

  1. Set DREMIO_REJECT_UNAUTHORIZED=false in your .env file
  2. Important: Only use this setting in development or testing environments
  3. Never disable certificate verification in production environments

Example for self-signed certificates:

DREMIO_URL=https://dremio.internal.company.com:9047
DREMIO_PAT=your_personal_access_token_here
DREMIO_REJECT_UNAUTHORIZED=false

Getting a Dremio Personal Access Token

  1. Log in to your Dremio instance
  2. Go to Settings → Personal Access Tokens
  3. Click "Create Token"
  4. Copy the token and add it to your .env file

Usage

As an MCP Server

Add to your MCP client configuration (e.g., VS Code mcp.json):

{
  "mcpServers": {
    "dremio": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@guillaume-galp/dremio-mcp-lite"
      ],
      "envFile": "${userHome}/.dremio-mcp.env",
      "gallery": true
    }
  }
}

Configuration Notes:

  • type: Must be "stdio" for standard input/output communication
  • -y: Auto-confirms npx package installation
  • envFile: Path to your environment file containing DREMIO_URL and DREMIO_PAT
    • Recommended: Use ${userHome} variable: "${userHome}/.dremio-mcp.env"
    • Windows absolute path: "C:\\Users\\<YourUsername>\\.dremio-mcp.env"
    • macOS/Linux absolute path: "/Users/<YourUsername>/.dremio-mcp.env" or "/home/<YourUsername>/.dremio-mcp.env"
    • Replace <YourUsername> with your actual username
  • gallery: Optional, set to true to show in MCP gallery

Or if installed globally:

{
  "mcpServers": {
    "dremio": {
      "type": "stdio",
      "command": "dremio-mcp-lite",
      "envFile": "${userHome}/.dremio-mcp.env",
      "gallery": true
    }
  }
}

Available Tools

catalog_browse

Browse the Dremio catalog structure.

// List all sources
catalog_browse()

// Browse a specific path
catalog_browse({ path: ["source_name", "folder"] })

schema_get

Get the schema definition of a table.

schema_get({ table_path: ["source", "schema", "table"] })

sql_query

Execute SELECT queries (read-only).

sql_query({
  sql: "SELECT * FROM source.schema.table WHERE id > 100",
  max_rows: 500  // Optional, default 1000
})

table_preview

Quick preview of table data (first 10 rows).

table_preview({ table_path: ["source", "schema", "table"] })

search_catalog

Search for tables and datasets by name.

search_catalog({ search_term: "customer" })

explain_query

Get the execution plan for a query.

explain_query({ sql: "SELECT * FROM source.schema.table" })

Security

This MCP server implements several security measures:

  • Read-Only Operations: Only SELECT queries are allowed. All modifications (INSERT, UPDATE, DELETE, etc.) are blocked.
  • SQL Injection Protection: Table paths are properly escaped using SQL identifier quoting to prevent injection attacks.
  • Query Validation: SQL queries are validated to ensure they are SELECT statements, even when prefixed with comments or whitespace.
  • Personal Access Tokens: Uses Dremio PAT authentication stored securely in .env file (never commit .env to version control).

Development

Build

npm run build

Run Locally

npm start

Publishing to npm

The package is automatically published to npm when a version tag is pushed:

  1. Update the version in package.json:

    npm version patch  # or minor, or major
  2. Push the tag to GitHub:

    git push origin master --tags

    Or if using the main branch:

    git push origin main --tags
  3. The GitHub Actions workflow will automatically build and publish to npm

Prerequisites:

  • NPM_TOKEN must be configured in GitHub repository secrets
  • The token must have publish access to the @guillaume-galp scope on npmjs.org

Requirements

  • Node.js >= 18
  • Access to a Dremio instance (default port: 9047)
  • Valid Dremio Personal Access Token

License

MIT