These tools connect Claude Code to external systems: the web, MCP servers, language servers, scheduling infrastructure, and utility functions.
| Tool | Description | Read-only |
|---|
WebFetchTool | Fetch content from a URL | Yes |
WebSearchTool | Search the web | Yes |
Fetches the content at a given URL and returns it to the agent. Supports HTML pages, JSON APIs, and plain text responses. The tool extracts readable content from HTML, stripping navigation, ads, and boilerplate.
WebFetchTool({ url: 'https://example.com/api/docs', format: 'markdown' })
Performs a web search and returns a list of results with titles, URLs, and snippets. Use this when you need to find documentation, look up error messages, or research an unfamiliar library.
Both WebFetchTool and WebSearchTool are read-only. They do not write to disk or modify any state.
Model Context Protocol (MCP) lets you connect Claude Code to external tool servers. The MCP tools manage that connection.
| Tool | Description | Read-only |
|---|
MCPTool | Invoke tools on connected MCP servers | Varies |
ListMcpResourcesTool | List resources exposed by MCP servers | Yes |
ReadMcpResourceTool | Read a specific MCP resource | Yes |
McpAuthTool | Handle MCP server authentication | No |
ToolSearchTool | Discover deferred/dynamic tools from MCP servers | Yes |
The primary interface for calling tools registered on connected MCP servers. The read-only status of each call depends on the specific tool being invoked on the remote server.
Returns the list of resources (data sources, prompts, etc.) that currently connected MCP servers expose.
Reads the content of a specific resource from an MCP server by URI.
Handles authentication flows for MCP servers that require credentials. This may involve OAuth redirects, API key prompts, or other auth mechanisms depending on the server.
Discovers tools that are registered lazily (deferred) on connected MCP servers. Use this before invoking an MCP tool whose schema has not yet been loaded into the session.
MCP servers are configured in your Claude Code settings. See the MCP configuration docs for how to add and manage server connections.
| Tool | Description | Read-only |
|---|
LSPTool | Language Server Protocol operations | Yes |
SkillTool | Execute a registered skill | Varies |
Performs Language Server Protocol operations against the active language server. Supported operations include:
- Go to definition — Jump to where a symbol is defined
- Find references — List all usages of a symbol
- Hover — Get type information and documentation
- Diagnostics — Retrieve current errors and warnings
LSPTool is read-only: it queries the language server without modifying any files.
Executes a registered skill — a reusable, named procedure that can combine multiple tool calls into a single higher-level operation. The read-only status depends on the skill’s implementation.
Scheduling & triggers
| Tool | Description | Read-only |
|---|
ScheduleCronTool | Create a scheduled cron trigger | No |
RemoteTriggerTool | Fire a remote trigger | No |
Registers a cron expression that will invoke a specified action on a schedule. Use this to automate recurring tasks such as nightly builds, periodic health checks, or timed data syncs.
Fires a named remote trigger, which can kick off a workflow or notify an external system. Useful for integrating Claude Code into event-driven pipelines.
| Tool | Description | Read-only |
|---|
AskUserQuestionTool | Prompt the user for input during execution | Yes |
BriefTool | Generate a brief or summary | Yes |
ConfigTool | Read or modify Claude Code configuration | No |
Pauses execution and prompts the user to answer a question. The agent waits for the response before continuing. Use this when a task requires information that cannot be inferred from the codebase or context.
Generates a concise brief or summary from provided content. Useful for distilling long documents, changelogs, or diff outputs into a short human-readable form. Read-only.
Reads from or writes to the Claude Code configuration. Use this to inspect current settings or update them programmatically during a session.
ConfigTool can modify persistent configuration. Changes made with it will affect subsequent sessions unless explicitly reverted.