DevDb MCP Server

by damms005
Verified
MIT License
852
  • Linux
  • Apple

開発データベース

データベースを自動的に読み込み、データベースからアフォーダンスを提供して開発とデバッグを支援する軽量の VS Code 拡張機能です。

開発者向けに 💖 で構築されました。

特集記事

最新機能

  1. Cursor、Windsurf などに接続するための MCP サーバー。
  2. クイックテーブルアクセス: Cmd+K Cmd+G (Mac) またはCtrl+K Ctrl+G (Windows/Linux) を押すと、任意のテーブルを素早く開くことができます。
  3. 新しいゼロ構成サポート:DDEVで実行されるアプリケーション
  4. 新しいゼロ設定サポート: Adonis (Lucid ORM) - MySQL および PostgreSQL

スポンサー

DevDb の以下のスポンサーの皆様に心から感謝いたします。

  • Traycer AI - VS Code ワークフローにネイティブに統合された強力な AI アシスタンス。

特徴

  • MCP サーバー: AI 搭載 IDE や Cursor、Windsurf などの MCP クライアントにデータベース情報を提供します。
  • クイック テーブル オープン コマンド: Cmd+K Cmd+G (Mac) またはCtrl+K Ctrl+G (Windows/Linux) を押すと、任意のテーブルをすばやく開くことができます。
  • **設定不要のデータベース自動検出:**データベースを自動的に検出して読み込みます。手動設定は不要です。DDEV、Adonis、Laravel、コンテナ化されたセットアップ(Laravel Sail)などの環境をサポートします。
  • **ローカル開発のためのデータベース アフォーダンス:**データベース スキーマを深く理解している DevDb は、Eloquent モデル ファクトリのワンクリック生成など、開発とデバッグに役立つアフォーダンスを提供できます。
  • 強力な IDE 統合: DevDb はデータベースを IDE と適切に統合し、コンテキスト メニューや CodeLens 統合などの非常に便利な IDE ベースの機能をエディター内で直接提供し、コードからテーブルを開いたり、クエリ最適化タスクの作業時にSQL クエリ説明を呼び出したりする機能を提供します。
  • **直感的な UX を備えた豊富なデータベース クライアント:**ワンクリックでのデータ参照、インライン編集、削除、ワンクリックでの再接続などを実行できる専用のデータベース クライアント ビュー。レスポンシブなインターフェイス内で、簡単に変更したり、値を null に設定したり、複雑な JSON データをプレビューしたりできます。
  • **データのエクスポート:**テーブル データを、クリップボードにコピーされたりファイルに保存されたりして、適切にフォーマットされた JSON または SQL INSERT ステートメントとしてエクスポートします。
  • 包括的なマルチデータベース サポート: SQLite、MySQL、MariaDB、PostgreSQL、Microsoft SQL Server とシームレスにインターフェイスします。今後さらに多くのデータベースがサポートされる予定です。
  • **直感的な構成システム:**自動ゼロ構成が利用できない環境では、DevDb は、適切にフォーマットされたテンプレートを生成するクイック スニペットと、JSON スキーマ検証 IntelliSense を提供します。これらを合わせると、データベースに接続するための構成ファイルの作成が素晴らしいエクスペリエンスになります。
  • 統合フレームワーク&ツールサポート: Laravel、DDEV、Adonisといった人気のフレームワークとツールに特化したサポートにより、シームレスな開発エクスペリエンスを実現します。お使いの環境に合わせた特別な機能が必要ですか?お気軽にご相談ください!
  • クロスプラットフォームの互換性: Linux、macOS、Windows で一貫して動作するように設計されており、これらすべてのプラットフォームで作業を継続できるため、最大限の柔軟性が確保されます。

スクリーンショット

要件

OS/プラットフォームのサポート

  • Linux *(Linux-x64、Linux-arm64、Linux-arm、Alpine-x64)
  • macOS (Darwin-x64、Darwin-arm64 Apple Silicon)
  • Windows (Win32-x64)


クイックスタート

[!NOTE] DevDbはいくつかの言語とフレームワークの統合も提供します

UIアクションとキーマップ

  • Cmd + K + Dでビューパネルを切り替えます
  • Cmd + K + Gでテーブルへ移動
  • サイドバーのテーブル名をCmd + Click 、現在のタブでテーブルが開きます。
  • Cmd + Click編集します
  • 任意の値をクリックすると、ペインでプレビューされます(整形された JSON 文字列値を表示するのに便利です)
  • 右側のペインには、現在のテーブルスキーマまたは選択した値を表示するオプションがあります。
  • 編集セッション中(データの編集/削除中にアクティブ化)には、スクリーンショットに示すようにコントロールボックスが表示されます。
  • 編集セッション中: Cmd + Zで変更を元に戻す、 Cmd + Yで変更をやり直す、 Cmd + Sで変更を保存する
  • 「新機能を提案」ボタンを追加しました

ワンクリックアクション(データ操作)

  • 表の行を削除するには、ゴミ箱アイコンをクリックします。
  • データベース値のSet nullボタンをクリックすると、値がnullに設定されます。

サポートされているデータベース

現在サポートされているデータベース:

  • SQLite
  • MySQL
  • マリアDB
  • PostgreSQL
  • マイクロソフトSQLサーバー

データベースの読み込み

DevDbは、VS Codeワークスペース(ゼロ設定モード)からの接続情報を使用して、データベースを自動的に検出し、読み込むことができます。このゼロ設定の自動検出が利用できない場合は、設定ファイルオプションが提供されます。

1. ゼロ構成(自動データベース検出)

ワークスペース ルートに次のいずれかが含まれている場合、構成ファイルは必要ありません。

  1. DDEVによって管理されるアプリケーション
  2. MySQL と PostgreSQL のデフォルトの .env 設定を使用するAdonis (Lucid ORM を使用)
  3. デフォルトのローカルSQLiteデータベースを備えたLaravel
  4. MySQL/MariaDB、PostgreSQL、Microsoft SQL Server 用のデフォルトの .env 設定を備えた Laravel
  5. デフォルトの .env/docker-compose.yml 設定を備えたコンテナ化された Laravel MySQL (Laravel Sail) (開発コンテナのサポートを含む)

2. 設定ベースのデータベース読み込み

ご使用の環境でゼロ構成サポートが利用できない場合は、データベース接続の詳細を含む.devdbrcファイルをプロジェクト ルートに作成します。

[!警告] .devdbrc設定ファイルを.gitignoreに追加して、バージョン管理から除外してください。これにより機密情報が保護され、チームメンバーは異なるデータベース設定を使用できるようになります。

設定ファイルには、データベース接続オブジェクトの配列が1つ含まれている必要があります。DevDbは、 .devdbrcに豊富な編集機能を提供します。

  • JSONスキーマ検証:自動構成検証
  • IntelliSense : typeを含むすべてのフィールドの自動補完
  • スニペット: クイック構成テンプレート:
    • devdb mysql : MySQLの設定
    • devdb mariadb : MariaDB の設定
    • devdb postgres : PostgreSQLの設定
    • devdb sqlite : SQLite の設定
    • devdb mssql : Microsoft SQL Server の構成

設定ファイルの例

[ { "name": "My test MySQL database", "type": "mysql", "host": "127.0.0.1", "port": "3306", "username": "root", "password": "12345", "database": "test" // <-- the database to show in VS Code DevDb view }, { "type": "sqlite", "path": "/path/to/database.sqlite" } ]

ツールとフレームワークの統合

コンテキストメニューエントリ

任意のフレームワーク/プログラミング言語のエディターから名前/モデル/エンティティを右クリックして、DevDb で任意のデータベース テーブルを開きます。

Node.jsアプリの例

ララベル

Eloquentモデルコードレンズ

DevDb は、次の Code Lens 機能を提供します。

  • Eloquentモデルの基礎となるテーブルの表示
  • モデルのファクトリーを生成する(基礎となるテーブルから実際のデータが自動的に事前入力される)

[!NOTE] ファクトリー生成はコンテキストメニューからも利用できます

クエリの説明

Query Explainer はMySQL Visual Explainと統合され、MySQL のクエリ実行プランを分析して SQL クエリを最適化します。使用方法:

  1. SQLクエリ(EloquentまたはDBファサード)を含むLaravel PHPファイルを開きます。
  2. 分析するSQLクエリを選択する
  3. コードレンズのExplain queryをクリックするか、コンテキストメニューからExplain queryを選択します。
  4. ブラウザで説明を表示するか、URLをコピーしてください

[!NOTE] VS Code のマルチルートワークスペースのサポートは現在開発中です。進捗状況はこちらでご確認ください。

MCP構成

  1. スクリーンショットに示すように、ハンマーアイコンをクリックして MCP 設定をコピーします。
  2. IDE の MCP 設定ファイル (例: .vscode/mcp.jsonwindsurf/mcp_config.jsonなど) に、コピーした JSON を利用可能な MCP サーバーの 1 つとして貼り付けます。

これで、IDE/AI ツールはデータベースの詳細を使用できるようになります。

URI ハンドラー

DevDbは、外部アプリケーションやリンクから特定のデータベーステーブルを直接開くためのカスタムURIハンドラを提供します。これは、DevDbを他のツールと統合したり、頻繁にアクセスするテーブルへのショートカットを作成したりする際に便利です。

URI形式

URI 形式は次のパターンに従います。

devdb://open/table?connectionId=123&database=main&table=users&workspace=...&authority=...

パラメータ:

  • connectionId : データベース接続のID
  • database : データベース名
  • table : 開くテーブル名
  • workspace : (オプション) ワークスペースのパス
  • authority : (オプション) URIの権限

サポート

DevDbの開発は、開発への貢献やスポンサーシップを通じて支援できます。特典付きのDevDbスポンサーシップを歓迎いたします。ご利用可能なスポンサーシップのオプションについては、スポンサーシップページをご覧ください。

また、既存のスポンサーが提供する素晴らしいサービスをご利用いただくか、購読していただくことで、スポンサーの皆様に「ありがとう」をお伝えし、サポートしていただければ幸いです。

貢献

[!IMPORTANT] 現在、貢献は拡張機能のコア コードに限定されています。UI コードは一般公開できません。

  1. このリポジトリをフォークし、フォークしたリポジトリをローカルにクローンします
  2. 依存関係をインストールするにはbun install実行します。
  3. コードベースに貢献しましょう
  4. F5キーを押してデバッガーを起動し、ローカルで変更をテストします。
  5. bun run test-servicesでテストスイートを実行し、すべてのテストが合格することを確認します。
  6. フォークに変更をプッシュする
  7. このリポジトリにPRを開く
  8. お花を持って行ってください!💐🌺🌹
ID: qnessxi9ej