LinkDigest for DeepSeek Harness: mounts the remote LinkDigest MCP via the in-box @deepseek-ai/dsh-mcp-client bridge — turn a Xiaohongshu, Douyin, TikTok, YouTube or X link into text an agent can read.
Single tool 'digest_url' has a clear action verb and reasonable description (89 chars), but critical gaps undermine quality. Input schema is visible with two parameters (url, format), both typed as strings with descriptions. However, output schema is completely undocumented, the code shows Digest objects with json/markdown/cached/credits fields, but the tool definition provides no schema documentation for what the LLM receives. Parameter 'format' lacks an enum constraint despite accepting only 'markdown' or 'json'. No error handling guidance in the description. The tool is read-only (good security posture) but lacks idempotent/readonly annotations. Overall: functional but below production baseline for agent tooling.
Convert a Xiaohongshu, Douyin, TikTok, YouTube or X link into readable text or structured JSON
Output schema completely undocumented. Code shows Digest returns json|markdown|cached|credits fields, but tool definition provides no schema for LLM to understand response structure. LLMs cannot plan downstream actions without knowing what fields to extract.
Parameter 'format' accepts only 'markdown' or 'json' but is defined as free-form string without enum constraint. Invites LLM to hallucinate invalid formats like 'xml' or 'csv'.
No error handling guidance in description. Code raises LinkDigestError for 401 (invalid key), 402 (quota), 429 (rate limit), 502 (content unreadable), and timeout scenarios, but description does not explain what to do if digest fails or how to recover.
Tool lacks readonly/idempotent annotations despite being read-only and safe to retry. Missing tool annotations prevent LLM from optimizing retry strategy and understanding safety properties.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Description does not mention timeout behavior (210s polling deadline) or that long media may take 120-170s. LLMs may assume instant response and retry prematurely.