本文件專為 Visual Studio Code(VS Code) 使用者設計,說明如何在VS Code中設定並使用MySQLMSSQLMCP服務,搭配 GitHub Copilot Agent Mode 實現 AI 驅動的資料庫查詢。


Docker 安裝

  1. 基本元件

  2. Docker 啟動

  3. nano %UserProfile%\.wslconfig

    [wsl2]
    memory=4GB
    processors=4
    guiApplications=false
  4. 重新啟動 wsl
    wsl --shutdown

# 清理背景失敗的容器(強制刪除卡住的容器)
docker rm -f mysql-mcp
# 用 mysql:8.0 啟動容器
docker run -d --name mysql-mcp -e MYSQL_ROOT_PASSWORD=1qaz@wsx -e MYSQL_DATABASE=mcp -p 6033:3306 mysql:8.0 --skip-name-resolve --default-authentication-plugin=mysql_native_password
# 查看容器日誌確認是否 Ready
docker logs -f mysql-mcp
# 直接使用 Docker 內部的 CLI 登入(推薦選項 A)
docker exec -it mysql-mcp mysql -uroot -p1qaz@wsx
# 若仍想用 Windows CMD 的 mysql 連線 (選項 B)
mysql -h 127.0.0.1 -P 6033 -u root -p
# 確認 MySQL 容器運作中
docker ps
# 若未啟動,請先啟動 `docker start mysql-mcp`
# 啟動 phpMyAdmin 容器
# CMD 執行以下指令,透過 `--link` 參數將 phpMyAdmin 連接到 `mysql-mcp` 容器:
docker run -d --name myadmin -p 8080:80 --link mysql-mcp:db phpmyadmin/phpmyadmin
# -p 8080:80: 將網頁介面映射到本機的 `8080` 端口。
# --link mysql-mcp:db :讓 phpMyAdmin 自動把 mysql-mcp 容器當作預設的資料庫主機(db)。
# 確認 phpmyadmin 已成功運行:
# docker ps
# 應該會看到 mysql-mcp 與 myadmin 兩個容器都在 Up 狀態
# 開啟瀏覽器登入: http://localhost:8080  
# 在登入畫面輸入:
# - **伺服器 (Server)**:`db` (或保持預設)
# - **使用者名稱 (Username)**:`root`
# - **密碼 (Password)**:`1qaz@wsx`

一、架構概覽

VS Code GitHub Copilot(Agent Mode)

    │  呼叫工具(MCP Tools)

┌─────────────────────────────────────┐
│          .vscode/mcp.json           │
│  ┌──────────────┐ ┌──────────────┐  │
│  │  MCP: mysql  │ │  MCP: mssql  │  │
│  └──────┬───────┘ └──────┬───────┘  │
└─────────┼────────────────┼──────────┘
          ▼                ▼
    MySQL 資料庫      SQL Server 資料庫

二、前置需求

2.1 必備軟體

軟體版本需求下載連結
Visual Studio Code1.99 以上(支援 MCP)https://code.visualstudio.com/
GitHub Copilot 擴充套件最新版VS Code 內建市集安裝
Python3.10+https://www.python.org/
uv(推薦)最新版https://docs.astral.sh/uv/
Node.js(備選方案)18+ LTShttps://nodejs.org/

2.2 MSSQL 額外需求

IMPORTANT

連接 SQL Server 必須安裝 Microsoft ODBC Driver for SQL Server(版本 17 或 18)

安裝步驟(Windows):

:: 使用 winget 安裝(Windows 10/11
winget install Microsoft.ODBCDriverforSQLServer
 
:: 或至官方網頁下載
:: https://learn.microsoft.com/zh-tw/sql/connect/odbc/download-odbc-driver-for-sql-server

2.3 安裝 GitHub Copilot 擴充套件

  1. 開啟 VS Code
  2. Ctrl + Shift + X 開啟擴充套件面板
  3. 搜尋 「GitHub Copilot」
  4. 點選安裝,並登入 GitHub 帳號

三、VS Code 相關組態設定

3.1 Github Copilot 相關的設定

Ctrl + Shift + P,輸入 「Open User Settings (JSON)」,加入以下設定:

{
  // 啟用 GitHub Copilot,對所有語言預設開啟
  "github.copilot.enable": {
    "*": true,
    // 純文字檔不提供 Copilot 建議
    "plaintext": false,
    // Markdown 檔提供 Copilot 建議
    "markdown": true
  },
  // 啟用 Copilot Chat 的 Agent 功能;若你不使用 Chat/Agent,可刪除這一行
  "github.copilot.chat.agent.enabled": true,
  // 讓 Copilot Chat 嘗試使用繁體中文回應;屬於個人偏好,非必須
  "github.copilot.chat.localeOverride": "zh-TW"
}

NOTE

VS Code 1.99 版後 MCP 支援為預設開啟,若您使用的是最新版本通常不需要手動設定。

3.2 專案下的設定

  1. 編輯.vscode/settings.json

    { // 物件開始:VS Code 設定檔頂層

“terminal.integrated.defaultProfile.windows”: “Command Prompt”, // 指定 Windows 的預設終端機 profile 為「Command Prompt」
“terminal.integrated.profiles.windows”: { // 定義 Windows 平台下可用的終端機 profiles
“Command Prompt”: { // profile 名稱:Command Prompt
“path”: “C:\Windows\System32\cmd.exe”, // 指向 cmd.exe 的完整路徑(反斜線需以 \ 表示)
“args”: [“/K”, “chcp 65001”] // 啟動 cmd 時的參數:/K 保持視窗、chcp 65001 設定為 UTF-8 編碼頁
}, // 結束 Command Prompt profile
“PowerShell”: { // profile 名稱:PowerShell
“path”: “C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe”, // PowerShell 可執行檔路徑
“args”: [] // PowerShell 的預設引數(此處為空陣列)
} // 結束 PowerShell profile
}, // 結束 terminal.integrated.profiles.windows 物件
“terminal.integrated.enablePersistentSessions”: true, // 啟用終端機持久化會話(重新開啟後保留)
“terminal.integrated.fontFamily”: “Consolas, ‘Microsoft JhengHei’, monospace”, // 終端字型:英文字型與中文備援字型
“terminal.integrated.fontSize”: 18, // 終端字型大小(像素)
“editor.fontSize”: 18, // 編輯器字型大小(像素)
“editor.lineHeight”: 1.8, // 行高:可以是數字(像素或倍數,視設定而定)
// ── 編碼設定 ──────────────────────────────────
// 下列為與檔案編碼相關的設定
“files.encoding”: “utf8”, // 專案檔案預設使用 UTF-8 編碼
// 自動偵測 BOM(讓 VS Code 自動識別 UTF-8 BOM 檔案)
“files.autoGuessEncoding”: true, // 啟用自動偵測檔案編碼功能
“markdown.preview.fontFamily”: “‘Microsoft JhengHei’, ‘PingFang TC’, sans-serif”, // Markdown 預覽使用的字型(含中文備援)
“python-envs.defaultEnvManager”: “ms-python.python:system” // Python 環境管理器的預設值(依插件/環境而定)
} // 物件結束


2. 編輯`.vscode/tasks.json`

```json
{ // 物件開始:tasks 設定檔頂層
  "version": "2.0.0", // tasks 配置版本,固定為 2.0.0
  "tasks": [ // 任務陣列開始:放置一或多個 task 物件
     { // 第一個 task 物件開始
       "label": "Auto Terminal", // 任務標籤,用於辨識與執行此任務
       "type": "shell", // 任務類型:使用 shell 執行命令
       "command": "cd /d C:\\workspace\\python", // 要執行的命令:切換至指定工作目錄(Windows 路徑需以 \\ 轉義)
       "options": { // 選項:提供 shell 或環境相關的設定
         "shell": { // shell 子物件:定義要使用的 shell 及其引數
           "executable": "cmd.exe", // 要呼叫的 shell 可執行檔(此處為 cmd)
           "args": ["/d", "/c"] // 傳遞給 shell 的引數;/d 允許在不同磁碟間切換,/c 執行命令後關閉
         } // shell 物件結束
       }, // options 結束
       "presentation": { // 呈現設定:控制任務執行時終端面板的顯示與行為
         "panel": "new", // 面板行為:"new" 每次開新面板,"shared"/"dedicated" 可共用或專用
         "reveal": "always", // 是否在執行任務時自動顯示終端面板(always = 總是顯示)
         "focus": true, // 執行任務時是否將焦點移到終端面板
         "close": true // 任務完成後是否自動關閉面板(true = 關閉)
       }, // presentation 結束
       "runOptions": { // 執行選項:控制何時自動執行此任務
         "runOn": "folderOpen" // 設定為 folderOpen 時,當工作區資料夾開啟時自動執行該任務
       } // runOptions 結束
     } // 第一個 task 物件結束
  ] // tasks 陣列結束
} 

四、安裝 MCP Server 套件

VS Code 的 mcp.json 支援三種執行方式,請擇一使用:

方法工具特點
Auvx(推薦)自動管理隔離環境,免手動安裝
Bpip(傳統)手動安裝至 Python 環境,適合熟悉 pip 的使用者
CnpxNode.js 方案,自動下載 npm 套件

方法 A:使用 uvx(Python,推薦)

安裝 uv

pip install uv

或使用官方安裝腳本:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

安裝完成後驗證:

uv --version
uvx --version

uvx 會在執行時自動下載套件,無需手動 pip install。


方法 B:使用 pip(傳統 Python 安裝)

直接使用 pip 安裝 MCP Server 套件至您的 Python 環境:

全域安裝:

pip install mysql-mcp-server mssql-mcp-server

建議使用虛擬環境(避免套件衝突):

:: 建立虛擬環境
python -m venv mcp-env
 
:: 啟動虛擬環境(Windows)
mcp-env\Scripts\activate
 
:: 安裝套件
pip install mysql-mcp-server mssql-mcp-server
 
:: 確認安裝成功
pip show mysql-mcp-server
pip show mssql-mcp-server

安裝完成後,確認 Python 可執行路徑(設定 mcp.json 時需要):

:: 全域安裝時
where python
 
:: 虛擬環境啟動後
python -c "import sys; print(sys.executable)"

NOTE

若使用虛擬環境,請記下 python.exe 的完整路徑,在 mcp.jsoncommand 欄位中需要填入此路徑。


方法 C:使用 npx(Node.js 方案)

若您偏好 Node.js 環境,確認已安裝 Node.js:

node --version
npm --version

npx 會在執行時自動下載對應的 npm 套件。


五、建立 mcp.json 設定檔

VS Code MCP 設定有兩種範圍:

範圍檔案位置適用情境
工作區層級.vscode/mcp.json(專案目錄內)專案專屬的資料庫設定
使用者全域透過指令面板開啟 MCP: 開啟使用者設定。
%AppData%/Code/User/mcp.json
所有工作區共用

5.1 建立工作區層級設定(推薦)

在您的專案根目錄建立 .vscode/mcp.json 檔案:

mkdir .vscode
type nul > .vscode\mcp.json

5.2 設定範例(uvx / Python 版)

將以下內容寫入 .vscode/mcp.json,並替換您的實際連線資訊:

{
  "inputs": [
    {
      "id": "mysql_password",
      "type": "promptString",
      "description": "請輸入 MySQL 密碼",
      "password": true
    },
    {
      "id": "mssql_password",
      "type": "promptString",
      "description": "請輸入 SQL Server 密碼",
      "password": true
    }
  ],
  "servers": {
    "mysql": {
      "command": "uvx",
      "args": ["--from", "mysql-mcp-server", "mysql_mcp_server"],
      "env": {
        "MYSQL_HOST": "127.0.0.1",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "${input:mysql_password}",
        "MYSQL_DATABASE": "your_database"
      }
    },
    "mssql": {
      "command": "uvx",
      "args": ["--from", "mssql-mcp-server", "mssql_mcp_server"],
      "env": {
        "MSSQL_HOST": "127.0.0.1",
        "MSSQL_PORT": "1433",
        "MSSQL_USER": "sa",
        "MSSQL_PASSWORD": "${input:mssql_password}",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true"
      }
    }
  }
}

TIP

使用 ${input:id} 語法,VS Code 會在首次啟動 MCP Server 時彈出密碼輸入框,並將密碼安全地儲存在 Windows 認證管理員中,不會以明文存在任何檔案。

本專案實際設定

  • MYSQL_PORT: 6033
  • MYSQL_DATABASE: class

如果你是用本機 MySQL MCP server,請將上述參數同步到你的 .vscode/mcp.json


5.2.1 本專案實際 .vscode/mcp.json 範例

以下為本專案真實使用的 .vscode/mcp.json 配置:

{
  "inputs": [
    {
      "id": "mysql_password",
      "type": "promptString",
      "description": "請輸入 MySQL 密碼",
      "password": true
    }
  ],
  "servers": {
    "mysql": {
      "command": "python",
      "args": ["-m", "mysql_mcp_server.server"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "6033",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "${input:mysql_password}",
        "MYSQL_DATABASE": "class"
      }
    }
  }
}

注意:此範例僅包含 MySQL MCP server 的配置,若要同時使用 MSSQL,請依需求補上 mssql 伺服器設定。

5.2.2 補充:同時使用 MySQL 和 MSSQL 的 .vscode/mcp.json 範例

如果您希望在同一個專案同時啟動 MySQL 與 SQL Server MCP 服務,請使用下列配置:

{
  "inputs": [
    {
      "id": "mysql_password",
      "type": "promptString",
      "description": "請輸入 MySQL 密碼",
      "password": true
    },
    {
      "id": "mssql_password",
      "type": "promptString",
      "description": "請輸入 SQL Server 密碼",
      "password": true
    }
  ],
  "servers": {
    "mysql": {
      "command": "python",
      "args": ["-m", "mysql_mcp_server.server"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "6033",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "${input:mysql_password}",
        "MYSQL_DATABASE": "class"
      }
    },
    "mssql": {
      "command": "python",
      "args": ["-m", "mssql_mcp_server.server"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_PORT": "1433",
        "MSSQL_USER": "sa",
        "MSSQL_PASSWORD": "${input:mssql_password}",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true"
      }
    }
  }
}

TIP

若您使用 SQL Server 具名實例,請將 MSSQL_SERVER 改為 .\\SQL2022localhost\\SQL2022


5.3 設定範例(pip / Python 版)

IMPORTANT

使用此方法前,請先完成「方法 B:pip 安裝」步驟,確認套件已安裝完成。

command 欄位填入 Python 可執行檔的完整路徑args 使用 -m 套件名稱.server 模組方式啟動:

NOTE

本機實際環境:

  • Python 執行檔:C:\Python\Python314\python.exe(Python 3.14)
  • mysql 套件路徑:C:\Python\Python314\Lib\site-packages\mysql_mcp_server\server.py
  • mssql 套件路徑:C:\Python\Python314\Lib\site-packages\mssql_mcp_server\server.py

-m mysql_mcp_server.server 等同直接執行上方的 server.py

全域 Python 安裝版(本機實測可用):

{
  "inputs": [
    {
      "id": "mysql_password",
      "type": "promptString",
      "description": "請輸入 MySQL 密碼",
      "password": true
    },
    {
      "id": "mssql_password",
      "type": "promptString",
      "description": "請輸入 SQL Server 密碼",
      "password": true
    }
  ],
  "servers": {
    "mysql": {
      "command": "python",
      "args": ["-m", "mysql_mcp_server.server"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "${input:mysql_password}",
        "MYSQL_DATABASE": "your_database"
      }
    },
    "mssql": {
      "command": "python",
      "args": ["-m", "mssql_mcp_server.server"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_USER": "sa",
        "MSSQL_PASSWORD": "${input:mssql_password}",
        "MSSQL_DATABASE": "your_database"
      }
    }
  }
}

TIP

SQL Server 具名實例(如 SQL2022)寫法:

"MSSQL_SERVER": ".\\SQL2022"

本機預設實例則使用 ".""localhost" 即可。

虛擬環境版(路徑需依實際情況調整):

{
  "inputs": [
    {
      "id": "mysql_password",
      "type": "promptString",
      "description": "請輸入 MySQL 密碼",
      "password": true
    },
    {
      "id": "mssql_password",
      "type": "promptString",
      "description": "請輸入 SQL Server 密碼",
      "password": true
    }
  ],
  "servers": {
    "mysql": {
      "command": "C:\\Users\\YourName\\mcp-env\\Scripts\\python.exe",
      "args": ["-m", "mysql_mcp_server.server"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "${input:mysql_password}",
        "MYSQL_DATABASE": "your_database"
      }
    },
    "mssql": {
      "command": "C:\\Users\\YourName\\mcp-env\\Scripts\\python.exe",
      "args": ["-m", "mssql_mcp_server.server"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_USER": "sa",
        "MSSQL_PASSWORD": "${input:mssql_password}",
        "MSSQL_DATABASE": "your_database"
      }
    }
  }
}

TIP

C:\\Users\\YourName\\mcp-env 替換為您實際的虛擬環境路徑。
路徑中的反斜線在 JSON 內需要使用 \\ 雙重跳脫。


5.4 設定範例(npx / Node.js 版)

{
  "inputs": [
    {
      "id": "mysql_password",
      "type": "promptString",
      "description": "請輸入 MySQL 密碼",
      "password": true
    },
    {
      "id": "mssql_password",
      "type": "promptString",
      "description": "請輸入 SQL Server 密碼",
      "password": true
    }
  ],
  "servers": {
    "mysql": {
      "command": "npx",
      "args": ["-y", "@liangshanli/mcp-server-mysql"],
      "env": {
        "MYSQL_HOST": "127.0.0.1",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "${input:mysql_password}",
        "MYSQL_DATABASE": "your_database"
      }
    },
    "mssql": {
      "command": "npx",
      "args": ["-y", "@liangshanli/mcp-server-mssqlserver"],
      "env": {
        "MSSQL_SERVER": "127.0.0.1",
        "MSSQL_PORT": "1433",
        "MSSQL_USER": "sa",
        "MSSQL_PASSWORD": "${input:mssql_password}",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true"
      }
    }
  }
}

5.5 全域設定(所有工作區共用)

  1. Ctrl + Shift + P
  2. 輸入 「MCP: Open User Configuration」
  3. 貼入與上方相同格式的設定內容

六、在 VS Code 中啟動 MCP Server

步驟 1:儲存 mcp.json

儲存檔案後,VS Code 右下角會出現 MCP 狀態提示。

步驟 2:重新載入視窗

Ctrl + Shift + P,執行:

Developer: Reload Window

步驟 3:確認 Server 狀態

Ctrl + Shift + P,執行:

MCP: List Servers

正常運行時,mysql 和 mssql 旁邊會顯示 ✅ 綠色狀態。

步驟 4:檢查輸出日誌

若遇到問題,至 「檢視 → 輸出(Output)」,在下拉選單選擇 「MCP」 查看詳細日誌。


七、在 GitHub Copilot Agent Mode 中使用

7.1 開啟 Copilot Chat

Ctrl + Alt + I(或點選側邊欄的 Copilot 圖示)

7.2 切換至 Agent Mode

在 Copilot Chat 輸入框左側,點選模式選擇器,切換為:

🤖 Agent

7.3 啟用資料庫工具

點選輸入框旁的 🔧 工具(Tools) 圖示,勾選:

  • mysqlexecute_sql
  • mssqlexecute_sql

7.4 自然語言查詢範例

在 Copilot Chat 輸入框中,直接用自然語言提問:

幫我查詢 MySQL 的 users 資料表,列出最近 7 天內新增的使用者,
並按照建立時間由新到舊排序。
在 SQL Server 中,查詢 Orders 資料表中金額超過 10000 的訂單,
並統計每個客戶的總金額。

IMPORTANT

Copilot 在執行每個 execute_sql 工具呼叫前,都會先顯示預覽 SQL 語句並請求您的確認,確保安全性。


八、直接呼叫 execute_sql 工具

MCP 工具規格如下,可由 Copilot 自動呼叫:

{
  "name": "execute_sql",
  "parameters": {
    "query": "您的 SQL 查詢語句"
  }
}

MySQL 常用查詢範例

-- 列出所有資料庫
SHOW DATABASES;
 
-- 列出當前資料庫的所有資料表
SHOW TABLES;
 
-- 查詢資料表結構
DESCRIBE users;
 
-- 條件查詢
SELECT id, name, email, created_at
FROM users
WHERE created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY)
ORDER BY created_at DESC
LIMIT 20;
 
-- 聚合統計
SELECT DATE(created_at) AS date, COUNT(*) AS count
FROM orders
GROUP BY DATE(created_at)
ORDER BY date DESC;

MSSQL 常用查詢範例

-- 列出所有資料庫
SELECT name FROM sys.databases;
 
-- 列出當前資料庫所有資料表
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE';
 
-- 查詢資料表結構
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Users';
 
-- 條件查詢(含分頁)
SELECT id, name, email, created_at
FROM Users
WHERE created_at >= DATEADD(DAY, -7, GETDATE())
ORDER BY created_at DESC
OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY;
 
-- 聚合統計
SELECT CAST(OrderDate AS DATE) AS date, COUNT(*) AS count, SUM(Amount) AS total
FROM Orders
GROUP BY CAST(OrderDate AS DATE)
ORDER BY date DESC;

九、安全性建議

CAUTION

請務必遵守以下安全原則,避免資料庫憑證外洩。

✅ 建議做法

  1. 使用 ${input:id} 變數 — 密碼由 VS Code 安全儲存,不寫入任何檔案

  2. 資料庫帳號使用最小權限 — 若只需查詢,給予 SELECT 權限即可

  3. .vscode/mcp.json 加入 .gitignore — 若有直接寫入密碼

    # .gitignore
    .vscode/mcp.json
    .env
  4. 使用唯讀帳號 — AI 工具搭配唯讀帳號更安全

    -- MySQL:建立唯讀使用者
    CREATE USER 'mcp_readonly'@'localhost' IDENTIFIED BY 'strong_password';
    GRANT SELECT ON your_database.* TO 'mcp_readonly'@'localhost';
     
    -- SQL Server:建立唯讀帳號
    CREATE LOGIN mcp_readonly WITH PASSWORD = 'StrongPassword123!';
    USE your_database;
    CREATE USER mcp_readonly FOR LOGIN mcp_readonly;
    ALTER ROLE db_datareader ADD MEMBER mcp_readonly;

❌ 避免做法

  • ❌ 將密碼明文寫在 mcp.json 並 commit 到 Git
  • ❌ 使用 root / sa 等超級管理員帳號連接 MCP
  • ❌ 在不信任的網路環境下連接遠端資料庫(應使用 SSL/TLS)

十、常見問題排除

❌ MCP Server 無法啟動

原因與解決方法:

:: 確認 uv 已正確安裝
uv --version
 
:: 測試 uvx 是否可用
uvx --help
 
:: 手動測試 MySQL MCP Server
uvx --from mysql-mcp-server mysql_mcp_server

查看 VS Code 輸出面板:檢視 → 輸出 → 選擇 MCP


❌ MSSQL 連線失敗(ODBC Error)

解決方法:

:: 確認 ODBC Driver 已安裝
odbcad32
 
:: 或透過 PowerShell 確認
Get-OdbcDriver | Where-Object {$_.Name -like "*SQL Server*"}

若未安裝,至官方頁面下載:
https://learn.microsoft.com/zh-tw/sql/connect/odbc/download-odbc-driver-for-sql-server


❌ Copilot 找不到 MCP 工具

解決步驟:

  1. 確認 chat.mcp.enabled: true 已設定
  2. Ctrl + Shift + P 執行 Developer: Reload Window
  3. Ctrl + Shift + P 執行 MCP: List Servers 確認狀態
  4. 確認 Copilot Chat 已切換至 Agent Mode(非 Ask 或 Edit 模式)

❌ MySQL 連線被拒絕(Connection Refused)

:: 確認 MySQL 服務正在執行
net start | findstr MySQL
 
:: 啟動 MySQL 服務
net start MySQL

❌ mcp.json 修改後無效果

NOTE

每次修改 mcp.json 後,必須執行 Developer: Reload Window 才能生效。


❌ VS Code 終端機啟動失敗(/K 參數錯誤)

症狀:

  • 執行命令時出現 /K : 無法辨識 '/K'
  • cmd.exepowershell.exe 無法正常啟動

原因:

  • .vscode/settings.jsonterminal.integrated.profiles.windowsCommand Prompt profile 配置不正確
  • 可能會因為拷貝貼上造成重複 JSON 根物件或 args 參數格式錯誤

修正方式:

  • 確認 .vscode/settings.json 只有一個 JSON 根物件
  • Command Prompt 的正確設定範例如下:
{
  "terminal.integrated.defaultProfile.windows": "Command Prompt",
  "terminal.integrated.profiles.windows": {
    "Command Prompt": {
      "path": "C:\\Windows\\System32\\cmd.exe",
      "args": ["/K", "chcp 65001"]
    },
    "PowerShell": {
      "path": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
      "args": []
    }
  }
}
  • 儲存後重新載入 VS Code,並在新終端輸入 echo OK 確認

TIP

這個修正屬於 .vscode/settings.json 的 VS Code 終端設定問題。若你是用工作區設定,請在該檔案中檢查 terminal.integrated.profiles.windows 是否只包含一個 JSON 根物件,並確認 Command Prompt profile 的 args 參數格式正確。

完整 .vscode/settings.json 範例

{
  "terminal.integrated.defaultProfile.windows": "Command Prompt",
  "terminal.integrated.profiles.windows": {
    "Command Prompt": {
      "path": "C:\\Windows\\System32\\cmd.exe",
      "args": ["/K", "chcp 65001"]
    },
    "PowerShell": {
      "path": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
      "args": []
    }
  },
  "terminal.integrated.enablePersistentSessions": true,
  "terminal.integrated.fontFamily": "Consolas, 'Microsoft JhengHei', monospace",
  "terminal.integrated.fontSize": 18,
  "editor.fontSize": 18,
  "editor.lineHeight": 1.8,
  "files.encoding": "utf8",
  "files.autoGuessEncoding": true,
  "markdown.preview.fontFamily": "'Microsoft JhengHei', 'PingFang TC', sans-serif",
  "python-envs.defaultEnvManager": "ms-python.python:system"
}

提示:上方內容可直接存成工作區設定檔 .vscode/settings.json,並重新載入 VS Code 以套用更正確的終端機設定。


十一、指令速查表

動作快速鍵 / 指令
開啟指令面板Ctrl + Shift + P
開啟 Copilot ChatCtrl + Alt + I
重新載入視窗Ctrl + Shift + PDeveloper: Reload Window
查看 MCP Server 狀態Ctrl + Shift + PMCP: List Servers
開啟全域 MCP 設定Ctrl + Shift + PMCP: Open User Configuration
新增 MCP ServerCtrl + Shift + PMCP: Add Server
查看 MCP 輸出日誌檢視 → 輸出 → 選擇 MCP

十二、相關資源


相關主題與延伸閱讀