A Model Context Protocol server for web browsing, searching, fetching, and downloading content with JWT-based access control and policy enforcement
browse-mcp provides three well-named tools with clear, action-verb prefixes (web_search, web_fetch, web_download). Tool descriptions are substantive (160-220 chars) and explain use cases and constraints. Input schemas are present with typed parameters and descriptions. However, output schemas are not documented, the source shows tool registration but no return type specifications. Error handling guidance is minimal. The server demonstrates good foundational quality with room for improvement in output documentation and error recovery patterns.
Download a file from a URL and save it to disk. Use this for binary files, PDFs, images, or any file you want to save locally. Returns the number of bytes written and the final file path.
Fetch a URL and return its content as clean text. HTML is automatically stripped of noise (scripts, nav, ads) and converted to readable text. For large pages (>50KB) the content is saved to a temp file and the path is returned — use your filesystem tools to read it. Max response size: 5MB. Only HTTP and HTTPS are supported.
Search the web and return a list of results with title, URL and snippet. Default provider is DuckDuckGo (no API key needed). Set provider to use Tavily or Serper if you have API keys configured. Recommended flow: web_search to find relevant URLs, then web_fetch to read the full content of the most relevant ones.
Output schemas not documented. Tools register input schemas but return types are not formally specified, forcing LLMs to infer response structure.
Minimal error handling guidance. Error responses do not indicate whether failures are retryable, what the LLM should do next, or how to fix invalid input.
web_fetch and web_download timeout parameters lack validation constraints in descriptions. No guidance on which timeouts are safe or typical values.
web_search provider parameter lacks enum constraint. While description lists options (duckduckgo, tavily, serper), no formal enum prevents hallucinated provider names.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 69 | 2026-07-28+ | v2 |
| 2026-03-09 | C | 60 | - | v1 |
No pagination support documented in web_search. Large result sets could exceed context windows; max_results hint is present but no cursor/offset mechanism explained.