Database Schema MCP Server について
Database Schema MCP Serverは、PostgreSQL、MySQL、SQLiteの構造を調べる開発者やAIクライアント向けです。テーブルの詳細に加え、ビューやインデックスを含む全体構造も取得できます。
主な機能
- 01PostgreSQL、MySQL、SQLiteへの接続
- 02データベースのテーブル一覧
- 03個別テーブルのスキーマ確認
- 04テーブル、ビュー、インデックスを含む構造取得
活用シーン
- 01データベース内のテーブル確認
- 02クエリ前のテーブル構造確認
- 03データベース全体の構造確認
MCP 対応
データベースへの接続、テーブル一覧やスキーマ情報の取得に使うMCPツールをクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
データベーススキーマ MCP サーバー
さまざまな種類のデータベース(PostgreSQL、MySQL、SQLite など)のスキーマを読み取り、公開するツールを提供する高機能な MCP サーバーです。
🌟 機能
- さまざまな種類のデータベースに接続
- データベース内のすべてのテーブルを一覧表示
- 特定のテーブルの詳細なスキーマ情報を取得
- テーブル、ビュー、インデックスを含むデータベース全体のスキーマを取得
- 複数のデータベースの種類に対応(PostgreSQL、MySQL、SQLite)
🚀 インストール
前提条件
- Python 3.x
- 仮想環境(推奨)
基本インストール
- 仮想環境を作成して有効化します:
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Unix/macOS:
source venv/bin/activate
# On Windows:
venv\Scripts\activate
- 依存関係をインストールします:
pip install -r requirements.txt
Windows MCP のインストール
-
Node.js をインストールします:
- Node.js 公式サイトからダウンロードしてインストールします
- PowerShell で
node --versionを実行して、インストールを確認します
-
システムの Path を更新します:
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
-
Node.js が認識されない場合は、手動で Path に追加します:
Windows + Rを押しますsysdm.cplと入力して Enter を押します- 「詳細設定」タブを開きます
- 「環境変数」をクリックします
- 「システム環境変数」で「Path」を見つけて選択します
- 「編集」をクリックします
- 存在しない場合は
C:\Program Files\nodejs\を追加します - すべてのウィンドウで「OK」をクリックします
- コンピューターを再起動します
-
MCP をインストールします:
mcp-install.ps1スクリプトをダウンロードします- ファイルのブロックを解除します(右クリック → プロパティ → ブロックの解除)
- 管理者として PowerShell を開き、次を実行します:
Set-ExecutionPolicy unrestricted - スクリプトの場所に移動して、次を実行します:
.\mcp-install.ps1 @modelcontextprotocol/server-postgres - Claude Desktop を完全に終了します(システムトレイを確認してください)
C:\Users\YOUR_USERNAME\AppData\Roaming\Claude\claude_desktop_config.jsonでサーバーを設定します- MCP サーバーの設定を Cursor の
mcp.jsonにコピーします - Cursor を再起動します
MCP 設定例
プロジェクトのルートに .cursor/mcp.json ファイルを作成し、次の構成にします:
{
"mcpServers": {
"local-db": {
"args": [
"C:\\Users\\YOUR_USERNAME\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-postgres\\dist\\index.js",
"database-url"
],
"command": "node"
},
"staging-db": {
"args": [
"C:\\Users\\YOUR_USERNAME\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-postgres\\dist\\index.js",
"database-url"
],
"command": "node"
},
"production-db": {
"args": [
"C:\\Users\\YOUR_USERNAME\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-postgres\\dist\\index.js",
"database-url"
],
"command": "node"
}
}
}
YOUR_USERNAME を Windows のユーザー名に置き換え、パスが Node.js モジュールのインストール先と一致していることを確認してください。
💻 使用方法
サーバーの起動
python src/server.py
利用可能なツール
1. データベースに接続
config = {
"type": "postgresql", # or "mysql", "sqlite"
"host": "localhost",
"port": 5432,
"database": "mydb",
"username": "user",
"password": "password"
}
result = await connect_database(config)
2. テーブルの一覧表示
tables = await list_tables("postgresql://user:password@localhost:5432/mydb")
3. テーブルスキーマの取得
schema = await get_table_schema("postgresql://user:password@localhost:5432/mydb", "users")
4. データベーススキーマの取得
schema = await get_database_schema("postgresql://user:password@localhost:5432/mydb")
📚 Claude での使用例
# Connect to a database
config = {
"type": "postgresql",
"host": "localhost",
"port": 5432,
"database": "mydb",
"username": "user",
"password": "password"
}
await connect_database(config)
# Get the complete schema
schema = await get_database_schema("postgresql://user:password@localhost:5432/mydb")
# Analyze the schema
print(f"Database has {len(schema['tables'])} tables")
for table_name, table_info in schema['tables'].items():
print(f"\nTable: {table_name}")
print(f"Columns: {len(table_info['columns'])}")
print(f"Primary Keys: {table_info['primary_keys']}")
print(f"Foreign Keys: {len(table_info['foreign_keys'])}")
🔒 セキュリティのベストプラクティス
- クライアント側のコードでデータベースの機密認証情報を公開しないでください
- 認証情報には環境変数または安全な設定管理を使用してください
- 適切なアクセス制御と認証を実装してください
- 可能な場合は、データベース接続に SSL/TLS を使用してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。