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
- 01支持 MSSQL、PostgreSQL 和 SQLite
- 02连接与数据库切换
- 03查看表和视图结构
- 04执行 SQL 查询
- 05安全、写入和完整查询模式
Use cases
- 01检查数据库连接和数据库列表
- 02查看表结构以了解字段
- 03按权限模式执行 SQL
- 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.
Tools
8Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| ssl | any | No | SSL configuration (postgres only) |
| port | number | No | Port number |
| user | string | No | Username for authentication (mssql, postgres) |
| engine | enum | Yes | Database engine typemssql | postgres | sqlite |
| server | string | No | Server hostname or IP address (mssql, postgres) |
| encrypt | boolean | No | Enable encryption (mssql only, default: true) |
| database | string | No | Initial database to connect to (mssql, postgres) |
| filename | string | No | File path for SQLite, or ":memory:" for in-memory (sqlite only) |
| password | string | No | Password for authentication (mssql, postgres) |
| readonly | boolean | No | Open SQLite database in read-only mode (sqlite only) |
| windowsAuth | boolean | No | Use Windows Authentication (mssql only) |
| fileMustExist | boolean | No | Throw if SQLite file does not exist (sqlite only) |
| trustServerCertificate | boolean | No | Trust server certificate (mssql only) |
Details
From the project README@yuuzu/sql-mcp
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
| Tool | Description |
|---|---|
connect-database | Connect to a database server |
disconnect | Disconnect from the current connection |
connection-status | Check connection status and query mode |
list-databases | List all databases on the server |
switch-database | Switch to a different database |
list-tables | List all tables and views |
describe-table | Get table schema details |
execute-query | Execute SQL queries |
Query Modes
Control query permissions via SQL_MCP_MODE environment variable:
| Mode | Allowed Operations | Description |
|---|---|---|
safe (default) | SELECT, WITH, EXPLAIN | Read-only, safest |
write | + INSERT, UPDATE, DELETE | Allows data modification |
full | + CREATE, DROP, ALTER, TRUNCATE | Full access, use with caution |
Note:
PRAGMAstatements (e.g.PRAGMA table_info(users)) are allowed in all modes includingsafe, 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-sqlite3which requires Node.js. When running viabunx, MSSQL and PostgreSQL work normally but SQLite connections will return a clear error directing you to usenpxornodeinstead.
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:
- Build the project
- Publish to npm with provenance
- Create a GitHub Release with auto-generated release notes
Requirements: Set NPM_TOKEN secret in your GitHub repository settings.
License
MIT
Comments
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.