Analyzed 34 days ago · 2 anonymous rescans remaining · register free to re-analyze any time.
Public analysis · read only
Register free to re-analyze

suthio/brave-deep-research-mcp

7 5 1 issues
TypeScript

Project Overview

anthropic / claude-opus-4-7

Brave Deep Research MCP

MCP server that combines Brave Search API with Puppeteer scraping to give AI assistants full-page research capability.

AI Verdict
Clean— AI Trust Assessment

True Intent (AI Assessment)

Provide an MCP-compatible tool that performs Brave web searches and scrapes full page content with Puppeteer so LLMs can conduct deeper research.

README Accuracy

Accurate

Notes

Code matches README. Minor discrepancies: duplicated modules (two Brave clients, two browser managers) indicate unfinished refactoring; no LICENSE file in tree despite MIT declaration in package.json; no tests despite a `test` script.

What Is This?

This is a Model Context Protocol (MCP) server written in TypeScript that exposes a single tool called `deep-search` to AI assistants like Claude Desktop. When invoked, it queries the Brave Search API for initial results, then launches a headless Puppeteer browser to visit each result URL, extract the main article content, and optionally follow links one or two levels deep to gather related content.

The problem it addresses is a limitation of standard search-based MCP integrations: they return only short snippets from search APIs, which is often insufficient for research tasks. By actually loading pages in a real browser and applying readability-style content extraction heuristics, this server hands the AI the full body text of relevant pages rather than just descriptions, letting the model reason over substantive source material.

The intended users are developers running local AI assistants (primarily Claude for Desktop, as documented in CLAUDE_SETUP.md) who want deeper web research than snippet-based tools provide. It is installed globally via npm or run via npx, wired into the assistant's MCP config with a Brave API key, and then invoked through natural-language prompts like 'use deep-search to research quantum computing'.

Internally, the code is organized around a stdio MCP server (`src/server.ts`, `src/index.ts`), a Brave Search HTTP client (`brave-search-client.ts`), a singleton Puppeteer browser manager (`browser-manager.ts`), and a content extractor that runs DOM heuristics inside the page to pick article/main/content elements while ignoring nav, ads, and footers. A `DeepSearchService` orchestrates search → extract → follow-links → summarize. Configuration is via environment variables (BRAVE_API_KEY, PUPPETEER_HEADLESS, PAGE_TIMEOUT, DEBUG_MODE).

Notable observations: the codebase contains two parallel implementations of similar functionality — `src/brave-search-client.ts` and `src/services/brave-search.ts`, plus `src/browser-manager.ts` vs `src/utils/browser.ts` and duplicate content extractors. This suggests a refactor in progress or dead code. Version is 0.0.1 with no tests and no license file at repo root (though package.json declares MIT). Nothing suspicious — behavior matches the stated purpose.

Your Report, Tab by Tab
At a Glance
7Stars
5Forks
1Open Issues
March 11, 2025Last Active
CLI Tool (MCP server)TypeScriptMIT (declared in package.json; no LICENSE file)
Technology Stack
LanguagesTypeScript, JavaScript
RuntimeNode.js 16+
FrameworkModel Context Protocol SDK
DatabaseNone
Package Managernpm
Key Dependencies@modelcontextprotocol/sdk, puppeteer, node-fetch, zod, dotenv
Build ToolTypeScript compiler (tsc)
Test FrameworkNone detected