前面我們已經實際做過 MCP Tool 和 MCP Resource,Tool 可以讓 Agent 執行某些操作,而 Resource 可以讓 Agent 取得 MCP Server 提供的資料,不過 MCP 還有另一個功能:Prompt。
如果我們有一些常常重複使用的任務,每次都要重新輸入一大段指令其實很麻煩,所以今天就來實際建立一個 MCP Prompt,把常用的任務整理成可以重複使用的 Prompt。
首先建立 prompt_server.py,這次使用 @server.prompt() 建立 MCP Prompt,我們先做一個學習用的 Prompt:

這裡的 topic 就是 Prompt 的參數,只要輸入 study_prompt("MCP") 就會將 MCP 帶入原本設計好的 Prompt。
除了學習主題之外,我也另外建立了一個 code_review_prompt,讓它可以將程式碼套用到固定的 Code Review 格式。

先啟動 MCP Inspector 進行測試,進入 Inspector 後,可以在 Prompts 中看到:

先測試 study_prompt,在 topic 輸入 MCP 執行後,就可以看到 MCP Server 回傳我們預先設計好的 Prompt。

接著再測試 code_review_prompt,傳入一段程式碼,也可以得到對應的 Code Review Prompt。

這樣就完成了 MCP Prompt 的基本實作。
前面的 Inspector 測試,是直接確認 Prompt 是否正常運作,接著也可以讓 MCP Client 取得 Prompt,再交給 Gemini 使用,在 Client 中透過:
prompt = await session.get_prompt(
"study_prompt",
arguments={
"topic": "MCP"
}
)
取得 MCP Server 提供的 Prompt,再將取得的內容交給 Gemini:
response = client.models.generate_content(
model="gemini-2.5-flash",
contents=prompt_text
)
這樣就可以形成:
MCP Client
↓
取得 MCP Prompt
↓
Gemini
↓
產生回答
實際執行後,可以看到 Gemini 根據這個 Prompt 產生對應的回答。

如果只是偶爾使用一次,直接把指令輸入給 AI 就可以了,但如果某個任務會一直重複使用,就可以把它整理成 MCP Prompt,讓不同的 Client 都可以使用相同的任務模板。
因此 Prompt 可以理解成:
把常用的 AI 任務整理成可以重複使用的提示模板。
到目前為止,我們已經實際接觸 MCP 的三種主要功能:
| MCP 功能 | 主要用途 |
|---|---|
| Tool | 讓 AI 執行操作 |
| Resource | 讓 AI 取得資料 |
| Prompt | 提供可重複使用的任務模板 |
例如 Calculator 是使用 Tool 真的執行計算,Resource 則是提供資料,而 Prompt 則是提供一套預先設計好的任務指引。
另外要注意 Prompt 本身不會自動判斷使用者什麼時候需要它,如果希望 Agent 自己判斷「這是一般對話,還是需要使用某個 Prompt」,還需要由 Client 或 Agent 額外設計判斷邏輯。
今天我們實際建立了 MCP Prompt,並透過 MCP Inspector 進行測試,也進一步讓 MCP Client 取得 Prompt 後交給 Gemini 使用。
透過這次實作,可以看到 Prompt 的主要用途,就是把常用的 AI 任務整理成可以重複使用的模板。加上前面做過的 Tool 和 Resource,目前已經實際接觸 MCP 中三種主要功能: