web_fetch
Fetch a page without a session.
Opens a URL in a real browser and returns it as Markdown, HTML or text. It does not use or create a session.
Inputs
| Name | Type | Default | Allowed values | Description |
|---|---|---|---|---|
urlrequired | string | – | – | The page to fetch. |
format | string | markdown | markdown, html, text | The format of the content. |
blockAds | boolean | false | – | Refuse requests to ad and tracker sites while the page loads. |
Example call
This is what an MCP client sends. You do not write it yourself: ask the model in plain words and it calls the tool.
{ "name": "web_fetch", "arguments": { "url": "https://example.com" }}What it returns
The title, the final URL, the HTTP status and the content.
# Example Domainhttps://example.com/ (HTTP 200)This domain is for use in documentation examples …When a call fails, the result is marked as an error. Its text starts with the API’s error code, such as unauthorized or session_not_running, followed by its message.
Annotations
The server tells every client what this tool does to the world, so a client can decide what to ask you about before it runs.
| Annotation | Value |
|---|---|
title | Fetch a web page |
readOnlyHint | true |
destructiveHint | false |
openWorldHint | true |
Good to know
- Your plan must include the quick web APIs.
- Long pages are cut at 40,000 characters.
The same thing with the API
| Endpoint | Reference |
|---|---|
POST /v1/fetch | Fetch a page |
These docs describe a beta API. Endpoints, fields and SDK methods may change before general availability; breaking changes will be listed in the changelog.