最近幾週 MCP
(Model Context Protocol) 正夯,要瞭解這個 AI 世界的 USB 介面,那肯定是要親手寫一個 MCP Server 才行。今天這篇文章我將參考 MCP 官網的範例,示範一個完整的開發步驟,讓大家知道用 Python 開發 MCP Server 的起手式。我會透過最新潮的 uv 快速建立 Python 開發環境,並且寫一個簡單的 MCP Server 應用,然後快速安裝到 Claude Desktop 與 Visual Studio Code Insiders 之中,讓 Claude Desktop 與 GitHub Copilot 的 Agent Mode 都可以呼叫 MCP 伺服器中的工具。

環境準備
在開始之前,請先確認你的電腦上已經安裝了以下環境:
- Git
- Node.js
- Windows PowerShell 或 PowerShell 7.5+
我以 Windows Sandbox 環境為例,這是一個 Windows 10 的虛擬機器環境,裡面僅安裝了 Windows PowerShell 5.1 而已,是一個非常乾淨的 Windows 環境。
以下是我初始化 Windows Sandbox 開發環境所用的命令:
# 安裝 Scoop 套件管理工具
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
# 安裝 Git、PowerShell 7.5+ (pwsh)、uv 工具
scoop install git pwsh uv
# 安裝 oh-my-posh 打造華麗的 PowerShell 主題
scoop install oh-my-posh
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/gmay.omp.json" | Invoke-Expression
# 安裝 Windows Terminal
scoop bucket add extras
scoop install extras/windows-terminal
# 安裝 Maple Mono NF CN 字型
scoop bucket add nerd-fonts
scoop install nerd-fonts/Maple-Mono-NF-CN
# 安裝 Node.js 20 與 VSCode Insiders
scoop bucket add versions
scoop install versions/nodejs20 versions/vscode-insiders
# 初始化 Git 設定
git config --global user.name "Will Huang"
git config --global user.email "will@example.com"
# 可以用我的 @willh/git-setup 套件自動套用最佳設定
# npx -y @willh/git-setup
# 安裝 VS Code 擴充套件
code-insiders --install-extension doggy8088.python-extension-pack-for-ai-developers
code-insiders --install-extension GitHub.copilot --pre-release
uv 是一個我最近非常喜愛的 Python 環境管理工具,可以快速建立虛擬環境與管理套件依賴,使用上非常方便。如果你不想透過 Scoop 安裝,也可以直接到 Installing uv 官方文件查看各平台的安裝方法。
我以 Windows 10 與 PowerShell 環境為例,只要一個命令就能將 uv
安裝完成:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
確認 uv 安裝與初始化 Python 虛擬環境
接著來安裝 Python 執行環境,透過 uv
安裝 Python 真的非常容易,體驗非常好:
-
列出 uv
支援的 Python 版本:
uv python list
cpython-3.14.0a6+freethreaded-windows-x86_64-none <download available>
cpython-3.14.0a6-windows-x86_64-none <download available>
cpython-3.13.2+freethreaded-windows-x86_64-none <download available>
cpython-3.13.2-windows-x86_64-none <download available>
cpython-3.12.9-windows-x86_64-none <download available>
cpython-3.11.11-windows-x86_64-none <download available>
cpython-3.10.16-windows-x86_64-none <download available>
cpython-3.10.11-windows-x86_64-none <download available>
cpython-3.9.21-windows-x86_64-none <download available>
cpython-3.8.20-windows-x86_64-none <download available>
cpython-3.7.9-windows-x86_64-none <download available>
-
安裝 Python 3.12 版本
uv python install 3.12
-
初始化 Python 專案
建立專案資料夾
mkdir C:\Projects\mcp-demo
cd C:\Projects\mcp-demo
初始化專案結構
uv init
初始化之後會產生以下檔案:
.gitignore
.python-version
main.py
pyproject.toml
README.md
-
執行 main.py
程式
用以下命令第一次執行時,會連同 uv venv
命令一起執行,這意味著 uv
會自動幫你建立 Python 虛擬環境。
uv run main.py

執行完後會出現 .venv
資料夾,這就是虛擬環境的資料夾,不過這個資料夾預設會被排除到 Git 版控之外。
-
建立 Git 儲存庫
git init -b main ; git add . ; git commit -m "Initial commit"
安裝 MCP 命令列工具
有了 uv
也有了基本的環境後,接下來就可以安裝 MCP 工具了。
-
安裝 MCP 工具
uv add "mcp[cli]"
-
查看 MCP 工具版本
此時透過 uv run mcp
就可以執行 MCP 工具,也可以透過以下命令查看版本:
uv run mcp version
我寫文章時當下的回應是:
MCP version 1.6.0
開發你的第一個 MCP Server
先用 VS Code 開啟資料夾:
code-insiders .
在專案目錄建立一個 server.py
程式,然後將以下程式碼貼上去:
# server.py
from mcp.server.fastmcp import FastMCP
# Create an MCP server
mcp = FastMCP("Demo")
# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""Get a personalized greeting"""
return f"Hello, {name}!"
這段程式碼建立一個名為 Demo
的 MCP 伺服器,並且透過 @mcp.tool()
裝飾器,定義了一個 add
函式,這個函式會將兩個整數相加並回傳結果。
執行以下命令啟動 MCP 開發伺服器:
uv run mcp dev server.py
第一次執行需要安裝 Node.js 的 @modelcontextprotocol/inspector@0.7.0
套件,你必須按下 y
讓程式繼續執行:
PS C:\Projects\mcp-demo> uv run mcp dev server.py
Need to install the following packages:
@modelcontextprotocol/inspector@0.7.0
Ok to proceed? (y) y
啟動之後的訊息如下:
Starting MCP inspector...
Proxy server listening on port 3000
🔍 MCP Inspector is up and running at http://localhost:5173 🚀
此時你已經啟動了一個 MCP Inspector 工具起來,這是一個網站,你可以透過 http://localhost:5173
開啟這個網頁,並且對你剛剛寫的 MCP Server (server.py
) 進行測試。

測試步驟如下:
- 點擊
Connect
讓 MCP Inspector 連線到你的 MCP Server
- 點擊
Tools
,然後點擊 List Tools
列出所有的工具
- 點擊
add
工具,然後在 Arguments
欄位輸入 1
與 2
,然後點擊 Run Tool
按鈕
- 觀察
History
區塊的變化,這邊記錄著 MCP Inspector 與 MCP Server 之間的通訊紀錄
恭喜你!你已經成功的開發出你的第一個 MCP Server,並且透過 MCP Inspector 測試這個 MCP 伺服器的功能了!🎉
安裝 MCP Server 到你的 Claude Desktop 桌面應用程式
接下來就要實戰透過 AI 呼叫你的 MCP Server 了,這邊我會示範如何將 MCP Server 安裝到 Claude Desktop。請先下載安裝 Claude Desktop 應用程式,安裝好之後,你可以先登入你的 Claude 帳號。
curl -s 'https://storage.googleapis.com/osprey-downloads-c02f6a0d-347c-492b-a752-3e0651722e97/nest-win-x64/Claude-Setup-x64.exe' -o "$env:TEMP\Claude-Setup-x64.exe"
Start-Process -FilePath "$env:TEMP\Claude-Setup-x64.exe"
不過,近期 Claude 服務不太穩定,不時有無法登入使用的情況,如果遇到這種情況,可以稍後再試試看:

接著你可以直接用以下命令安裝 server.py
這個 MCP Server 到 Claude Desktop 之中。
uv run mcp install server.py
畫面會顯示以下訊息:
[04/01/25 12:28:00] INFO Added server 'Demo' to Claude config
INFO Successfully installed Demo in Claude app
這個命令主要會幫你寫好 %APPDATA%\Claude\claude_desktop_config.json
設定檔的內容,這裡定義了 MCP Server 的連接資訊,內容如下:
{
"mcpServers": {
"Demo": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"C:\\Projects\\mcp-demo\\server.py"
]
}
}
}
透過命令來安裝,主要是讓「非工程師」也能輕鬆的安裝與設定。否則,其實他就是一個 JSON 格式的檔案而已,你看的懂也可以自行編輯修改。
你從上述 JSON 應該可以看出來,Claude Desktop 當要嘗試跟你的 MCP Server 進行連線時,事實上並不是透過 HTTP 進行連線,而是直接啟動一個程式,透過 uv
去執行 Python 程式,然後根據 MCP 的協議,Claude Desktop (MCP Client) 會以 JSON-RPC 2.0 格式,透過 STDIO
跟你的命令列應用程式進行通訊。
接著你到 Claude Desktop 就會看到已經有一個 Tool
(工具) 可供使用:


你只要寫以下這個提示,並從 Claude Desktop 送出:
Add 1 and 2
第一次使用工具都需要請你確認是否執行:

送出後 Claude 就會自動識別你的意圖,並且自動幫你呼叫 add
這個工具,並且將 1
與 2
當作參數傳遞給 add
函式,然後回傳結果。

太帥啦!想寫什麼工具就寫什麼工具,而且可以直接從 Claude Desktop 呼叫!😎
安裝 MCP Server 到你的 Visual Studio Code Insiders 編輯器
目前 GitHub Copilot 只有在 Visual Studio Code Insiders 有支援 Agent Mode 功能,而且最新版的 GitHub Copilot 已經支援了 MCP Client 的能力,所以我們可以直接在 Visual Studio Code Insiders 中安裝 MCP Server,然後讓 GitHub Copilot 直接呼叫這個 MCP Server。
首先,要先幫 Visual Studio Code Insiders 安裝 GitHub Copilot 擴充套件,這部分我們在 環境準備 的章節就已經安裝過。安裝 GitHub Copilot 的同時,也會自動安裝 GitHub Copilot Chat 擴充套件,所以不用手動安裝 GitHub Copilot Chat 擴充套件。
安裝好之後,建議透過我的 最佳 GitHub Copilot 設定 說明,去調整 GitHub Copilot 最佳設定。
mkdir .vscode
curl -s 'https://raw.githubusercontent.com/doggy8088/github-copilot-configs/refs/heads/main/.vscode/settings.json' -o .vscode/settings.json
接著,安裝 MCP Server 也可以透過 code-insiders
命令列工具進行安裝。
-
若在 PowerShell 底下,你要執行以下命令進行安裝:
code-insiders --add-mcp '{\"name\":\"demo\",\"command\":\"uv\",\"args\":[\"run\",\"--with\",\"mcp[cli]\",\"mcp\",\"run\",\"C:\\Projects\\mcp-demo\\server.py\"]}'
看到一堆 \
真是醜死了,但沒辦法,誰叫我們用 Windows 呢?!😅
以下我改個腳本比較好讀的版本:
$cliArgs = @(
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"C:\Projects\mcp-demo\server.py"
)
$payload = @{
name = "demo"
command = "uv"
args = @(
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"C:\Projects\mcp-demo\server.py"
)
} | ConvertTo-Json -Compress -Depth 10
$escaped = '"' + ($payload -replace '"', '\"') + '"'
code-insiders --add-mcp $escaped
備註: 如果執行時有過時 API 的警告訊息,可以設定 $env:NODE_OPTIONS="--no-deprecation"
環境變數,用來隱藏這類錯誤訊息。
-
如果是 macOS/Linux 環境,則可以使用以下命令:
code-insiders --add-mcp '{"name":"demo","command":"uv","args":["run","--with","mcp[cli]","mcp","run","C:\\Projects\\mcp-demo\\server.py"]}'
加入成功後,就會在你 VS Code 的 settings.json
中,看到以下設定值:
"mcp": {
"servers": {
"demo": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"C:\\Projects\\mcp-demo\\server.py"
]
}
}
}
此時 GitHub Copilot 的 Chat View 已經可以看到提示,但請記得切換到 Agent 模式,你會發現 GitHub Copilot 已經找到新的「工具」可用,請點擊如下圖的圖示:

點擊「工具」圖示,就可以看到目前啟用的 MCP 工具了!你要確保 Demo
工具是 Running
的狀態,然後就可以開始使用了!
e8e312fa-ae8f-45cc-b286-d096c1834ca5)
然後輸入以下提示:
369 加上 10 等於多少?
第一次調用 MCP 工具會請你確認是否要真的執行這個工具,請點擊 Continue
確認執行:

執行結果你還可以看出 GitHub Copilot 實際送出什麼請求給 MCP Server,以及最終回傳的結果為何:
{
"a": 369,
"b": 10
}

結論
這篇文章簡單扼要的讓大家體驗整個 MCP 的開發、安裝與使用的過程,你應該可以舉一反三,想像一下 MCP 會如何改變大家未來使用 AI 的方式!👍
如果你想要更加深刻的體驗這個過程,歡迎可以來報名我的 GitHub Copilot 課程,這堂課包含了我多年來的 GitHub Copilot 的使用經驗,也分享了非常多的實戰案例,讓你可以快速上手 GitHub Copilot 的使用技巧,並且能夠在工作中運用 GitHub Copilot 提升你的工作效率!
我也預計在 2025/04/02(三) 晚上 8:00 直播分享「GitHub Copilot 代理人 × MCP 伺服器整合工作坊」線上直播活動,只要有報名我的 全面掌握 GitHub Copilot 代理人模式:打造專屬 AI 開發助手 課程的學員,都可以免費報名參加。
報名我這次 MCP 直播的方式很簡單:
-
購買課程 (以下二選一)
https://learn.duotify.com/courses/gh-copilot-agent (僅包含 GitHub Copilot 的 Agent Mode 課程)
https://learn.duotify.com/courses/gh-copilot-all (包含完整 GitHub Copilot 課程)
-
在課程頁面按下「我要報名」按鈕 (要購課後才看的到按鈕)

-
等候上課通知
我們會在多奇教育訓練 Discord 伺服器的學員專屬頻道公布上課資訊,直播會透過 Zoom 進行!
當然,如果你沒空參加本次直播,我會全程錄影,並且會在課後上傳到課程中,讓你可以隨時回顧這次的直播內容。
相關連結