mcpField
@
@yuuzu/sql Mcp

@yuuzu/sql Mcp

Local
github.com/nakiriyuuzuDatabases0Updated 29w ago

About @yuuzu/sql Mcp

@yuuzu/sql Mcp is an MCP server for database operations across MSSQL, PostgreSQL, and SQLite. It provides connection, schema inspection, and SQL execution tools, with query permissions controlled by three modes.

Key features

  1. 01支持 MSSQL、PostgreSQL 和 SQLite
  2. 02连接与数据库切换
  3. 03查看表和视图结构
  4. 04执行 SQL 查询
  5. 05安全、写入和完整查询模式

Use cases

  1. 01检查数据库连接和数据库列表
  2. 02查看表结构以了解字段
  3. 03按权限模式执行 SQL
  4. 04连接 SQLite 文件或内存数据库

MCP support

It exposes eight database operation tools to MCP clients, including connection management, schema inspection, and query execution.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"sql": {
"command": "npx",
"args": [
"-y",
"@yuuzu/sql-mcp"
],
"env": {
"SQL_MCP_MODE": "<SQL_MCP_MODE>"
}
}
}
}
Run commandnpx -y @yuuzu/sql-mcp
Environment variables to set
SQL_MCP_MODE

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@yuuzu/sql-mcp

Tools

8

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
sslanyNoSSL configuration (postgres only)
portnumberNoPort number
userstringNoUsername for authentication (mssql, postgres)
engineenumYesDatabase engine typemssql | postgres | sqlite
serverstringNoServer hostname or IP address (mssql, postgres)
encryptbooleanNoEnable encryption (mssql only, default: true)
databasestringNoInitial database to connect to (mssql, postgres)
filenamestringNoFile path for SQLite, or ":memory:" for in-memory (sqlite only)
passwordstringNoPassword for authentication (mssql, postgres)
readonlybooleanNoOpen SQLite database in read-only mode (sqlite only)
windowsAuthbooleanNoUse Windows Authentication (mssql only)
fileMustExistbooleanNoThrow if SQLite file does not exist (sqlite only)
trustServerCertificatebooleanNoTrust server certificate (mssql only)

Details

From the project README

@yuuzu/sql-mcp

CI npm version

A Model Context Protocol (MCP) server for MSSQL, PostgreSQL, and SQLite database operations.

Installation

# Using bunx (recommended)
bunx @yuuzu/sql-mcp

# Using npx
npx @yuuzu/sql-mcp

Features

  • Multi-database support: MSSQL, PostgreSQL, and SQLite (via better-sqlite3)
  • 8 tools for database operations
  • Three query modes: safe, write, full
  • Advanced authentication: Windows Auth (MSSQL), SSL certificates (PostgreSQL)

Tools

ToolDescription
connect-databaseConnect to a database server
disconnectDisconnect from the current connection
connection-statusCheck connection status and query mode
list-databasesList all databases on the server
switch-databaseSwitch to a different database
list-tablesList all tables and views
describe-tableGet table schema details
execute-queryExecute SQL queries

Query Modes

Control query permissions via SQL_MCP_MODE environment variable:

ModeAllowed OperationsDescription
safe (default)SELECT, WITH, EXPLAINRead-only, safest
write+ INSERT, UPDATE, DELETEAllows data modification
full+ CREATE, DROP, ALTER, TRUNCATEFull access, use with caution

Note: PRAGMA statements (e.g. PRAGMA table_info(users)) are allowed in all modes including safe, as they are read-only metadata queries commonly used with SQLite.

# Example: Enable write mode
SQL_MCP_MODE=write bunx @yuuzu/sql-mcp

Usage Examples

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
    "mcpServers": {
        "sql-mcp": {
            "command": "bunx",
            "args": ["@yuuzu/sql-mcp"],
            "env": {
                "SQL_MCP_MODE": "safe"
            }
        }
    }
}
Connect to MSSQL
{
    "tool": "connect-database",
    "arguments": {
        "engine": "mssql",
        "server": "localhost",
        "port": 1433,
        "user": "sa",
        "password": "your_password",
        "database": "master"
    }
}
Connect to PostgreSQL
{
    "tool": "connect-database",
    "arguments": {
        "engine": "postgres",
        "server": "localhost",
        "port": 5432,
        "user": "postgres",
        "password": "your_password",
        "database": "postgres"
    }
}
Connect with Windows Authentication (MSSQL)
{
    "tool": "connect-database",
    "arguments": {
        "engine": "mssql",
        "server": "localhost",
        "windowsAuth": true
    }
}
Connect with 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"
        }
    }
}
Connect to SQLite (file)
{
    "tool": "connect-database",
    "arguments": {
        "engine": "sqlite",
        "filename": "/absolute/path/to/database.db"
    }
}
Connect to SQLite (in-memory)

Useful for testing, demos, or ephemeral scratch workspaces.

{
    "tool": "connect-database",
    "arguments": {
        "engine": "sqlite",
        "filename": ":memory:"
    }
}
Connect to SQLite (read-only)
{
    "tool": "connect-database",
    "arguments": {
        "engine": "sqlite",
        "filename": "/absolute/path/to/database.db",
        "readonly": true,
        "fileMustExist": true
    }
}

SQLite runtime note: SQLite support uses better-sqlite3 which requires Node.js. When running via bunx, MSSQL and PostgreSQL work normally but SQLite connections will return a clear error directing you to use npx or node instead.

Development

# 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

Release

Releases are automated via GitHub Actions. To create a new release:

# Create and push a version tag
git tag v1.0.0
git push origin v1.0.0

This will:

  1. Build the project
  2. Publish to npm with provenance
  3. Create a GitHub Release with auto-generated release notes

Requirements: Set NPM_TOKEN secret in your GitHub repository settings.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.