觀點 · 資訊分享
Azure Functions 的 MCP 伺服器終於能提供「資源」:除了工具,還能給 AI 看檔案與小介面
Azure Functions 正式支援 MCP 資源觸發器,用它寫的 MCP 伺服器除了讓 AI 呼叫工具,也能提供檔案、應用程式資訊,甚至是 HTML 小工具。支援 Python、TypeScript、.NET、Java。
- 發布
- 2026-04-08
- 篇幅
- 約 3 分鐘 · 1,557 字
- 結構
- 7 節 + 3 題常見問題
- 標籤

一句話看懂:Azure Functions 現在能用「MCP 資源觸發器」,讓你寫的 MCP 伺服器除了提供工具,也能提供 AI 可以讀取的資料與 HTML 小介面。

先用白話講:MCP 的「工具」和「資源」
MCP(Model Context Protocol)是一套讓 AI 應用程式連接外部功能的通用規格。把 AI 想成一位新來的助理:
- 工具(Tools):像是請助理去「做」一件事,例如查天氣、建立訂單
- 資源(Resources):像是給助理一份可以「讀」的資料,例如產品手冊、資料庫結構、API 文件
以前用 Azure Functions 寫 MCP 伺服器,只能給助理「做事的按鈕」,沒辦法遞上資料夾。這次補上了。
發生什麼事
Microsoft 在 2026 年 4 月 7 日發布公告:Azure Functions 正式支援 MCP 資源觸發器。
- 開發者可以直接從 Azure Functions 託管的 MCP 伺服器提供資源
- 資源可以是靜態或動態的檔案、應用程式的中繼資料,以及 MCP App 的 UI 內容(例如由 MCP 主機原生顯示的 HTML 小工具)
- 這個功能在 Azure Functions 的 MCP 擴充套件中提供,語言涵蓋 Python、TypeScript、.NET、Java
跟以前差在哪?
| 項目 | 以前 | 現在 |
|---|---|---|
| MCP 伺服器能提供 | 工具,不能提供資源 | 工具加資源 |
| 資源的內容 | 不適用 | 檔案、應用程式資訊、HTML 小工具 |
給開發者的技術細節
以 C# 為例,資源用 McpResourceTrigger 屬性宣告,指定資源網址、名稱與內容類型:
[Function(nameof(GetReadme))]
public string GetReadme(
[McpResourceTrigger("file://readme.md", "readme",
Description = "應用程式說明", MimeType = "text/plain")]
ResourceInvocationContext context)
{
return File.ReadAllText(Path.Combine(AppContext.BaseDirectory, "assets", "readme.md"));
}
- 官方文件指出,資源可用來提供檔案內容、資料庫結構或 API 文件等背景資訊
- 做 MCP App 時,資源網址用
ui://開頭,內容類型為text/html;profile=mcp-app;工具在中繼資料裡指向這個資源,MCP 主機就會抓來顯示 - C# 只支援 isolated worker 模式;目前不支援 Go
- 檔案要跟著函式一起部署,文件範例是在
.csproj設定把assets資料夾複製到輸出目錄
我的看法
我做 .NET 專案時,最常遇到的狀況是:AI 要幫忙處理客戶的系統,但它不知道資料表長什麼樣、API 規格寫在哪。把這些內容當成 MCP 資源提供,讓 AI 先讀再動手,比每次都把一大段說明貼進對話框要穩。
不過幾個地方我會先確認:資源裡不要放機密(金鑰、客戶個資),因為 AI 會讀到;MCP App 的 HTML 介面能不能顯示,取決於使用的 MCP 用戶端有沒有支援;另外官方這則公告很短,細節以 Microsoft Learn 的文件為準,正式使用前建議先做個小範例試跑。
名詞小辭典
- MCP(Model Context Protocol):讓 AI 應用程式連接外部工具與資料的通用規格。
- 觸發器(Trigger):Azure Functions 的概念,表示「什麼事情發生時,要執行這段程式」。
- MCP 主機(Host):使用 MCP 伺服器的 AI 應用程式,例如聊天助理或程式開發工具。
- 中繼資料(Metadata):描述資料本身的資訊,例如作者、版本、更新日期。
資料來源
常見問題
MCP 是什麼?
Model Context Protocol,一套讓 AI 應用程式連接外部工具與資料的通用規格,像是 AI 世界的「萬用插座」。
MCP 的工具和資源有什麼不同?
工具是 AI 可以請你的伺服器「做」的事,例如查天氣;資源是 AI 可以「讀」的內容,例如檔案內容、資料庫結構或 API 文件。
什麼是 MCP App 的 UI 資源?
官方說明可以用資源提供 HTML 畫面(例如天氣小工具),工具回傳結果時,支援的 MCP 用戶端會把它顯示成互動式介面。
接著讀
全部觀點 →Supabase 讓 AI 代理接手後端:本機開發免 Docker,你的 App 也能有自己的 MCP 伺服器Supabase 在 Select 2026 發表一系列給 AI 寫程式代理用的工具:資料表結構寫成 SQL 檔由工具自動產生 migration、本機開發不需要 Docker,還能一行指令替自己的 App 加上 MCP 伺服器,讓使用者的 AI 代理以登入身分操作。閱讀 →Azure Functions 的 .NET 8、.NET 9 支援 11 月 10 日結束:還在用 in-process 模式的要先搬家Microsoft 宣布 Azure Functions 對 .NET 8 與 .NET 9 的支援在 2026 年 11 月 10 日結束,請升級到 .NET 10。還在用 in-process 模式的函式,要先遷移到 isolated worker 模式;Linux Consumption 方案還得先換成 Flex Consumption。閱讀 →文件老是跟不上程式碼?AWS 分享用 Bedrock AgentCore 自動補文件,30 個程式庫一週搞定AWS 公部門部落格分享一個實際案例:用 Amazon Bedrock AgentCore 打造的 AI 代理,自動讀程式碼、比對舊文件、更新 Confluence。30 個沒有文件的程式庫,連人工審查一週內完成,每個程式庫的 AWS 費用只有幾美元。閱讀 →