USQLMCP について
USQLMCPは、データベースへのアクセスに使う汎用SQL MCPサーバーです。MCPクライアントからデータの検索・変更、テーブル作成、スキーマ確認を行えます。
主な機能
- 01SELECTクエリの実行
- 02INSERT、UPDATE、DELETE、ALTERの実行
- 03データベーステーブルの作成
- 04テーブルスキーマのJSON取得
- 05スキーマをMCPリソースとして公開
活用シーン
- 01MCPクライアントからデータベースのレコードを読む
- 02行を変更して影響行数を確認
- 03テーブルを作成し列の型を確認
MCP 対応
USQLMCPはSQL操作をMCPツールとして、テーブルスキーマをリソースとして公開します。MCPクライアントはstdioで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
usqlmcp
ユニバーサル SQL MCP(Model Context Protocol)です。
機能
-
ツール
read_query:SELECTクエリを実行し、結果を返します。write_query:INSERT、UPDATE、DELETE、またはALTERクエリを実行し、影響を受けた行数を返します。create_table:CREATE TABLEクエリを実行し、データベースに新しいテーブルを定義します。describe_table_schema:サポートされているすべてのデータベースについて、列名やデータ型を含む指定テーブルの JSON スキーマを取得します。
-
リソース
usqlmcp://<table>/schema:データベース内の任意のテーブルのスキーマに JSON リソースとしてアクセスします。- 各テーブルの個別のスキーマリソースは、自動的に検出され登録されます。
インストール
usqlmcp は[リリース経由で][]入手できます。
リリース経由でのインストール
- お使いのプラットフォーム向けのリリースをダウンロードします
.tar.bz2または.zipファイルからusqlmcpまたはusqlcmp.exeファイルを展開します- 展開した実行ファイルを、
$PATH(Linux/macOS)または%PATH%(Windows)内の任意の場所に移動します
セットアップ
Cursor での MCP 統合
以下の設定を ~/.cursor/mcp.json ファイルに追加するか、Cursor の設定メニューから設定してください。
{
"mcpServers": {
"usqlmcp": {
"command": "usqlmcp",
"args": ["--dsn", "sqlite3:///your/db/dsn/file.db"]
}
}
}
その他のツール
{
"servers": {
"usqlmcp": {
"type": "stdio",
"command": "usqlmcp",
"args": ["--dsn", "sqlite3:///your/db/dsn/file.db"]
}
}
}
Docker の使用
MCP JSON 設定で適切なコマンドと引数を指定することで、Cursor で usqlmcp を Docker 経由で実行するように設定できます。
例:Postgres(Docker)
以下を ~/.cursor/mcp.json に追加します。
{
"mcpServers": {
"usqlmcp": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"ghcr.io/thesoulless/usqlmcp:latest",
"--dsn", "postgres://username:[email protected]:5432/dbname?sslmode=disable"
]
}
}
}
注:ホストマシン上のデータベースに接続するときは、localhost または 127.0.0.1 の代わりに host.docker.internal を使用してください。
例:ボリュームマウントを使用した SQLite(Docker)
ローカルマシンの SQLite データベースファイルを使用するには、以下を ~/.cursor/mcp.json に追加します。
{
"mcpServers": {
"usqlmcp": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/path/to/local/mydatabase.db:/data/mydatabase.db",
"ghcr.io/thesoulless/usqlmcp:latest",
"--dsn", "sqlite3:///data/mydatabase.db"
]
}
}
}
これにより、ローカルの SQLite データベースファイルがコンテナに直接マウントされ、必要なものだけにアクセスできるようになります。
謝辞
このプロジェクトは、SQL データベース向けのユニバーサルなコマンドラインインターフェースである usql に依存しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。