A command-line interface and MCP server for managing and querying Hatena Bookmark archives
The server defines 18 tools with mostly complete schemas and descriptions, but has significant quality gaps that prevent a higher score. Tool naming is inconsistent (verb-noun in some cases like 'search', but bare nouns in others like 'tags', 'words', 'domains'), descriptions vary widely in quality (range 20-200+ chars), and parameter coverage is incomplete. Most critically: schemas are present but parameter descriptions are sometimes missing or generic; no output schemas are documented; error handling guidance is absent; and security/validation details are not visible in the provided code. The server is well-structured as a CLI that doubles as an MCP server, but definition quality lags production standards. Average tool score: ~52/100.
When a subject flared up, and how far above its usual rate
What changed between two stretches: what rose, and what fell away
Manage configuration
What else was bookmarked around a page, grouped into sittings
Rank bookmarked URL domains for a specific date
Import legacy bookmarks from a directory (e.g., hatebu-ai/public/data)
List bookmarks for a specific date
Ask whether a page or a site has been bookmarked, and when
Inconsistent tool naming: mix of bare nouns (tags, words, domains, timeline, bursts, resurface) and verb-noun pairs (search, lookup, compare). LLMs struggle to disambiguate tools with unclear names.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Users must infer return structure from descriptions alone.
Tools 'tags' and 'words' have minimal or missing parameter information in provided code (sourced from compare.ts without visible schema). Cannot verify input parameters or constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Lay out the candidates for a best-of round, and give the page to tag
A few bookmarks at random, for digging something out of the archive
What the archive cared about and has stopped mentioning
Search bookmarks from local cache
Show weekly stats summary in Markdown
Sync bookmarks from Hatena RSS (excluding today)
The bookmarks filed under one tag, newest first
Rank tags applied to bookmarks for a specific date
List bookmarks in a given timespan, sorted chronologically
Rank words appearing in bookmark titles for a specific date
No error handling guidance in tool descriptions. Tools like 'sync' (network) and 'import' (file I/O) can fail; descriptions do not explain recovery steps or retry strategies.
Descriptions for many tools are under 100 characters and lack context on WHEN to use them or dependencies. E.g., 'tags' (20 chars), 'words' (20 chars), 'domains' (50 chars) provide minimal guidance for tool selection.
Parameter descriptions often generic or missing constraints. E.g., 'date' parameter in multiple tools lacks format validation rules ('yyyy-mm-dd' hinted in some, missing in others). LLMs may pass invalid dates.
No pagination documented for tools returning lists (search, timeline, tagged, random, lookup, context). No indication of result limits, next_cursor, or total counts.
Tools marked WRITE (config, pick, sync, import) lack idempotency guarantees or dry-run options. No guidance on side effects or retry safety.