JUHE API Marketplace
NakiriYuuzu avatar
MCP Server

MSSQL MCP Server

Enables interaction with Microsoft SQL Server databases through a Model Context Protocol interface, supporting database connections, switching between databases, and executing secure SELECT queries.

0
GitHub Stars
10/8/2025
Last Updated
MCP Server Configuration
1{
2 "name": "mssql",
3 "command": "bunx",
4 "args": [
5 "--bun",
6 "mssql-mcp"
7 ]
8}
JSON8 lines

README Documentation

MSSQL MCP Server - Bunx Edition 🚀

使用 BunBunx 驅動的高效能 MSSQL MCP 伺服器,比傳統 Node.js 快 100 倍!

MSSQL Server MCP server

🎯 核心優勢

  • ⚡ 極速啟動: 利用 Bun 的快速啟動時間,比 npx 快約 100 倍
  • 📦 原生 TypeScript: 無需編譯,直接執行 TypeScript 程式碼
  • 🔄 自動安裝: Bunx 自動管理依賴套件
  • 💾 全域快取: 智慧快取機制,避免重複下載
  • 🏗️ 獨立執行檔: 可編譯為單一執行檔,無需安裝 runtime

📋 先決條件

# 安裝 Bun (Windows/Linux/macOS)
curl -fsSL https://bun.sh/install | bash

# 或使用 npm
npm install -g bun

🚀 快速開始

方法 1: 使用 Bunx (推薦 - 無需安裝)

# 從 npm 自動安裝並執行(最新版本)
bunx --bun @yuuzu/mssql-mcp

# 或執行本地套件
bunx --bun mssql-mcp

方法 2: 使用 npm/npx

# 全域安裝
npm install -g @yuuzu/mssql-mcp
mssql-mcp

# 或使用 npx(無需安裝)
npx @yuuzu/mssql-mcp

方法 3: 開發模式

# 克隆專案
git clone https://github.com/nakiriyuuzu/mssql-mcp.git
cd mssql-mcp

# 安裝依賴
bun install

# 直接執行 TypeScript
bun run start

# 或
bun run src/index.ts

方法 4: 編譯獨立執行檔

# 編譯為跨平台執行檔
bun run build

# 編譯為 Windows 執行檔
bun run build:exe

# 執行編譯後的檔案
./dist/mssql-mcp

🔒 安全性與權限控制

環境變數權限設定

MSSQL MCP Server 預設為唯讀模式,只允許執行 SELECT 查詢。你可以透過環境變數啟用不同的權限層級:

環境變數說明預設值
MSSQL_ALLOW_INSERT允許 INSERT 操作false
MSSQL_ALLOW_UPDATE允許 UPDATE 操作false
MSSQL_ALLOW_DELETE允許 DELETE 操作false
MSSQL_DANGER_MODEDanger 模式)false

預設啟動模式

# 🟢 安全模式(預設)- 只允許 SELECT
bun run start
bunx --bun @yuuzu/mssql-mcp

# 🟡 唯讀模式 - 明確禁止所有寫入
bun run start:safe
MSSQL_ALLOW_INSERT=false MSSQL_ALLOW_UPDATE=false MSSQL_ALLOW_DELETE=false bunx --bun @yuuzu/mssql-mcp

# 🟠 寫入模式 - 允許 INSERT 和 UPDATE
bun run start:write
MSSQL_ALLOW_INSERT=true MSSQL_ALLOW_UPDATE=true bunx --bun @yuuzu/mssql-mcp

# 🔴 完整模式 - 允許 INSERT、UPDATE 和 DELETE
bun run start:full
MSSQL_ALLOW_INSERT=true MSSQL_ALLOW_UPDATE=true MSSQL_ALLOW_DELETE=true bunx --bun @yuuzu/mssql-mcp

# 🔥 Danger 模式 - 允許所有
bun run start:danger
MSSQL_DANGER_MODE=true bunx --bun @yuuzu/mssql-mcp

Windows 環境設定

# PowerShell
$env:MSSQL_DANGER_MODE="true"
bunx --bun @yuuzu/mssql-mcp

# CMD
set MSSQL_DANGER_MODE=true && bunx --bun @yuuzu/mssql-mcp

🔧 Claude Code 整合

1. 自動設定 (使用 .mcp.json)

專案已包含 .mcp.json 設定檔,Claude Code 會自動偵測:

{
  "mcpServers": {
    "mssql": {
      "command": "bunx",
      "args": ["--bun", "mssql-mcp"]
    }
  }
}

2. 手動設定選項

編輯 mcp-config-bun.json 選擇不同的執行模式:

{
  "mcpServers": {
    "mssql-local": {
      "comment": "使用本地安裝的套件 (最快)",
      "command": "bunx",
      "args": ["--bun", "mssql-mcp"]
    },
    "mssql-npm": {
      "comment": "從 npm 自動安裝並執行",
      "command": "bunx",
      "args": ["--bun", "@yuuzu/mssql-mcp"]
    },
    "mssql-dev": {
      "comment": "開發模式 - 直接執行 TypeScript",
      "command": "bun",
      "args": ["run", "./src/index.ts"]
    },
    "mssql-compiled": {
      "comment": "執行編譯後的獨立執行檔",
      "command": "./dist/mssql-mcp",
      "args": []
    }
  }
}

3. 帶權限設定的 MCP 配置

在 Claude Code 的 MCP 配置中加入環境變數來控制權限:

{
  "mcpServers": {
    "mssql-readonly": {
      "comment": "唯讀模式 - 只允許 SELECT",
      "command": "bunx",
      "args": ["--bun", "@yuuzu/mssql-mcp"],
      "env": {
        "MSSQL_ALLOW_INSERT": "false",
        "MSSQL_ALLOW_UPDATE": "false",
        "MSSQL_ALLOW_DELETE": "false"
      }
    },
    "mssql-write": {
      "comment": "寫入模式 - 允許 INSERT 和 UPDATE",
      "command": "bunx",
      "args": ["--bun", "@yuuzu/mssql-mcp"],
      "env": {
        "MSSQL_ALLOW_INSERT": "true",
        "MSSQL_ALLOW_UPDATE": "true",
        "MSSQL_ALLOW_DELETE": "false"
      }
    },
    "mssql-full": {
      "comment": "完整模式 - 允許 INSERT、UPDATE 和 DELETE",
      "command": "bunx",
      "args": ["--bun", "@yuuzu/mssql-mcp"],
      "env": {
        "MSSQL_ALLOW_INSERT": "true",
        "MSSQL_ALLOW_UPDATE": "true",
        "MSSQL_ALLOW_DELETE": "true"
      }
    },
    "mssql-danger": {
      "comment": "⚠️ DANGER 模式 - 允許大部分操作(慎用!)",
      "command": "bunx",
      "args": ["--bun", "@yuuzu/mssql-mcp"],
      "env": {
        "MSSQL_DANGER_MODE": "true"
      }
    }
  }
}

💡 提示:你可以在 Claude Code 中同時配置多個不同權限等級的 MSSQL 伺服器,根據需求選擇使用。

📊 效能比較

執行方式啟動時間記憶體使用特點
bunx --bun~10ms最快,自動管理依賴
bun run~8ms最低開發模式,即時執行
npm/npx~1000ms傳統方式,較慢
獨立執行檔~5ms無需 runtime,部署簡單

🛠️ 開發指令

# 開發模式 (熱重載)
bun run dev

# 執行測試
bun test

# 執行 Bunx 相容性測試
bun run test-bunx.js

# 建置獨立執行檔
bun run build

# 清理建置檔案
bun run clean

🐛 故障排除

Bunx 找不到套件

# 確保套件已正確安裝
bun install

# 或使用完整套件名稱
bunx --bun @yuuzu/mssql-mcp

權限問題

# Unix/Linux/macOS
chmod +x src/index.ts

# Windows - 使用 bun run
bun run start

Claude Code 無法連接

  1. 確認 Bun 已正確安裝:bun --version
  2. 檢查 .mcp.json 設定
  3. 重新載入 Claude Code 視窗

🔍 測試執行

# 執行完整測試套件
bun test

# 測試 Bunx 相容性
bun run test-bunx.js

# 手動測試伺服器啟動
echo "" | bun run src/index.ts

📦 發布到 npm

# 使用 Bun 發布
bun publish

# 或使用 npm
npm publish

🎯 最佳實踐

  1. 開發階段: 使用 bun run dev 快速迭代
  2. 測試階段: 使用 bunx --bun mssql-mcp 測試套件執行
  3. 生產部署: 編譯為獨立執行檔,無需安裝 runtime
  4. Claude Code: 使用 .mcp.json 自動設定

🚄 為什麼選擇 Bun?

  • 速度: 啟動時間比 Node.js 快 100 倍
  • 原生 TypeScript: 無需 ts-node 或編譯步驟
  • 內建工具: 包含套件管理、測試、打包等功能
  • 相容性: 高度相容 Node.js 生態系統
  • 效能: 更低的記憶體使用和 CPU 消耗

📚 相關資源

Quick Install

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source

Boost your projects with Wisdom Gate LLM API

Supporting GPT-5, Claude-4, DeepSeek v3, Gemini and more.

Enjoy a free trial and save 20%+ compared to official pricing.