@yuuzu/sql Mcp について
@yuuzu/sql Mcp は MSSQL、PostgreSQL、SQLite の操作に対応する MCP サーバーです。接続、スキーマ確認、SQL 実行のツールを備え、3 つのモードでクエリ権限を制御します。
主な機能
- 01MSSQL、PostgreSQL、SQLite に対応
- 02接続とデータベース切り替え
- 03テーブルとビューの構造確認
- 04SQL クエリの実行
- 05安全、書き込み、フルのクエリモード
活用シーン
- 01接続状態とデータベース一覧の確認
- 02テーブル構造からカラムを把握
- 03権限モードに応じた SQL 実行
- 04SQLite のファイルまたはメモリ DB への接続
MCP 対応
接続管理、スキーマ確認、クエリ実行など、データベース操作用の 8 種類のツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| ssl | any | いいえ | SSL 設定(postgres のみ) |
| port | number | いいえ | ポート番号 |
| user | string | いいえ | 認証用ユーザー名(mssql、postgres) |
| engine | enum | はい | データベースエンジンの種類mssql | postgres | sqlite |
| server | string | いいえ | サーバーのホスト名または IP アドレス(mssql、postgres) |
| encrypt | boolean | いいえ | 暗号化を有効にする(mssql のみ、デフォルト:true) |
| database | string | いいえ | 接続する初期データベース(mssql、postgres) |
| filename | string | いいえ | SQLite のファイルパス。インメモリの場合は ":memory:" を指定(sqlite のみ) |
| password | string | いいえ | 認証用パスワード(mssql、postgres) |
| readonly | boolean | いいえ | SQLite データベースを読み取り専用モードで開く(sqlite のみ) |
| windowsAuth | boolean | いいえ | Windows Authentication を使用する(mssql のみ) |
| fileMustExist | boolean | いいえ | SQLite ファイルが存在しない場合はエラーをスローする(sqlite のみ) |
| trustServerCertificate | boolean | いいえ | サーバー証明書を信頼する(mssql のみ) |
詳細
@yuuzu/sql-mcp
MSSQL、PostgreSQL、SQLite のデータベース操作に対応する Model Context Protocol(MCP)サーバーです。
インストール
# Using bunx (recommended)
bunx @yuuzu/sql-mcp
# Using npx
npx @yuuzu/sql-mcp
機能
- マルチデータベース対応:MSSQL、PostgreSQL、SQLite(better-sqlite3 経由)
- データベース操作用の8 つのツール
- 3 つのクエリモード:safe、write、full
- 高度な認証:Windows 認証(MSSQL)、SSL 証明書(PostgreSQL)
ツール
| ツール | 説明 |
|---|---|
connect-database | データベースサーバーに接続します |
disconnect | 現在の接続を切断します |
connection-status | 接続状態とクエリモードを確認します |
list-databases | サーバー上のすべてのデータベースを一覧表示します |
switch-database | 別のデータベースに切り替えます |
list-tables | すべてのテーブルとビューを一覧表示します |
describe-table | テーブルスキーマの詳細を取得します |
execute-query | SQL クエリを実行します |
クエリモード
SQL_MCP_MODE 環境変数でクエリの権限を制御します。
| モード | 許可される操作 | 説明 |
|---|---|---|
safe(デフォルト) | SELECT、WITH、EXPLAIN | 読み取り専用で、最も安全です |
write | + INSERT、UPDATE、DELETE | データの変更が可能です |
full | + CREATE、DROP、ALTER、TRUNCATE | フルアクセスです。使用には注意してください |
注:
PRAGMA文(例:PRAGMA table_info(users))は、SQLite でよく使われる読み取り専用のメタデータクエリであるため、safeを含むすべてのモードで許可されます。
# Example: Enable write mode
SQL_MCP_MODE=write bunx @yuuzu/sql-mcp
使用例
Claude Desktop の設定
claude_desktop_config.json に追加します。
{
"mcpServers": {
"sql-mcp": {
"command": "bunx",
"args": ["@yuuzu/sql-mcp"],
"env": {
"SQL_MCP_MODE": "safe"
}
}
}
}
MSSQL に接続する
{
"tool": "connect-database",
"arguments": {
"engine": "mssql",
"server": "localhost",
"port": 1433,
"user": "sa",
"password": "your_password",
"database": "master"
}
}
PostgreSQL に接続する
{
"tool": "connect-database",
"arguments": {
"engine": "postgres",
"server": "localhost",
"port": 5432,
"user": "postgres",
"password": "your_password",
"database": "postgres"
}
}
Windows 認証で接続する(MSSQL)
{
"tool": "connect-database",
"arguments": {
"engine": "mssql",
"server": "localhost",
"windowsAuth": true
}
}
SSL で接続する(PostgreSQL)
{
"tool": "connect-database",
"arguments": {
"engine": "postgres",
"server": "your-server.com",
"user": "postgres",
"password": "your_password",
"ssl": {
"rejectUnauthorized": true,
"ca": "/path/to/ca-certificate.crt"
}
}
}
SQLite に接続する(ファイル)
{
"tool": "connect-database",
"arguments": {
"engine": "sqlite",
"filename": "/absolute/path/to/database.db"
}
}
SQLite に接続する(インメモリ)
テスト、デモ、一時的なスクラッチワークスペースに便利です。
{
"tool": "connect-database",
"arguments": {
"engine": "sqlite",
"filename": ":memory:"
}
}
SQLite に接続する(読み取り専用)
{
"tool": "connect-database",
"arguments": {
"engine": "sqlite",
"filename": "/absolute/path/to/database.db",
"readonly": true,
"fileMustExist": true
}
}
SQLite のランタイムに関する注意: SQLite のサポートでは Node.js が必要な
better-sqlite3を使用します。bunx経由で実行する場合、MSSQL と PostgreSQL は通常どおり動作しますが、SQLite 接続ではnpxまたはnodeを使用するよう案内する明確なエラーが返されます。
開発
# Install dependencies
bun install
# Run in development mode
bun run dev
# Run tests
bun test
# Run tests with coverage
bun test --coverage
# Build
bun run build
# Type check
bun run typecheck
リリース
リリースは GitHub Actions によって自動化されています。新しいリリースを作成するには、次の手順を実行します。
# Create and push a version tag
git tag v1.0.0
git push origin v1.0.0
これにより、次の処理が行われます。
- プロジェクトをビルドします
- provenance 付きで npm に公開します
- 自動生成されたリリースノートを含む GitHub Release を作成します
要件:GitHub リポジトリの設定で NPM_TOKEN シークレットを設定してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。