Databar MCP Server
Enables AI assistants to interact with Databar.ai's data enrichment API, allowing discovery, configuration, and execution of data enrichments across hundreds of providers using natural language.
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
- Node.js 18+
- A Databar.ai API key (get one here)
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 david@databar.ai"
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
- Server sends a run request to the Databar API
- API returns a
task_id - Server automatically polls
/v1/tasks/{task_id}every 2 seconds - When status is
completed, results are returned - If data has expired (1-hour retention),
gonestatus 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: trueto 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.