跳到主要內容
AI 與工具

AI 相關紀錄 v9|MCP:讓 AI 使用其他工具與資料

介紹 MCP 如何讓 AI 使用外部工具與資料,並以 Pencil MCP 說明實際用途、權限風險及與 Skill 的差異。

W

前面整理過:

Rules
Skills
Commands
Agents

這些功能大多是在處理:

AI 應該怎麼工作?

而 MCP 比較像是在處理另一件事情:

AI 還可以使用哪些工具?


MCP 是什麼?

MCP 全名:

Model Context Protocol

可以先簡單理解成:

讓 AI 用一套共同的方式連接其他工具或資料來源。

原本 Coding Agent 主要是在專案裡工作:

AI
↓
目前專案
↓
程式碼 / 檔案

有了 MCP 之後,就可以再連接其他工具。

例如:

AI
│
├─ Browser
├─ GitHub
├─ Database
├─ 設計工具
└─ 其他服務

所以 MCP 本身不是某個特定工具。

比較像是:

AI
↓
MCP
↓
其他工具

讓 AI 多一些原本沒有的能力。

Claude Code 與 Codex 都支援 MCP。


MCP 可以拿來做什麼?

這要看接上的 MCP 提供什麼功能。

例如:

Browser MCP
↓
操作瀏覽器
GitHub MCP
↓
取得 Issue / PR 等資料
Database MCP
↓
取得 Database Schema 或資料
設計工具 MCP
↓
讀取或修改設計內容

所以不是:

裝了 MCP,AI 就什麼都會。

而是:

接上的 MCP 提供什麼能力,AI 才能使用什麼能力。


我實際有使用過的例子:Pencil MCP

我目前實際有使用過的是:

Pencil MCP

也就是讓 Claude Code 或 Codex 可以連接設計工具。

現在官方產品名稱已經改為:

pen.dev

但在 MCP Client 裡,目前仍可能看到:

pencil

這是正常的。

官方目前也支援 Claude Code CLI、Codex CLI 等 Client 透過 MCP 連接正在開啟的 .pen 文件。

可以先簡單理解成:

Claude Code / Codex
↓
Pencil MCP
↓
.pen 設計文件

使用 Pencil MCP 後有什麼差別?

如果沒有 MCP,和 AI 討論設計時可能比較像:

我看著設計畫面
↓
用文字描述給 AI
↓
AI 根據描述工作

但接上 Pencil MCP 後,AI 可以透過 MCP 取得或修改目前的設計文件。

例如可以請它:

建立一個登入畫面

或:

調整這個區塊的 Layout

甚至:

修改目前的設計內容

AI 就可以透過 MCP 操作設計文件,而不只是回傳一段「應該怎麼設計」的文字。

pen.dev 官方目前的 MCP Tools 也確實提供讀取目前文件狀態以及執行設計操作等能力。

這也是我目前最容易理解 MCP 的地方:

讓 AI 多一個它原本不能直接操作的工具。


.pen 是什麼?

Pencil / pen.dev 的設計檔使用:

.pen

例如:

my-project/
├─ src/
├─ package.json
└─ design.pen

.pen 就是設計文件。

官方目前也支援將 .pen 文件放在專案中,並透過 Desktop App 或 IDE Extension 開啟。

所以在開發專案時,可以出現:

程式碼
+
設計文件

都放在同一個專案裡的情況。


MCP 跟 Skill 有什麼不同?

前一篇整理過 Skill。

這兩個我一開始也很容易混在一起。

可以先這樣理解:

Skill
↓
告訴 AI
「這件事情怎麼做」


MCP
↓
提供 AI
「做事情可以使用的工具」

例如:

Skill
↓
告訴 AI 建立 UI 時要遵循哪些步驟

而:

Pencil MCP
↓
讓 AI 真的可以操作設計文件

所以:

Skill
=
工作方法


MCP
=
工具能力

兩個解決的是不同問題。


Skill 和 MCP 也可以一起使用

例如:

Skill
↓
告訴 AI
設計畫面時要怎麼做


Pencil MCP
↓
讓 AI
真的可以操作設計畫面

組合起來就可能變成:

我提出需求
↓
AI 依照 Skill 的流程工作
↓
透過 MCP 操作設計工具
↓
完成設計

但也不是用了 Skill 就一定要搭配 MCP。

很多工作只需要:

AI
+
Skill
+
目前專案

就可以完成。

只有真的需要操作其他工具時,才需要 MCP。


MCP 不需要全部裝

知道 MCP 可以接很多工具之後,很容易產生:

那是不是全部接起來比較方便?

其實沒有必要。

例如:

GitHub
Browser
Database
設計工具
其他 API
...

不代表每個專案都需要。

比較自然的方式是:

先正常使用 AI
↓
發現需要操作某個外部工具
↓
確認它有沒有適合的 MCP
↓
真的需要再接上

像我目前有使用 Pencil MCP,就是因為確實有設計工具與 AI 協作的需求。

如果完全沒有 Database 操作需求,就沒有必要為了「看起來完整」再裝一個 Database MCP。


MCP 也要注意權限

因為 MCP 是把其他工具的能力提供給 AI,所以還是要注意:

這個 MCP 可以做什麼?
↓
它可以讀什麼?
↓
它可以修改什麼?

尤其如果 MCP 會接觸:

帳號
Database
GitHub
檔案
第三方服務

就更需要確認來源。

所以我目前會把原則保持得很簡單:

真的需要才安裝,而且優先使用來源清楚、可信任的 MCP。

不用因為某個 MCP 看起來功能很多就全部接上。


Rules / Skills / Agent / MCP 怎麼分?

整理到這裡,可以先簡單記成:

Rules
↓
工作時必須遵守什麼


Skills
↓
某件事情應該怎麼做


Agent / Subagent
↓
誰負責做某一部分工作


MCP
↓
AI 還可以使用哪些工具

例如:

Rule
↓
不要任意加入新的 Dependency
Skill
↓
功能完成後要怎麼檢查與收尾
Subagent
↓
把某個獨立調查工作交出去
MCP
↓
讓 AI 可以操作 Pencil 等其他工具

這樣我覺得比較容易區分。


最後簡單整理

MCP:

Model Context Protocol

我目前會先把它理解成:

讓 AI 可以連接並使用其他工具的一種方式。

原本:

AI
↓
目前專案

加入 MCP 後:

AI
│
├─ 目前專案
├─ Browser
├─ GitHub
├─ Database
├─ Pencil
└─ 其他工具

但不需要一開始就研究或安裝很多 MCP。

比較自然的方式是:

先正常使用 AI
↓
真的遇到外部工具需求
↓
再確認有沒有適合的 MCP
↓
有需要才加入

我目前實際使用過 Pencil MCP 後,對 MCP 最直接的理解就是:

原本 AI 只能跟我討論設計,接上 MCP 後,它開始有能力直接操作設計工具。

其他像 GitHub、Database、Browser 等 MCP,等到真的有使用需求時,再針對那個工具進一步研究即可。

分享這篇