Databar.ai について
Databar.aiのデータエンリッチメントAPIに接続するMCPサーバーです。データの検索や補完を行うAIアシスタントや業務チーム向けに、複数プロバイダーのウォーターフォール処理、バッチ処理、テーブル管理を提供します。
主な機能
- 01データエンリッチメントの検索と実行
- 02一括処理とプロバイダーのウォーターフォール
- 03テーブルの作成と管理
- 04行の挿入・更新・アップサート
- 05非同期タスクのポーリングと結果キャッシュ
活用シーン
- 01人物のLinkedInプロフィール検索
- 02メールアドレスの検証や連絡先の検索
- 03連絡先や企業データの一括補完
- 04テーブル管理と行単位のエンリッチメント実行
MCP 対応
このMCPサーバーは、エンリッチメント、ウォーターフォール、テーブル管理のツールを通じてDatabar.aiのデータエンリッチメントAPIをMCPクライアントに公開します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.databar.ai/mcpclaude mcp add --transport http databar-ai https://mcp.databar.ai/mcp{"mcpServers":{"databar-ai":{"type":"http","url":"https://mcp.databar.ai/mcp"}}}Cursor で開く{"servers":{"databar-ai":{"type":"http","url":"https://mcp.databar.ai/mcp"}}}VS Code で開く{"mcpServers":{"databar-ai":{"type":"http","url":"https://mcp.databar.ai/mcp"}}}{"mcpServers":{"databar-ai":{"serverUrl":"https://mcp.databar.ai/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Databar MCP Server
Model Context Protocol(MCP)サーバーです。Claude のような AI アシスタントが Databar.ai のデータエンリッチメント API を利用できるようにします。自然言語を使って、数百のデータプロバイダーにわたるデータエンリッチメントを検索、設定、実行できます。
機能
- スマートなエンリッチメント検索 — キーワードやカテゴリでエンリッチメントを検索、絞り込みできます
- 自然言語インターフェース — 「David の LinkedIn プロフィールを取得して」と依頼すると、適切なエンリッチメントが自動的に実行されます
- 一括操作 — 一括エンリッチメントと一括ウォーターフォールに対応し、1 回の呼び出しで多数のレコードをエンリッチできます
- テーブル管理 — テーブルの作成、列の管理、行の挿入、更新、アップサートができます
- ウォーターフォール対応 — 1 つ成功するまで複数のデータプロバイダーを順番に試します
- 非同期処理 — 手動操作なしで、結果を自動的にポーリングします
- インテリジェントなキャッシュ — 結果を 24 時間キャッシュし、API 呼び出しとコストを削減します
- エラー処理 — 指数バックオフで再試行し、わかりやすいエラーメッセージを表示します
クイックスタート
前提条件
- Node.js 18+
- Databar.ai API キー(こちらから取得)
インストールとビルド
git clone https://github.com/databar-ai/databar-mcp-server.git
cd databar-mcp-server
npm install
npm run build
Claude Desktop の設定
Claude Desktop の設定ファイルを編集します。
- 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"
}
}
}
}
Claude Desktop を再起動します。「どの Databar ツールを利用できますか?」と質問して、動作を確認してください。
使用例
人の LinkedIn プロフィールを探す
「David Abaev の LinkedIn プロフィールを取得して」
Claude が LinkedIn エンリッチメントを検索して適切なものを選び、実行してプロフィールデータを返します。
メールアドレスを確認する
「[email protected] のメールアドレスを確認して」
ウォーターフォールを使ってメールアドレスを探す
「Google の John Smith のメールアドレスを探して」
結果が返されるまで、複数のプロバイダーを試すウォーターフォールを実行します。
リストを一括エンリッチする
「この 10 件のメールアドレスに企業データを追加して:[list]」
一括エンリッチメントを使って、すべてのレコードを 1 回の API 呼び出しで処理します。
テーブルデータを管理する
「自分のテーブルを一覧表示して」
「テーブル abc-123 に name と email の列を持つ行を 5 件作成して」
「テーブル abc-123 の列を取得して」
利用可能なツール
エンリッチメント
| ツール | 説明 |
|---|---|
search_enrichments | キーワードやカテゴリでエンリッチメントを検索します |
get_enrichment_details | エンリッチメントのパラメーター、価格、レスポンスフィールドを取得します |
run_enrichment | 単一のエンリッチメントを実行します(自動ポーリングとキャッシュ対応) |
run_bulk_enrichment | 複数の入力に対してエンリッチメントを一括実行します |
ウォーターフォール
| ツール | 説明 |
|---|---|
search_waterfalls | 利用可能なウォーターフォールエンリッチメントを検索します |
run_waterfall | ウォーターフォールを実行します(プロバイダーを順番に試します) |
run_bulk_waterfall | 複数の入力に対してウォーターフォールを一括実行します |
テーブル
| ツール | 説明 |
|---|---|
create_table | 新しい空のテーブルを作成します |
list_tables | ワークスペース内のすべてのテーブルを一覧表示します |
get_table_columns | テーブルの列スキーマを取得します |
get_table_rows | ページネーションを使って行を取得します |
get_table_enrichments | テーブルに設定されたエンリッチメントを一覧表示します |
add_table_enrichment | 列のマッピングを指定して、テーブルにエンリッチメントを追加します |
run_table_enrichment | テーブル内のすべての行に対してエンリッチメントを実行します |
行の操作
| ツール | 説明 |
|---|---|
create_rows | 重複排除オプションを指定して、最大 50 行を挿入します |
patch_rows | ID を指定して、既存の行のフィールドを更新します |
upsert_rows | 照合キーに基づいて行を挿入または更新します |
アカウント
| ツール | 説明 |
|---|---|
get_user_balance | クレジット残高とアカウント情報を取得します |
設定
すべての設定は環境変数で変更できます。
| 変数 | デフォルト | 説明 |
|---|---|---|
DATABAR_API_KEY | (必須) | Databar API キー |
DATABAR_BASE_URL | https://api.databar.ai/v1 | API のベース URL |
CACHE_TTL_HOURS | 24 | 結果キャッシュの有効期間(時間) |
MAX_POLL_ATTEMPTS | 150 | 非同期タスクの最大ポーリング回数 |
POLL_INTERVAL_MS | 2000 | ポーリング間隔(ミリ秒) |
仕組み
非同期タスクの処理
- サーバーが Databar API に実行リクエストを送信します
- API が
task_idを返します - サーバーは
/v1/tasks/{task_id}を 2 秒ごとに自動でポーリングします - ステータスが
completedになると、結果が返されます - データの有効期限が切れている場合(保持期間は 1 時間)、
goneステータスを適切に処理します
キャッシュ
- 結果はデフォルトで 24 時間キャッシュされます
- キャッシュキー:エンリッチメント ID +シリアライズされたパラメーター
- キャッシュされた結果ではクレジットを消費しません
- 最新のデータを取得するには、
skip_cache: trueを使用します
スマートな分類
AI アシスタントが適切なツールを選択できるよう、エンリッチメントは自動的に分類されます(人物、企業、メール、電話、ソーシャル、財務、検証)。
開発
npm run dev # Run with tsx (hot reload)
npm run build # Compile TypeScript
npm start # Run compiled output
プロジェクト構成
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
トラブルシューティング
| 問題 | 解決方法 |
|---|---|
| サーバーに接続できない | API キーを確認し、再ビルド(npm run build)して、Claude Desktop を再起動してください |
| 「エンリッチメントが見つかりません」 | より広範な検索クエリを試してください。リストのキャッシュは 5 分ごとに更新されます |
| 「タスクがタイムアウトしました」 | エンリッチメントによっては時間がかかります。MAX_POLL_ATTEMPTS を増やしてください |
| 「タスクデータの有効期限が切れています」 | データの保存期間は 1 時間のみです。エンリッチメントを再実行してください |
| 「無効な API キー」 | .env または Claude Desktop の設定にタイプミスや余分なスペースがないか確認してください |
リソース
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。