mcpField
D
Database Schema MCP Server

Database Schema MCP Server

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

Database Schema MCP Server について

Database Schema MCP Serverは、PostgreSQL、MySQL、SQLiteの構造を調べる開発者やAIクライアント向けです。テーブルの詳細に加え、ビューやインデックスを含む全体構造も取得できます。

主な機能

  1. 01PostgreSQL、MySQL、SQLiteへの接続
  2. 02データベースのテーブル一覧
  3. 03個別テーブルのスキーマ確認
  4. 04テーブル、ビュー、インデックスを含む構造取得

活用シーン

  1. 01データベース内のテーブル確認
  2. 02クエリ前のテーブル構造確認
  3. 03データベース全体の構造確認

MCP 対応

データベースへの接続、テーブル一覧やスキーマ情報の取得に使うMCPツールをクライアントに提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

データベーススキーマ MCP サーバー

さまざまな種類のデータベース(PostgreSQL、MySQL、SQLite など)のスキーマを読み取り、公開するツールを提供する高機能な MCP サーバーです。

🌟 機能

  • さまざまな種類のデータベースに接続
  • データベース内のすべてのテーブルを一覧表示
  • 特定のテーブルの詳細なスキーマ情報を取得
  • テーブル、ビュー、インデックスを含むデータベース全体のスキーマを取得
  • 複数のデータベースの種類に対応(PostgreSQL、MySQL、SQLite)

🚀 インストール

前提条件
  1. Python 3.x
  2. 仮想環境(推奨)
基本インストール
  1. 仮想環境を作成して有効化します:
# Create virtual environment
python -m venv venv

# Activate virtual environment
# On Unix/macOS:
source venv/bin/activate
# On Windows:
venv\Scripts\activate
  1. 依存関係をインストールします:
pip install -r requirements.txt
Windows MCP のインストール
  1. Node.js をインストールします:

    • Node.js 公式サイトからダウンロードしてインストールします
    • PowerShell で node --version を実行して、インストールを確認します
  2. システムの Path を更新します:

$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
  1. Node.js が認識されない場合は、手動で Path に追加します:

    • Windows + R を押します
    • sysdm.cpl と入力して Enter を押します
    • 「詳細設定」タブを開きます
    • 「環境変数」をクリックします
    • 「システム環境変数」で「Path」を見つけて選択します
    • 「編集」をクリックします
    • 存在しない場合は C:\Program Files\nodejs\ を追加します
    • すべてのウィンドウで「OK」をクリックします
    • コンピューターを再起動します
  2. 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'])}")

🔒 セキュリティのベストプラクティス

  1. クライアント側のコードでデータベースの機密認証情報を公開しないでください
  2. 認証情報には環境変数または安全な設定管理を使用してください
  3. 適切なアクセス制御と認証を実装してください
  4. 可能な場合は、データベース接続に SSL/TLS を使用してください

コメント

MCP は初めてですか?

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

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