Local bookmark management system with MCP (Model Context Protocol) integration for AI tools. Provides search, list, get, stats, and delete operations on bookmarks via MCP protocol.
byte-link exposes 5 tools with basic schemas and Chinese descriptions. All tools have input schemas with typed parameters and descriptions, but quality is inconsistent. Tool names are action-verb-based (search, list, get, stats, delete) which is good. However, descriptions are terse (avg ~60 chars), lack context on WHEN to use each tool, and omit error recovery guidance. Parameter descriptions are present but minimal. Output schemas are not documented, LLMs cannot predict response structure. The delete tool lacks confirmation/dry-run pattern despite being destructive. No tool annotations (readOnlyHint/destructiveHint) despite clear read/write distinction. Error handling is absent from visible code.
删除书签(移入回收站,可恢复)。type: bookmark。
读取书签详情(标题/URL/描述/标签/分类/访问次数/收藏归档状态)。type: bookmark。
列出内容。type: bookmark/tag/category。tag 和 category 不支持 offset。limit 默认 20。bookmark 支持 kind(nav 导航/read 稍后读)与 unread 过滤。
搜索书签。type: bookmark/all(默认 all 跨类型合并,支持中文)。返回命中列表(标题 + ID + URL)。limit/offset 分页。
返回统计概览:书签/标签/分类数量与存储占用。
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Rubric baseline: 100% of A+ tools document return types.
Descriptions are terse (avg 60 chars, baseline 194 chars). Missing WHEN to use each tool and prerequisites. E.g., 'search' lacks guidance on type parameter behavior or Chinese support implications.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). delete tool is destructive but unmarked; search/list/get are read-only but unmarked. Agents cannot infer safety properties.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
delete tool lacks confirmation/dry-run pattern. Destructive operations should support confirmation before execution to prevent accidental data loss.
Parameter descriptions are minimal. E.g., 'type' param in search/list/get lacks enum values or format constraints. LLMs cannot validate inputs without explicit constraints.