工具与 MCP
Gemini CLI 工具与 MCP 入口:内置工具、文件系统、Shell、Web、todos、planning、MCP server/resources 和 extensions。
工具系统决定 Gemini CLI 能不能从“回答问题”变成“完成任务”。内置工具负责本地文件、Shell、Web、规划;MCP 和 extensions 负责把外部服务接进来。
先掌握内置工具,再接 MCP。工具越多,能力越大,权限和误操作风险也越大。
学习路径
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 行为,问题会被放大。
工具分层
内置工具 文件、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、自动批准放在一起,读者很难判断每一步的风险。
内置工具
从文件系统、Shell、Web 和 planning 开始,不急着接外部服务。
MCP 最小权限
继续看 settings、凭据、只读资源和写工具确认。
Extensions
需要分发 commands、MCP、themes、skills 时再进入 extension。
页面清单
| 页面 | 解决的问题 |
|---|---|
| 工具总览 | 内置工具、MCP、extensions、policy 如何分层 |
| 文件系统工具 | 读取、搜索、replace、write_file 和 diff 边界 |
| Shell 工具 | 命令执行、后台进程、sandbox 和失败处理 |
| Web 工具 | web search、web fetch 和来源核验 |
| Todos / Planning 工具 | 长任务进度、Plan Mode 和执行透明度 |
| MCP 设置 | settings、环境变量、只读到写入的验收流程 |
| MCP server | transport、OAuth、tools/resources 和 trust 边界 |
| MCP resources | 用只读资源先提供外部上下文 |
| Extensions | 扩展安装、link、本地开发和安全审查 |
下一步
先读:工具总览。
章节验收
读完本章后,应该能回答四个问题:哪个工具只是读上下文,哪个工具会改文件,哪个工具会执行命令,哪个外部能力来自 MCP 或 extension。回答不出来时,先不要配置复杂 MCP server。