---
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="/docs/gemini-cli/official/03-tools-mcp/30-tools-overview" />
  <Card title="MCP 最小权限" description="继续看 settings、凭据、只读资源和写工具确认。" href="/docs/gemini-cli/official/03-tools-mcp/35-mcp-setup" />
  <Card title="Extensions" description="需要分发 commands、MCP、themes、skills 时再进入 extension。" href="/docs/gemini-cli/official/03-tools-mcp/38-extensions" />
</Cards>

## 页面清单

| 页面 | 解决的问题 |
| --- | --- |
| [工具总览](/docs/gemini-cli/official/03-tools-mcp/30-tools-overview) | 内置工具、MCP、extensions、policy 如何分层 |
| [文件系统工具](/docs/gemini-cli/official/03-tools-mcp/31-file-system-tool) | 读取、搜索、replace、write_file 和 diff 边界 |
| [Shell 工具](/docs/gemini-cli/official/03-tools-mcp/32-shell-tool) | 命令执行、后台进程、sandbox 和失败处理 |
| [Web 工具](/docs/gemini-cli/official/03-tools-mcp/33-web-tools) | web search、web fetch 和来源核验 |
| [Todos / Planning 工具](/docs/gemini-cli/official/03-tools-mcp/34-todos-planning-tools) | 长任务进度、Plan Mode 和执行透明度 |
| [MCP 设置](/docs/gemini-cli/official/03-tools-mcp/35-mcp-setup) | settings、环境变量、只读到写入的验收流程 |
| [MCP server](/docs/gemini-cli/official/03-tools-mcp/36-mcp-server) | transport、OAuth、tools/resources 和 trust 边界 |
| [MCP resources](/docs/gemini-cli/official/03-tools-mcp/37-mcp-resources) | 用只读资源先提供外部上下文 |
| [Extensions](/docs/gemini-cli/official/03-tools-mcp/38-extensions) | 扩展安装、link、本地开发和安全审查 |

## 下一步

先读：[工具总览](/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)
