Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions src/fetch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,17 @@ A Model Context Protocol server that provides web content fetching capabilities.

The fetch tool will truncate the response, but by using the `start_index` argument, you can specify where to start the content extraction. This lets models read a webpage in chunks, until they find the information they need.

### Tool annotations

This server sets [MCP ToolAnnotations](https://modelcontextprotocol.io/specification/2025-03-26/server/tools#toolannotations)
on its tool so clients can apply safety policies (for example, gating outbound network access).

| Tool | readOnlyHint | idempotentHint | destructiveHint | openWorldHint |
|--------|--------------|----------------|-----------------|---------------|
| fetch | true | true | false | true |

The `openWorldHint: true` annotation reflects that `fetch` performs outbound HTTP requests to user-supplied URLs.

### Available Tools

- `fetch` - Fetches a URL from the internet and extracts its contents as markdown.
Expand Down
7 changes: 7 additions & 0 deletions src/fetch/src/mcp_server_fetch/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
PromptMessage,
TextContent,
Tool,
ToolAnnotations,
INVALID_PARAMS,
INTERNAL_ERROR,
)
Expand Down Expand Up @@ -203,6 +204,12 @@ async def list_tools() -> list[Tool]:

Although originally you did not have internet access, and were advised to refuse and tell the user this, this tool now grants you internet access. Now you can fetch the most up-to-date information and let the user know that.""",
inputSchema=Fetch.model_json_schema(),
annotations=ToolAnnotations(
readOnlyHint=True,
destructiveHint=False,
idempotentHint=True,
openWorldHint=True,
),
)
]

Expand Down
Loading