Read, write, and inspect the system clipboard across macOS, Linux (X11/Wayland), and Windows via MCP. STDIO or Streamable HTTP.
Three well-defined tools with comprehensive descriptions (194 - 350 chars), explicit input/output schemas using Zod, and proper error handling. Tool names follow verb_noun pattern (clipboard_inspect, clipboard_read, clipboard_write). All parameters are typed and described. Output schemas are documented with field descriptions. Error recovery guidance is present. Annotations (readOnlyHint, destructiveHint) are correctly applied. Minor gaps: clipboard_read description is very long (1100+ chars, exceeds 1024 baseline); no pagination support despite potential for large content; clipboard_write lacks explicit confirmation pattern for destructive clear operation.
List the formats and byte sizes of what is currently on the clipboard without reading the full content. Use this before calling clipboard_read to see what formats are available and how large they are. Returns primaryFormat (the richest format present, using priority image > html > rtf > text), the list of all available semantic formats, and a table of raw platform type identifiers with sizes.
Read the current clipboard contents in a requested format. "auto" returns the richest format explicitly present (priority: image > html > rtf > text). "image" returns base64-encoded PNG, with pixel dimensions whenever the capture carries a readable PNG header. "html" returns raw HTML source. "rtf" returns raw RTF markup. "text" returns plain text. If the requested format is not present, returns a format_unavailable error — use "auto" when unsure, or call clipboard_inspect first. Content above the format size limit (512KB text/HTML/RTF, 5MB image) is retrieved in slices with offset/limit: omit both for the whole payload (errors with content_too_large if it exceeds the limit), or pass them to read a bounded window and continue from the returned nextOffset until complete is true.
Write content to the clipboard, replacing the current contents, or clear the clipboard outright. "text" writes plain text. "html" writes HTML; on macOS and Windows it also publishes an auto-generated, tag-stripped plain-text fallback. Linux X11 and Wayland publish only text/html. Pass clear: true with no content to remove every representation, leaving clipboard_inspect reporting an empty clipboard; supply exactly one of content or clear: true.
clipboard_read description exceeds 1024 character baseline (1100+ chars), risking token waste and burying key details. Recommend splitting into separate sections or condensing format explanations.
clipboard_write lacks explicit confirmation or dry-run pattern for destructive 'clear' operation. Agents may accidentally clear clipboard without user intent verification.
No pagination or streaming support documented for large clipboard content. While offset/limit are present in clipboard_read, the tool description does not clearly state the 512KB/5MB limits upfront or recommend pagination strategy.
clipboard_inspect rawTypes array may contain entries with undefined 'bytes' field when measurement fails. LLMs may struggle to interpret missing vs. zero-byte representations without explicit guidance.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |