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

databar-mcp-server

v1.4.0

Published

MCP server for Databar.ai — enables AI assistants to run data enrichments, manage tables, and more

Readme

Databar MCP Server

A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with Databar.ai's data enrichment API. Discover, configure, and run data enrichments across hundreds of data providers using natural language.

Features

  • Smart Enrichment Discovery — Search and filter enrichments by keyword or category
  • Natural Language Interface — Ask "get David's LinkedIn profile" and the right enrichment runs automatically
  • Bulk Operations — Enrich many records in a single call with bulk enrichment and bulk waterfall support
  • Table Management — Create tables, manage columns, insert/update/upsert rows
  • Waterfall Support — Try multiple data providers sequentially until one succeeds
  • Async Handling — Automatic polling for results with no manual intervention
  • Intelligent Caching — 24-hour result cache reduces API calls and costs
  • Error Handling — Retries with exponential backoff and clear error messages

Quick Start

Prerequisites

Install & Build

git clone https://github.com/databar-ai/databar-mcp-server.git
cd databar-mcp-server
npm install
npm run build

Configure Claude Desktop

Edit your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "databar": {
      "command": "node",
      "args": ["/absolute/path/to/databar-mcp-server/dist/index.js"],
      "env": {
        "DATABAR_API_KEY": "your-api-key-here"
      }
    }
  }
}

Restart Claude Desktop. Verify by asking: "What Databar tools do you have access to?"

Usage Examples

Find someone's LinkedIn profile

"Get me David Abaev's LinkedIn profile"

Claude searches for LinkedIn enrichments, picks the right one, runs it, and returns the profile data.

Verify an email address

"Verify the email [email protected]"

Find an email using waterfall

"Find the email for John Smith at Google"

Runs a waterfall that tries multiple providers until one returns a result.

Bulk enrich a list

"Enrich these 10 emails with company data: [list]"

Uses bulk enrichment to process all records in a single API call.

Manage table data

"List my tables"
"Create 5 rows in table abc-123 with columns name and email"
"Get the columns for table abc-123"

Available Tools

Enrichments

| Tool | Description | |------|-------------| | search_enrichments | Search enrichments by keyword or category | | get_enrichment_details | Get parameters, pricing, and response fields for an enrichment | | run_enrichment | Run a single enrichment (with auto-polling and caching) | | run_bulk_enrichment | Run an enrichment on multiple inputs at once |

Waterfalls

| Tool | Description | |------|-------------| | search_waterfalls | Search available waterfall enrichments | | run_waterfall | Run a waterfall (tries providers sequentially) | | run_bulk_waterfall | Run a waterfall on multiple inputs at once |

Tables

| Tool | Description | |------|-------------| | create_table | Create a new empty table | | list_tables | List all tables in your workspace | | get_table_columns | Get column schema for a table | | get_table_rows | Get rows with pagination | | get_table_enrichments | List enrichments configured on a table | | add_table_enrichment | Add an enrichment to a table with column mapping | | run_table_enrichment | Trigger an enrichment on all rows in a table |

Row Operations

| Tool | Description | |------|-------------| | create_rows | Insert up to 50 rows with deduplication options | | patch_rows | Update fields on existing rows by ID | | upsert_rows | Insert or update rows based on a matching key |

Account

| Tool | Description | |------|-------------| | get_user_balance | Get credit balance and account info |

Configuration

All settings are configurable via environment variables:

| Variable | Default | Description | |----------|---------|-------------| | DATABAR_API_KEY | (required) | Your Databar API key | | DATABAR_BASE_URL | https://api.databar.ai/v1 | API base URL | | CACHE_TTL_HOURS | 24 | Result cache TTL in hours | | MAX_POLL_ATTEMPTS | 150 | Max polling attempts for async tasks | | POLL_INTERVAL_MS | 2000 | Polling interval in ms |

How It Works

Async Task Handling

  1. Server sends a run request to the Databar API
  2. API returns a task_id
  3. Server automatically polls /v1/tasks/{task_id} every 2 seconds
  4. When status is completed, results are returned
  5. If data has expired (1-hour retention), gone status is handled gracefully

Caching

  • Results are cached for 24 hours by default
  • Cache key: enrichment ID + serialized params
  • Cached results don't consume credits
  • Use skip_cache: true to force fresh data

Smart Categorization

Enrichments are automatically categorized (People, Company, Email, Phone, Social, Financial, Verification) to help the AI assistant pick the right tool.

Development

npm run dev      # Run with tsx (hot reload)
npm run build    # Compile TypeScript
npm start        # Run compiled output

Project Structure

databar-mcp-server/
├── src/
│   ├── index.ts           # MCP server entry point & tool handlers
│   ├── databar-client.ts  # Databar API client with polling
│   ├── cache.ts           # In-memory cache with TTL
│   ├── types.ts           # TypeScript type definitions
│   └── utils.ts           # Helpers & categorization
├── dist/                  # Compiled output (generated)
├── package.json
├── tsconfig.json
└── .gitignore

Troubleshooting

| Problem | Solution | |---------|----------| | Server not connecting | Verify API key, rebuild (npm run build), restart Claude Desktop | | "No enrichments found" | Try a broader search query; list cache refreshes every 5 minutes | | "Task timed out" | Some enrichments take longer; increase MAX_POLL_ATTEMPTS | | "Task data has expired" | Data is stored for 1 hour only; re-run the enrichment | | "Invalid API key" | Check .env or Claude Desktop config for typos/extra spaces |

Resources

License

MIT