mcpField
@
@yuuzu/sql Mcp

@yuuzu/sql Mcp

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

@yuuzu/sql Mcp について

@yuuzu/sql Mcp は MSSQL、PostgreSQL、SQLite の操作に対応する MCP サーバーです。接続、スキーマ確認、SQL 実行のツールを備え、3 つのモードでクエリ権限を制御します。

主な機能

  1. 01MSSQL、PostgreSQL、SQLite に対応
  2. 02接続とデータベース切り替え
  3. 03テーブルとビューの構造確認
  4. 04SQL クエリの実行
  5. 05安全、書き込み、フルのクエリモード

活用シーン

  1. 01接続状態とデータベース一覧の確認
  2. 02テーブル構造からカラムを把握
  3. 03権限モードに応じた SQL 実行
  4. 04SQLite のファイルまたはメモリ DB への接続

MCP 対応

接続管理、スキーマ確認、クエリ実行など、データベース操作用の 8 種類のツールを MCP クライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"sql": {
"command": "npx",
"args": [
"-y",
"@yuuzu/sql-mcp"
],
"env": {
"SQL_MCP_MODE": "<SQL_MCP_MODE>"
}
}
}
}
起動コマンドnpx -y @yuuzu/sql-mcp
設定が必要な環境変数
SQL_MCP_MODE

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@yuuzu/sql-mcp

ツール

8

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
sslanyいいえSSL 設定(postgres のみ)
portnumberいいえポート番号
userstringいいえ認証用ユーザー名(mssql、postgres)
engineenumはいデータベースエンジンの種類mssql | postgres | sqlite
serverstringいいえサーバーのホスト名または IP アドレス(mssql、postgres)
encryptbooleanいいえ暗号化を有効にする(mssql のみ、デフォルト:true)
databasestringいいえ接続する初期データベース(mssql、postgres)
filenamestringいいえSQLite のファイルパス。インメモリの場合は ":memory:" を指定(sqlite のみ)
passwordstringいいえ認証用パスワード(mssql、postgres)
readonlybooleanいいえSQLite データベースを読み取り専用モードで開く(sqlite のみ)
windowsAuthbooleanいいえWindows Authentication を使用する(mssql のみ)
fileMustExistbooleanいいえSQLite ファイルが存在しない場合はエラーをスローする(sqlite のみ)
trustServerCertificatebooleanいいえサーバー証明書を信頼する(mssql のみ)

詳細

@yuuzu/sql-mcp

CI npm version

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-querySQL クエリを実行します

クエリモード

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

これにより、次の処理が行われます。

  1. プロジェクトをビルドします
  2. provenance 付きで npm に公開します
  3. 自動生成されたリリースノートを含む GitHub Release を作成します

要件:GitHub リポジトリの設定で NPM_TOKEN シークレットを設定してください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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