A local MCP server that integrates with the Brave browser extension to capture, search, and synthesize research across browsing history using semantic search, AI summarization, and tab grouping.
BraveMCP has 16 tools with explicit schemas and descriptions, but quality is inconsistent. Naming is strong (verb-first, clear intent). Descriptions range from adequate (search_memory: 127 chars) to weak (get_open_tabs: 73 chars, below baseline 194). Critical gaps: 4 tools have empty input schemas (get_open_tabs, get_active_tab, get_bookmarks, summarize_open_tabs, get_research_sessions, generate_weekly_digest, suggest_tab_cleanup, get_all_open_tabs), no parameters documented. capture_current_page lacks required field constraints. apply_tab_grouping has good schema but no output documentation. No error handling guidance visible. No pagination for list-returning tools. Output schemas undocumented across all tools.
Apply semantic tab groups to the browser. Groups are validated by a strict critic engine before being staged: names must describe a TOPIC/PROJECT/THEME (e.g. 'MCP Protocol Research') — raw domain names ('github.com'), platform names ('YouTube'), and catch-alls ('Other', 'Misc') are rejected with an error explaining what to fix. Every open tab id should appear in exactly one group.
Capture page content. Can retrieve the active tab's page content or save new page content directly.
Retrieve forgotten pages/notes using semantic search weighted by a time-decay factor and visit frequency boost.
Find related content in the local memory database using a hybrid (semantic + keyword) query.
Generate a weekly summary digest of all research, most visited domains, captured pages, highlights, and suggest future follow-up questions.
Get the currently active browser tab
8 tools have empty input schemas (no properties defined).
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., tab IDs for apply_tab_grouping).
capture_current_page has 4 optional parameters with no constraints. LLMs cannot determine which combinations are valid or what happens when all are omitted.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Get the real-time array of ALL open browser tabs with ids and window ids. Call this FIRST when organizing tabs, then pass the tab ids to apply_tab_grouping.
Get all saved bookmarks from the database
Get list of all open tabs in the browser (synchronized in real-time)
Group recently visited pages into logical research topic sessions.
Save a new bookmark to the memory database
Save a manual note to the memory database
Search local memory database (pages, highlights, and notes) using hybrid search (semantic + keyword)
Analyze open browser tabs and suggest actions (Keep, Archive, Read Later, Close) based on recency and visit counts.
Generate a summary synthesis of what the user is researching based on their currently open browser tabs.
Synthesize a summary of all captured research pages related to a specific topic.
No error handling guidance visible. Tools return success/failure but do not guide LLM on retry logic, user-fixable errors, or recovery steps.
List-returning tools (get_bookmarks, search_memory, get_research_sessions, generate_weekly_digest) lack pagination (limit, offset, next_cursor). Large result sets will blow context window.