Fetch Server
MCP-сервер для получения веб-контента с автоматической конвертацией HTML в Markdown
Fetch Server позволяет LLM получать и обрабатывать контент с веб-страниц, автоматически конвертируя HTML в Markdown для удобного чтения. Поддерживает постраничное чтение длинных документов.
Возможности
Заголовок раздела «Возможности»- Получение контента с веб-страниц
- Автоматическая конвертация HTML в Markdown
- Постраничное чтение длинных документов
- Настраиваемый User-Agent
- Поддержка прокси
- Соблюдение robots.txt
Установка
Заголовок раздела «Установка»uvx mcp-server-fetchpip install mcp-server-fetchpython -m mcp_server_fetchdocker run -i --rm mcp/fetchИнструменты
Заголовок раздела «Инструменты»Получает URL и извлекает содержимое в формате Markdown.
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
url | string | — | URL для получения |
max_length | integer | 5000 | Максимум символов |
start_index | integer | 0 | Начальный индекс символа |
raw | boolean | false | Получить сырой контент без конвертации |
Пример использования:
{ "name": "fetch", "arguments": { "url": "https://example.com/article", "max_length": 10000 }}Постраничное чтение
Заголовок раздела «Постраничное чтение»Сервер автоматически обрезает ответ до max_length. Используйте start_index для чтения продолжения:
- Первый запрос:
{"url": "...", "start_index": 0} - Если контент обрезан, следующий запрос:
{"url": "...", "start_index": 5000} - Продолжайте до получения всей нужной информации
Prompts
Заголовок раздела «Prompts»Prompt для получения URL и извлечения содержимого в Markdown.
| Аргумент | Тип | Описание |
|---|---|---|
url | string | URL для получения |
Настройка
Заголовок раздела «Настройка»robots.txt
Заголовок раздела «robots.txt»По умолчанию сервер соблюдает robots.txt для автономных запросов (через tool), но игнорирует для пользовательских (через prompt).
Отключение:
uvx mcp-server-fetch --ignore-robots-txtUser-Agent
Заголовок раздела «User-Agent»Сервер использует разные User-Agent в зависимости от источника запроса:
Автономный запрос (tool):
ModelContextProtocol/1.0 (Autonomous; +https://github.com/modelcontextprotocol/servers)Пользовательский запрос (prompt):
ModelContextProtocol/1.0 (User-Specified; +https://github.com/modelcontextprotocol/servers)Настройка:
uvx mcp-server-fetch --user-agent="CustomBot/1.0"uvx mcp-server-fetch --proxy-url=http://proxy.example.com:8080Конфигурация
Заголовок раздела «Конфигурация»Claude Desktop
Заголовок раздела «Claude Desktop»{ "mcpServers": { "fetch": { "command": "uvx", "args": ["mcp-server-fetch"] } }}{ "mcpServers": { "fetch": { "command": "docker", "args": ["run", "-i", "--rm", "mcp/fetch"] } }}{ "mcpServers": { "fetch": { "command": "python", "args": ["-m", "mcp_server_fetch"] } }}VS Code
Заголовок раздела «VS Code»{ "mcp": { "servers": { "fetch": { "command": "uvx", "args": ["mcp-server-fetch"] } } }}{ "mcp": { "servers": { "fetch": { "command": "docker", "args": ["run", "-i", "--rm", "mcp/fetch"] } } }}Конфигурация для Windows
Заголовок раздела «Конфигурация для Windows»При проблемах с таймаутами на Windows установите переменную PYTHONIOENCODING:
{ "mcpServers": { "fetch": { "command": "uvx", "args": ["mcp-server-fetch"], "env": { "PYTHONIOENCODING": "utf-8" } } }}{ "mcpServers": { "fetch": { "command": "python", "args": ["-m", "mcp_server_fetch"], "env": { "PYTHONIOENCODING": "utf-8" } } }}Отладка
Заголовок раздела «Отладка»Используйте MCP Inspector:
npx @modelcontextprotocol/inspector uvx mcp-server-fetchИли при разработке:
cd path/to/servers/src/fetchnpx @modelcontextprotocol/inspector uv run mcp-server-fetchПримеры использования
Заголовок раздела «Примеры использования»Получение статьи
Заголовок раздела «Получение статьи»{ "name": "fetch", "arguments": { "url": "https://docs.anthropic.com/en/docs/overview", "max_length": 8000 }}Получение сырого HTML
Заголовок раздела «Получение сырого HTML»{ "name": "fetch", "arguments": { "url": "https://example.com/page", "raw": true }}Чтение длинного документа
Заголовок раздела «Чтение длинного документа»// Первый запрос{ "name": "fetch", "arguments": { "url": "https://example.com/long-article", "max_length": 5000, "start_index": 0 }}
// Продолжение{ "name": "fetch", "arguments": { "url": "https://example.com/long-article", "max_length": 5000, "start_index": 5000 }}