+- **Content-type-aware `web_url_read`:** The URL reader now inspects the response `Content-Type` before converting. HTML is converted to markdown as before; JSON (`application/json` and `*+json`) is pretty-printed in a fenced block; and plain text, YAML, TOML, and XML are returned as readable fenced text. Binary, media, archive, and PDF responses are now rejected with a short hint instead of being decoded into unreadable bytes — fixing the case where fetching a PDF URL fed garbage to the model. Responses whose declared type is missing or generic are sniffed for a NUL byte in the first kilobyte and rejected if they look binary, which also catches binaries mislabeled as `text/plain`; anything textual continues through the existing HTML pipeline unchanged. (FEAT-045, [#142](https://github.com/ihor-sokoliuk/mcp-searxng/pull/142), resolves [#133](https://github.com/ihor-sokoliuk/mcp-searxng/issues/133))
0 commit comments