mcpField
D
DB MCP Server

DB MCP Server

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

DB MCP Server について

DB MCP Serverは、MCPクライアントをMySQL、PostgreSQL、MongoDB、SQLiteのいずれか1つのデータベースに接続します。クエリとスキーマ確認のツールを提供し、任意で書き込みや、対応データベースへのSSHトンネル接続も利用できます。

主な機能

  1. 01MySQL、PostgreSQL、MongoDB、SQLiteに対応
  2. 02データベースのクエリとスキーマ確認
  3. 03任意の読み書きモード
  4. 04MySQLとPostgreSQLのSSHトンネル
  5. 05SSH経由のSQLiteアクセス

活用シーン

  1. 01MCPクライアントからデータベースを検索
  2. 02テーブルやコレクションの構造確認
  3. 03SSH踏み台の先にあるデータベースへの接続

MCP 対応

MCPサーバーは、データベースのクエリ、スキーマ確認、一覧、状態取得のツールをMCPクライアントに公開します。読み書きモードの設定時は書き込みツールも利用でき、各インスタンスは単一のデータベースに接続します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"stucchi-db": {
"command": "uvx",
"args": [
"db-mcp-server"
],
"env": {
"DB_TYPE": "<DB_TYPE>",
"DB_DATABASE": "<DB_DATABASE>",
"DB_MODE": "<DB_MODE>",
"DB_HOST": "<DB_HOST>",
"DB_PORT": "<DB_PORT>",
"DB_USER": "<DB_USER>",
"DB_PASSWORD": "<DB_PASSWORD>",
"DB_URL": "<DB_URL>",
"SSH_HOST": "<SSH_HOST>",
"SSH_PORT": "<SSH_PORT>",
"SSH_USER": "<SSH_USER>",
"SSH_KEY": "<SSH_KEY>",
"SSH_PASSWORD": "<SSH_PASSWORD>"
}
}
}
}
起動コマンドuvx db-mcp-server
設定が必要な環境変数
DB_TYPEDatabase type
DB_DATABASEDatabase name
DB_MODEAccess mode
DB_HOSTDatabase host (MySQL/PostgreSQL)
DB_PORTDatabase port (MySQL: 3306, PostgreSQL: 5432)
DB_USERDatabase user (MySQL default: root, PostgreSQL default: postgres)
DB_PASSWORDシークレットDatabase password (MySQL/PostgreSQL, optional)
DB_URLシークレットMongoDB connection URL (required for MongoDB, e.g. mongodb://...)
SSH_HOSTSSH bastion host for tunneling (MySQL/PostgreSQL only)
SSH_PORTSSH port
SSH_USERSSH username (default: current OS user)
SSH_KEYシークレットPath to SSH private key (e.g. ~/.ssh/id_rsa)
SSH_PASSWORDシークレットSSH password (if no key provided)

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

パッケージ
pypidb-mcp-server1.2.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

db-mcp-server

MySQL、PostgreSQL、MongoDB、SQLite データベース用の MCP サーバーです。データベースごとに 1 つのインスタンスを使用し、Docker は不要です。

インストール

uvx db-mcp-server

設定

環境変数で設定します。各インスタンスは単一のデータベースに接続します。

MySQL
変数必須デフォルト説明
DB_TYPEはい—mysql
DB_DATABASEはい—データベース名
DB_PASSWORDはい—パスワード
DB_HOSTいいえlocalhostホスト
DB_PORTいいえ3306ポート
DB_USERいいえrootユーザー
DB_MODEいいえread-onlyread-only または read-write
PostgreSQL
変数必須デフォルト説明
DB_TYPEはい—postgresql
DB_DATABASEはい—データベース名
DB_PASSWORDはい—パスワード
DB_HOSTいいえlocalhostホスト
DB_PORTいいえ5432ポート
DB_USERいいえpostgresユーザー
DB_MODEいいえread-onlyread-only または read-write
MongoDB
変数必須デフォルト説明
DB_TYPEはい—mongodb
DB_DATABASEはい—データベース名
DB_URLはい—接続 URL(mongodb://...)
DB_MODEいいえread-onlyread-only または read-write
SQLite
変数必須デフォルト説明
DB_TYPEはい—sqlite
DB_PATHはい—.db ファイルのパス(ローカルまたは SSH 経由のリモート)
DB_DATABASEいいえファイル名表示名
DB_MODEいいえread-onlyread-only または read-write
SSH トンネル(MySQL / PostgreSQL)

必要に応じて、SSH 踏み台ホスト経由で接続します。SSH_HOST を設定すると有効になります。

SSH 経由の SQLite では、リモートの .db ファイルがクエリ実行前に SFTP 経由でダウンロードされます。read-write モードでは、シャットダウン時に変更内容がアップロードされます。

変数必須デフォルト説明
SSH_HOSTいいえ—SSH 踏み台ホスト(トンネリングを有効化)
SSH_PORTいいえ22SSH ポート
SSH_USERいいえ現在の OS ユーザーSSH ユーザー名
SSH_KEYいいえ—秘密鍵のパス(~/.ssh/id_rsa)
SSH_PASSWORDいいえ—SSH パスワード(鍵がない場合)

SSH_HOST を設定する場合、SSH_KEY または SSH_PASSWORD のいずれかが必要です。MongoDB では SSH トンネリングはサポートされていません。

.mcp.json での使用方法

SQLite(ローカル)
{
  "mcpServers": {
    "db-local": {
      "command": "uvx",
      "args": ["db-mcp-server"],
      "env": {
        "DB_TYPE": "sqlite",
        "DB_PATH": "/path/to/database.db"
      }
    }
  }
}
SSH 経由の SQLite
{
  "mcpServers": {
    "db-remote": {
      "command": "uvx",
      "args": ["db-mcp-server"],
      "env": {
        "DB_TYPE": "sqlite",
        "DB_PATH": "/remote/path/to/database.db",
        "SSH_HOST": "server.example.com",
        "SSH_USER": "deploy",
        "SSH_KEY": "~/.ssh/id_rsa"
      }
    }
  }
}
{
  "mcpServers": {
    "db-prod": {
      "command": "uvx",
      "args": ["db-mcp-server"],
      "env": {
        "DB_TYPE": "mysql",
        "DB_MODE": "read-only",
        "DB_HOST": "db.example.com",
        "DB_PORT": "3306",
        "DB_USER": "root",
        "DB_PASSWORD": "secret",
        "DB_DATABASE": "myapp"
      }
    }
  }
}
SSH トンネルを使用する場合
{
  "mcpServers": {
    "db-behind-bastion": {
      "command": "uvx",
      "args": ["db-mcp-server"],
      "env": {
        "DB_TYPE": "postgresql",
        "DB_HOST": "10.0.0.5",
        "DB_PORT": "5432",
        "DB_USER": "postgres",
        "DB_PASSWORD": "secret",
        "DB_DATABASE": "myapp",
        "SSH_HOST": "bastion.example.com",
        "SSH_USER": "deploy",
        "SSH_KEY": "~/.ssh/id_rsa"
      }
    }
  }
}

複数のデータベースを使用する場合は、複数のインスタンスを追加します。

{
  "mcpServers": {
    "db-prod": {
      "command": "uvx",
      "args": ["db-mcp-server"],
      "env": { "DB_TYPE": "mysql", "DB_DATABASE": "prod", "..." : "..." }
    },
    "db-analytics": {
      "command": "uvx",
      "args": ["db-mcp-server"],
      "env": { "DB_TYPE": "postgresql", "DB_DATABASE": "analytics", "..." : "..." }
    },
    "db-staging": {
      "command": "uvx",
      "args": ["db-mcp-server"],
      "env": { "DB_TYPE": "mongodb", "DB_DATABASE": "staging", "..." : "..." }
    }
  }
}

ツール

MySQL
  • query — 読み取り専用 SQL(SELECT、SHOW、DESCRIBE、EXPLAIN、WITH)を実行します
  • execute — 書き込み SQL(INSERT、UPDATE、DELETE)を実行します — DB_MODE=read-write が必要です
  • describe — テーブル構造を説明します
  • list_tables — すべてのテーブルを一覧表示します
  • status — 接続情報を表示します
PostgreSQL
  • query — 読み取り専用 SQL(SELECT、SHOW、DESCRIBE、EXPLAIN、WITH)を実行します
  • execute — 書き込み SQL(INSERT、UPDATE、DELETE)を実行します — DB_MODE=read-write が必要です
  • describe — テーブル構造を説明します(information_schema から列情報を取得)
  • list_tables — public スキーマ内のすべてのテーブルを一覧表示します
  • status — 接続情報を表示します
SQLite
  • query — 読み取り専用 SQL(SELECT、SHOW、DESCRIBE、EXPLAIN、WITH)を実行します
  • execute — 書き込み SQL(INSERT、UPDATE、DELETE)を実行します — DB_MODE=read-write が必要です
  • describe — テーブル構造を説明します(PRAGMA table_info)
  • list_tables — すべてのテーブルを一覧表示します
  • status — 接続情報を表示します
MongoDB
  • query — コレクション内のドキュメントを検索します
  • describe — コレクションの統計情報($collStats)
  • list_collections — すべてのコレクションを一覧表示します
  • aggregate — 集計パイプラインを実行します(読み取り専用では $out/$merge はブロックされます)
  • status — 接続情報を表示します

ライセンス

MIT

コメント

MCP は初めてですか?

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

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