FastMCP server for Microsoft Edge bookmark management with advanced search, analytics, and export capabilities
Server has 14 tools with mostly complete schemas and descriptions, but quality is inconsistent. Naming follows verb_noun convention well (search_bookmarks, get_bookmarks, export_bookmarks). Descriptions are present but often generic (e.g., 'Get all bookmarks with optional filtering and pagination' lacks context on when to use vs search_bookmarks). Parameter schemas are well-typed with enums and constraints (e.g., search_mode enum, format enum in export_bookmarks), but descriptions for some parameters are minimal. Output schemas are documented in Pydantic models (BookmarkResult, SearchResults, AnalyticsReport) but not visible in tool definitions themselves. Error handling is absent from tool definitions, no guidance on recovery or retryability. Tool composition is reasonable (separate search, get, export tools) but some tools combine multiple concerns (get_bookmark_analytics includes duplicates, folder analysis, domain analysis, health scoring in one call).
Analyze bookmark folder structure and organization.
Create a backup of all bookmarks from all Edge profiles.
Export bookmarks to various formats (JSON, CSV, HTML, XLSX) with advanced filtering and options.
Find and analyze duplicate bookmarks using multiple detection strategies.
Get comprehensive bookmark analytics including duplicates, folder analysis, and health scoring.
Get all bookmarks with optional filtering and pagination.
Get statistics about bookmarked domains and their distribution.
Descriptions lack context on tool selection and prerequisites. 'Get all bookmarks with optional filtering and pagination' (get_bookmarks) does not explain when to use it vs search_bookmarks. LLMs cannot disambiguate similar tools without explicit guidance.
No error handling guidance in tool definitions. Tools do not document what errors are retryable, what requires user intervention, or how to recover. E.g., reload_bookmarks could fail if Edge profiles are locked, but no recovery hint is provided.
Tool get_bookmark_analytics combines four distinct concerns (duplicates, folder analysis, domain analysis, health scoring) into one tool. This violates single-responsibility principle and forces agents to request all analyses even when only one is needed.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
Get search suggestions based on bookmarks and search history.
Get current server status, health information, and statistics.
Initialize the bookmark server components with comprehensive setup.
Reload bookmarks from Edge profiles and rebuild search index.
Search bookmarks with multiple search modes and advanced filtering.
Start monitoring Edge bookmark files for changes.
Stop monitoring Edge bookmark files for changes.
Output schemas documented in Pydantic models (BookmarkResult, SearchResults, AnalyticsReport) but not visible in tool definitions themselves. LLMs cannot see what fields to expect from each tool without reading implementation code.
Destructive operations (backup_bookmarks, export_bookmarks, reload_bookmarks with force_reload=true) lack confirmation or dry-run support. Agents could accidentally overwrite backups or force reloads without user consent.