MCP server for browser history synchronization with search, filtering, and metadata retrieval capabilities
Server has 5 tools with clear naming (verb_noun pattern) and reasonable descriptions (100-200 chars). All tools are READ_ONLY with documented parameters. However, critical gaps exist: no output schemas are documented, parameter descriptions lack format/constraint details (e.g., ISO-8601 format stated but no validation guidance), and no error handling patterns are visible. Tools follow single-responsibility principle but lack the depth expected for production use. Schemas are present in input but sparse on output structure.
Group the user's visits by hostname and return the top hosts by visit count. Use optional `start` / `end` (ISO-8601) to limit the date range. Capped at 500 hosts.
Retrieve stored metadata for a specific URL (OpenGraph description, canonical URL, etc.). Returns opaque JSON as sent by the extension.
List the user's visits grouped by date, with optional filtering by host. Returns visits in reverse chronological order.
Liveness check — returns the calling user identity. Useful for confirming MCP clients have a valid bearer.
Search the user's browser history by URL pattern, title, or full-text query. Optional date range filter.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
Parameter descriptions lack format constraints and validation rules. E.g., 'start' and 'end' state ISO-8601 but do not specify timezone handling, whether times are inclusive/exclusive, or what happens if start > end.
No error handling guidance visible. Tools do not document what happens on invalid input (e.g., malformed URL in get_page_metadata, invalid date range in search_history) or how LLMs should recover.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
search_history and list_visits_by_date accept date ranges but do not document pagination or result limits. Large result sets could exhaust context windows.
count_by_domain states 'capped at 500 hosts' but does not document what happens when limit is exceeded (truncation, error, pagination token).