mcpField
D
DataLink

DataLink

ローカル
github.com/pilatデータベース52 週間前に更新

DataLink について

DataLink は、AI アシスタントから PostgreSQL、MySQL、SQLite に接続する MCP サーバーです。スキーマ確認やクエリ実行のツールに加え、接続ごとの読み取り専用設定とクエリ制限を備えています。

主な機能

  1. 01PostgreSQL、MySQL、SQLiteへの接続
  2. 02データベースとテーブルの一覧表示
  3. 03スキーマ、インデックス、キーの確認
  4. 04クエリ実行と実行計画の表示
  5. 05接続ごとの読み取り専用モード
  6. 06クエリの安全制限

活用シーン

  1. 01データベースのテーブルとスキーマの確認
  2. 02読み取り専用の分析クエリ実行
  3. 03クエリ実行計画の確認
  4. 04制御されたデータ変更

MCP 対応

DataLink は、データベース一覧、スキーマ確認、クエリ、更新実行、実行計画のツールを MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"pilat-mcp-datalink": {
"command": "npx",
"args": [
"-y",
"@pilat/mcp-datalink"
],
"env": {
"DATALINK_ANALYTICS_URL": "<DATALINK_ANALYTICS_URL>",
"DATALINK_ANALYTICS_READONLY": "<DATALINK_ANALYTICS_READONLY>"
}
}
}
}
起動コマンドnpx -y @pilat/mcp-datalink
設定が必要な環境変数
DATALINK_ANALYTICS_URLシークレットDatabase connection URL. Pattern: DATALINK_<NAME>_URL where <NAME> identifies the database. Supports postgresql://, mysql://, or file path for SQLite.
DATALINK_ANALYTICS_READONLYSet to 'true' for read-only access. Pattern: DATALINK_<NAME>_READONLY

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@pilat/mcp-datalink1.2.4

ツール

6

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

@pilat/mcp-datalink

PostgreSQL、MySQL、SQLite 用の MCP サーバーです。Model Context Protocol を介して、AI アシスタントに安全なデータベースアクセスを提供します。

npx @pilat/mcp-datalink

Claude Desktop、Claude Code、Cursor、Cline、および MCP 対応のすべてのクライアントで動作します。

インストール

MCP クライアントの設定ファイルに追加します(下記の設定ファイルの場所を参照してください)。

{
  "mcpServers": {
    "datalink": {
      "command": "npx",
      "args": ["-y", "@pilat/mcp-datalink"],
      "env": {
        "DATALINK_ANALYTICS_URL": "postgresql://user:password@localhost:5432/analytics",
        "DATALINK_ANALYTICS_READONLY": "true",

        "DATALINK_INVENTORY_URL": "mysql://user:password@localhost:3306/inventory",

        "DATALINK_CACHE_URL": "sqlite:///path/to/cache.db"
      }
    }
  }
}

これにより、3 つのデータベース接続が作成されます。analytics(読み取り専用)、inventory、cache です。

変数説明
DATALINK_{NAME}_URL接続 URL({name} という名前のデータベースを作成します)
DATALINK_{NAME}_READONLY書き込みをブロックするには true に設定します
DATALINK_{NAME}_MAX_TIMEOUTクエリの最大タイムアウト(ミリ秒単位。モデルからのリクエストを制限します)

接続 URL の形式:

# PostgreSQL
postgresql://user:password@localhost:5432/dbname
postgresql://user:password@localhost:5432/dbname?sslmode=require

# MySQL
mysql://user:password@localhost:3306/dbname
mysql://user:password@localhost:3306/dbname?ssl=true

# SQLite
sqlite:///path/to/database.db
sqlite:///Users/me/data/app.sqlite
sqlite://../relative/path/data.db
環境変数の置換

URL では ${VAR} 構文を使用して、他の環境変数を参照できます。

{
  "mcpServers": {
    "datalink": {
      "command": "npx",
      "args": ["-y", "@pilat/mcp-datalink"],
      "env": {
        "DATALINK_MAIN_URL": "${DATABASE_URL}"
      }
    }
  }
}

これにより、既存の環境変数(シェルや .env ファイルの DATABASE_URL など)を再利用できます。

サポートされている構文:

構文説明
${VAR}VAR の値に展開します。未設定の場合は ${VAR} をそのまま保持します
${VAR:-default}VAR の値に展開します。未設定の場合は default に展開します

例:

# Reference existing DATABASE_URL
DATALINK_MAIN_URL="${DATABASE_URL}"

# Build URL from parts
DATALINK_MAIN_URL="postgresql://${DB_USER}:${DB_PASS}@${DB_HOST}:5432/mydb"

# With default values
DATALINK_MAIN_URL="postgresql://localhost:${DB_PORT:-5432}/mydb"
設定ファイルの場所
クライアント設定ファイル
Claude Code~/.claude.json(グローバル)または .mcp.json(プロジェクト)
Claude Desktop(macOS)~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop(Windows)%APPDATA%\Claude\claude_desktop_config.json
Cursor~/.cursor/mcp.json または Settings → Features → MCP Servers
Clinecline_mcp_settings.json または VS Code の設定 cline.mcpServers

ツール

ツール説明
list_databases設定済みのデータベース接続を一覧表示します
list_tables行数とともにテーブルを一覧表示します
describe_tableスキーマ、インデックス、外部キーを取得します
querySELECT クエリを実行します
executeINSERT/UPDATE/DELETE を実行します
explainクエリの実行計画を表示します

セキュリティ

  • プリペアドステートメントのみ使用します(SQL インジェクションなし)
  • クエリごとに 1 つのステートメントのみ実行します(連結不可)
  • DDL はブロックされます(DROP、ALTER、TRUNCATE は不可)
  • 接続ごとに読み取り専用モードを設定できます
  • レスポンスサイズの上限(デフォルトは 100 行、64KB。DATALINK_MAX_TOTAL_SIZE で設定可能)
  • クエリのタイムアウト:デフォルトは 30 秒。モデルは最大 10 分までリクエストできますが、MAX_TIMEOUT で上限を設定します

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。