---
title: "工具與 MCP"
description: "Gemini CLI 工具與 MCP 入口：內建工具、檔案系統、Shell、Web、todos、planning、MCP server/resources 和 extensions。"
verifiedAt: "2026-05-09"
---

工具系統決定 Gemini CLI 能不能從“回答問題”變成“完成任務”。內建工具負責本地檔案、Shell、Web、規劃；MCP 和 extensions 負責把外部服務接進來。

> [!IMPORTANT]
> **先掌握內建工具，再接 MCP**。工具越多，能力越大，許可權和誤操作風險也越大。

## 學習路徑

```mermaid
flowchart LR
    Builtin["內建工具"] --> Files["檔案系統"]
    Files --> Shell["Shell"]
    Shell --> Web["Web"]
    Web --> Plan["Todos / Planning"]
    Plan --> MCPSetup["MCP setup"]
    MCPSetup --> Server["MCP server"]
    Server --> Resources["Resources"]
    Resources --> Extensions["Extensions"]

    style Builtin fill:#dbeafe,stroke:#3b82f6
    style Shell fill:#fee2e2,stroke:#ef4444
    style Resources fill:#dcfce7,stroke:#22c55e
```

這個順序有意把 MCP 放在後面：先用內建工具理解檔案、命令、聯網和規劃，再把外部系統接進來。否則你會同時排查工具許可權、憑據、網路、server 啟動和 agent 行為，問題會被放大。

## 工具分層

```text
内置工具      文件、Shell、Web、todos、planning、ask user
MCP          外部服务和远程工具
Extensions   Gemini CLI 侧能力打包和分发
Policy       控制工具能不能执行、怎么执行
```

官方內建工具可以先按風險分成三組：只讀上下文工具、需要確認的寫工具、會執行外部動作的工具。檔案讀取、glob、grep、MCP resources 偏只讀；`write_file`、`replace` 會改本地檔案；Shell、MCP 寫工具、Web fetch 和自動化動作則要結合確認、sandbox、policy 和來源核驗。

這個分層會直接影響教程順序。新手先學會“讀檔案、查資料、列計劃”，再學“寫檔案、跑命令、接外部服務”。如果第一課就把 shell、MCP token、GitHub Action、自動批准放在一起，讀者很難判斷每一步的風險。

<Cards>
  <Card title="內建工具" description="從檔案系統、Shell、Web 和 planning 開始，不急著接外部服務。" href="/zh-Hant/docs/gemini-cli/official/03-tools-mcp/30-tools-overview" />
  <Card title="MCP 最小許可權" description="繼續看 settings、憑據、只讀資源和寫工具確認。" href="/zh-Hant/docs/gemini-cli/official/03-tools-mcp/35-mcp-setup" />
  <Card title="Extensions" description="需要分發 commands、MCP、themes、skills 時再進入 extension。" href="/zh-Hant/docs/gemini-cli/official/03-tools-mcp/38-extensions" />
</Cards>

## 頁面清單

| 頁面 | 解決的問題 |
| --- | --- |
| [工具總覽](/zh-Hant/docs/gemini-cli/official/03-tools-mcp/30-tools-overview) | 內建工具、MCP、extensions、policy 如何分層 |
| [檔案系統工具](/zh-Hant/docs/gemini-cli/official/03-tools-mcp/31-file-system-tool) | 讀取、搜尋、replace、write_file 和 diff 邊界 |
| [Shell 工具](/zh-Hant/docs/gemini-cli/official/03-tools-mcp/32-shell-tool) | 命令執行、後臺程序、sandbox 和失敗處理 |
| [Web 工具](/zh-Hant/docs/gemini-cli/official/03-tools-mcp/33-web-tools) | web search、web fetch 和來源核驗 |
| [Todos / Planning 工具](/zh-Hant/docs/gemini-cli/official/03-tools-mcp/34-todos-planning-tools) | 長任務進度、Plan Mode 和執行透明度 |
| [MCP 設定](/zh-Hant/docs/gemini-cli/official/03-tools-mcp/35-mcp-setup) | settings、環境變數、只讀到寫入的驗收流程 |
| [MCP server](/zh-Hant/docs/gemini-cli/official/03-tools-mcp/36-mcp-server) | transport、OAuth、tools/resources 和 trust 邊界 |
| [MCP resources](/zh-Hant/docs/gemini-cli/official/03-tools-mcp/37-mcp-resources) | 用只讀資源先提供外部上下文 |
| [Extensions](/zh-Hant/docs/gemini-cli/official/03-tools-mcp/38-extensions) | 擴充套件安裝、link、本地開發和安全審查 |

## 下一步

先讀：[工具總覽](/zh-Hant/docs/gemini-cli/official/03-tools-mcp/30-tools-overview)。

## 章節驗收

讀完本章後，應該能回答四個問題：哪個工具只是讀上下文，哪個工具會改檔案，哪個工具會執行命令，哪個外部能力來自 MCP 或 extension。回答不出來時，先不要配置複雜 MCP server。

## 官方來源

- [Google Developers Gemini CLI](https://developers.google.com/gemini-code-assist/docs/gemini-cli?hl=zh-cn)
- [Gemini CLI GitHub](https://github.com/google-gemini/gemini-cli)
