名称: 列出代理工具 描述: 列出可用于自定义代理配置的工具。在定义代理工具访问时用作参考。 参数提示: (无参数 - 列出所有工具) 允许工具: []
列出代理工具
列出可用于自定义代理配置的工具。
指令
显示默认的Claude Code工具和工具访问配置指南。
输出
## Claude Code 默认工具
### 文件操作
| 工具 | 目的 | 常见用途 |
| --- | --- | --- |
| `Read` | 读取文件内容 | 代码库探索 |
| `Write` | 写入新文件 | 文件创建 |
| `Edit` | 编辑现有文件 | 代码修改 |
| `Glob` | 按模式查找文件 | 文件发现 |
| `Grep` | 搜索文件内容 | 代码搜索 |
### 执行
| 工具 | 目的 | 常见用途 |
| --- | --- | --- |
| `Bash` | 执行shell命令 | 构建、测试、部署 |
### 网页
| 工具 | 目的 | 常见用途 |
| --- | --- | --- |
| `WebFetch` | 获取网页内容 | 文档 |
| `WebSearch` | 搜索网页 | 研究 |
### 代理
| 工具 | 目的 | 常见用途 |
| --- | --- | --- |
| `Task` | 生成子代理 | 并行工作 |
| `TodoWrite` | 跟踪任务 | 进度跟踪 |
---
## 工具访问配置
### 白名单 (allowed_tools)
当代理仅需要特定工具时使用:
```python
allowed_tools=["Read", "Write", "Bash"]
黑名单 (disallowed_tools)
当代理需要大多数工具但排除一些时使用:
disallowed_tools=["WebFetch", "WebSearch", "Task"]
禁用所有默认工具
对于只有自定义工具的代理:
disallowed_tools=["*"]
自定义工具
通过MCP服务器添加:
mcp_servers={"my_server": my_mcp_server}
allowed_tools=["mcp__my_server__my_tool"]
工具命名: mcp__<服务器>__<工具>
工具访问模式
最小代理
对于专注、单一目的的代理:
allowed_tools=["Read"] # 只读探索
代码代理
对于修改代码的代理:
allowed_tools=["Read", "Write", "Edit", "Glob", "Grep", "Bash"]
研究代理
对于收集信息的代理:
allowed_tools=["Read", "Glob", "Grep", "WebFetch", "WebSearch"]
纯自定义工具
对于只有自定义功能的代理:
mcp_servers={"domain": domain_server}
allowed_tools=["mcp__domain__tool1", "mcp__domain__tool2"]
disallowed_tools=["*"]
并行代理
对于生成子代理的代理:
allowed_tools=["Task", "Read", "Glob", "Grep"]
令牌开销警告
“15个额外工具会占用您代理的思维空间。”
每个工具定义即使从未使用也会消耗上下文窗口空间。移除不必要的工具以:
- 更好地利用上下文
- 减少混淆
- 更清晰的代理焦点
相关命令
/create-agent- 搭建新的自定义代理/create-tool- 生成自定义工具样板
相关技能
- @custom-agent-design - 代理设计工作流程
- @tool-design - 工具创建工作流程
相关记忆
- @core-four-custom.md - 核心四中的工具
- @custom-tool-patterns.md - 工具模式
笔记
- 使用 /context 命令理解工具开销
- 移除您的代理不需要的工具
- 自定义工具需要ClaudeSDKClient(不是query())