MCP server for managing and searching a local bookmark database with full-text search, tagging, enrichment, and topic summarization capabilities
Server has 8 well-named tools with clear verb-noun patterns (search_, list_, get_, browse_, add_, summarize_). Descriptions are present and reasonably detailed (avg ~150 chars), exceeding the 10-char minimum. Input schemas are visible with types and descriptions for most parameters. However, output schemas are not formally documented, responses are inferred from code. Error handling is minimal (returns error dicts but no recovery guidance). No tool annotations (readOnlyHint/destructiveHint). Parameter descriptions could be more prescriptive about constraints and formats. Overall: solid foundation, but lacks production-grade polish around error recovery and output documentation.
Add or update a personal note on a bookmark.
Add a tag to a bookmark (idempotent).
Browse bookmarks by tag, newest first.
Get a single bookmark with full detail. Returns the complete bookmark including tweet text, thread text, all linked page content, tags, and user notes.
Get a collection overview. Returns total bookmarks, enrichment status, tag counts, top authors, and date range.
List all tags with bookmark counts. Returns every tag in the collection along with how many bookmarks have that tag. Useful for understanding what topics the bookmarks cover.
Output schemas not formally documented. Tool descriptions state what is returned (e.g., 'Returns ranked results with snippets') but JSON Schema output types are absent. LLMs cannot plan downstream operations without knowing response structure.
Error handling lacks recovery guidance. When a bookmark is not found, tools return {'error': '...'} but do not suggest next steps (e.g., 'Try search_bookmarks() with a partial query'). Agents cannot self-correct.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk levels are declared in the spec (READ_ONLY, WRITE) but not exposed in tool metadata. Clients cannot determine which tools are safe to retry or have side effects.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Search bookmarks using full-text search. Searches across tweet text, thread content, enriched page content, notes, and tags. Returns ranked results with snippets.
Gather bookmarks on a topic for synthesis. Collects all matching bookmarks and structures their content at the requested detail level for you to summarize.
Parameter descriptions for add_note and add_tag are minimal ('The note text to attach', 'Tag to add'). No guidance on format, length limits, or valid characters. LLMs may pass invalid input.
tool_summarize_topic accepts 'query_or_tag' as a single parameter but requires different logic (tag lookup vs search). Parameter description does not explain the fallback behavior or when each path is taken. Ambiguous for LLM planning.