{"id":25441199,"url":"https://github.com/thesethrose/fetch-browser","last_synced_at":"2026-04-29T00:31:25.742Z","repository":{"id":277087366,"uuid":"931289380","full_name":"TheSethRose/Fetch-Browser","owner":"TheSethRose","description":"A powerful headless browser MCP server that enables AI agents to fetch web content and perform Google searches without requiring any API keys. ","archived":false,"fork":false,"pushed_at":"2025-02-12T18:38:37.000Z","size":141,"stargazers_count":7,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T16:12:29.439Z","etag":null,"topics":["automation","headless-browser","mcp","mcp-server"],"latest_commit_sha":null,"homepage":"https://www.sethrose.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheSethRose.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-12T02:55:42.000Z","updated_at":"2025-04-30T15:32:06.000Z","dependencies_parsed_at":"2025-02-12T04:24:26.971Z","dependency_job_id":"01e08569-441c-406d-b6db-ea590d920593","html_url":"https://github.com/TheSethRose/Fetch-Browser","commit_stats":null,"previous_names":["thesethrose/fetch-browser"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TheSethRose/Fetch-Browser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheSethRose%2FFetch-Browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheSethRose%2FFetch-Browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheSethRose%2FFetch-Browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheSethRose%2FFetch-Browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheSethRose","download_url":"https://codeload.github.com/TheSethRose/Fetch-Browser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheSethRose%2FFetch-Browser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32405901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"ssl_error","status_checked_at":"2026-04-28T19:37:55.688Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","headless-browser","mcp","mcp-server"],"created_at":"2025-02-17T12:20:03.197Z","updated_at":"2026-04-29T00:31:25.722Z","avatar_url":"https://github.com/TheSethRose.png","language":"TypeScript","funding_links":[],"categories":["Browser Automation"],"sub_categories":["How to Submit"],"readme":"# Fetch Browser\n\nA powerful headless browser MCP server that enables AI agents to fetch web content and perform Google searches without requiring any API keys. Built with modern web standards and designed for seamless integration with AI platforms.\n\n## Features\n\n- **No API Keys Required**: Uses a sophisticated headless browser approach to fetch content directly\n- **Smart Google Search**:\n  - Extract structured results from Google searches\n  - Support for both web and news results\n  - Configurable number of results (1-100)\n  - Full content fetching of search results\n  - Automatic retry and error handling\n\n- **Universal Content Fetching**:\n  - Support for any webpage or API endpoint\n  - Multiple output formats (HTML, JSON, Text, Markdown)\n  - Automatic content type detection\n  - Response size limits and timeout protection\n  - Rate limiting protection\n\n- **Format Conversion**:\n  - Clean HTML to Markdown conversion\n  - Pretty-printed JSON responses\n  - Structured HTML output\n  - Plain text with proper formatting\n\n## Tools\n\n### 1. Google Search Tool (`google_search`)\nExecutes Google searches and fetches full content of results:\n\n```typescript\n{\n  query: \"your search query\",\n  responseType: \"markdown\", // or \"json\", \"html\", \"text\"\n  maxResults: 10,          // 1-100 results\n  topic: \"web\"            // or \"news\"\n}\n```\n\n### 2. URL Fetcher Tool (`fetch_url`)\nFetches content from any URL:\n\n```typescript\n{\n  url: \"https://example.com\",\n  responseType: \"markdown\", // or \"json\", \"html\", \"text\"\n  timeout: 30000          // optional, in milliseconds\n}\n```\n\n## Installation\n\n### Via Smithery\n```bash\n# For Claude\nnpx -y @smithery/cli install @TheSethRose/fetch-browser --client claude\n\n# For Cursor\nnpx -y @smithery/cli install @TheSethRose/fetch-browser --client cursor\n\n# For TypeScript\nnpx -y @smithery/cli install @TheSethRose/fetch-browser --client typescript\n```\n\n### Manual Installation\n```bash\n# Clone the repository\ngit clone https://github.com/TheSethRose/fetch-browser.git\ncd fetch-browser\n\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n\n# Start the server\nnpm start\n```\n\n## Development\n\n```bash\n# Watch mode with auto-rebuild\nnpm run watch\n\n# Run with inspector\nnpm run inspector\n\n# Debug mode\nnpm run debug\n\n# Debug with watch mode\nnpm run debug:watch\n```\n\n## Response Formats\n\n### 1. Markdown Format\n```markdown\n## [Page Title](https://example.com)\n\nContent converted to clean markdown with:\n- Lists\n- **Bold text**\n- *Italic text*\n- [Links](https://example.com)\n```\n\n### 2. JSON Format\n```json\n{\n  \"url\": \"https://example.com\",\n  \"content\": \"Extracted content...\",\n  \"error\": null\n}\n```\n\n### 3. HTML Format\n```html\n\u003cdiv class=\"search-result\"\u003e\n  \u003ch2\u003e\u003ca href=\"https://example.com\"\u003ePage Title\u003c/a\u003e\u003c/h2\u003e\n  \u003cdiv class=\"content\"\u003e\n    Original HTML content\n  \u003c/div\u003e\n\u003c/div\u003e\n```\n\n### 4. Text Format\n```text\n### https://example.com\n\nPlain text content with preserved formatting\n==========\n```\n\n## Error Handling\n\n- Automatic retries with exponential backoff\n- Rate limiting protection\n- Timeout handling\n- Detailed error messages\n- Individual result error tracking\n\n## Security Features\n\n- Response size limits\n- Request timeouts\n- Rate limiting protection\n- No API keys or secrets required\n- Proper error handling\n\n## Credits\n\n**Created by Seth Rose**:\n- **Website**: [https://www.sethrose.dev](https://www.sethrose.dev)\n- **𝕏 (Twitter)**: [https://x.com/TheSethRose](https://x.com/TheSethRose)\n- **🦋 (Bluesky)**: [https://bsky.app/profile/sethrose.dev](https://bsky.app/profile/sethrose.dev)\n\n## License\n\nMIT License - See [LICENSE](LICENSE) for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthesethrose%2Ffetch-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthesethrose%2Ffetch-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthesethrose%2Ffetch-browser/lists"}