Releases: cyanheads/clipboard-mcp-server
Release list
v0.1.8: cross-platform clipboard behavior
cross-platform clipboard behavior
- Align clipboard format behavior across macOS, Linux, and Windows (#9, #10, #11, #12, #13, #14)
- Windows preserves raw text, HTML, and RTF bytes; Linux text and image handling now match the advertised formats (#9, #10, #11, #12, #13, #14)
- Release metadata, plugin manifests, and generated changelog/tree artifacts for 0.1.8
- deps: @biomejs/biome ^2.5.9 → ^2.5.11; @types/node ^26.2.0 → ^26.4.0; js-yaml ^5.3.0 → ^5.4.1
v0.1.7: mcp-ts-core ^0.12.3 — MCP SDK v2 wire format
mcp-ts-core ^0.12.3 — MCP SDK v2 wire format
- Protocol revision 2026-07-28 served alongside 2025-era clients
- Advertised schemas are JSON Schema 2020-12; outputSchema declares the error envelope
- Strict root inputs reject undeclared argument keys by name
- Supply-chain guard: Socket install scanner plus a 3-day release-age hold, framework exempt
- Toolchain: TypeScript 7, Biome 2.5.9, @types/node 26, Bun 1.4.0 pin; community-health files and repo hygiene
- deps:
@cyanheads/mcp-ts-core^0.10.6 → ^0.12.3
v0.1.6: server instructions, unscoped plugin identity
server instructions, unscoped plugin identity
Adds a server-level instructions string and unscopes the plugin manifests' display identity to the bare repo name. The published npm package and install commands are unchanged.
Added:
- createApp() instructions — guidance for the clipboard_* tools: a single live clipboard slot (no history), clipboard_inspect lists formats, clipboard_read defaults to auto, images return as base64 PNG.
Changed:
- Plugin display identity unscoped to clipboard-mcp-server in .claude-plugin/plugin.json, .codex-plugin/plugin.json, and .codex-plugin/mcp.json. Install args stay scoped (@cyanheads/clipboard-mcp-server).
Dependency bumps:
- @biomejs/biome ^2.4.16 → ^2.5.0
- vitest ^4.1.8 → ^4.1.9
181 tests pass; bun run devcheck clean.
v0.1.5: mcp-ts-core ^0.10.6 adoption
mcp-ts-core ^0.10.6 adoption
Framework upgrade plus the 0.10 conventions: explicit server identity, ValidationError contract codes, and agent-doc-stripped bundles. Adds Claude Code and Codex plugin manifests.
Added:
- Claude Code and Codex plugin manifests (.claude-plugin/, .codex-plugin/)
- manifest.json repository/homepage/license
Changed:
- Server identity: createApp() sets explicit name/title to clipboard-mcp-server
- clipboard_read / clipboard_write content_too_large: InvalidParams → ValidationError
- bundle script strips dependency-shipped agent docs (clean-mcpb)
- README client-config keys: clipboard → clipboard-mcp-server
- Project skills re-synced to the 0.10.x set
Dependency bumps:
- @cyanheads/mcp-ts-core ^0.9.9 → ^0.10.6
- @biomejs/biome ^2.4.15 → ^2.4.16
- @types/node ^25.9.1 → ^25.9.3
- vitest ^4.1.7 → ^4.1.8
181 tests pass; bun run devcheck clean.
v0.1.4: align to gold-standard patterns
align to gold-standard patterns
Changed:
- package.json scripts: tsx -> bun run scripts/.ts; start: now use bun ./dist/index.js; test uses bunx vitest run; removed unused start script
- package.json author: object form -> canonical string
- package.json funding: GitHub Sponsors and Buy Me a Coffee entries
- package.json repository: git+ prefix and .git suffix
- package.json packageManager: bun@1.3.2
- package.json files: removed non-existent AGENTS.md and Dockerfile entries
- package.json devDependencies: removed tsx
- README.md: npm badge added; Bun badge corrected to v1.3.2
- .github/FUNDING.yml: added (github + buy_me_a_coffee: cyanheads)
- CLAUDE.md commands: bun run pattern throughout
bun run devcheck clean.
v0.1.3: server.json metadata and mcpName fixes
server.json metadata and mcpName fixes
Corrects MCP Registry metadata that was preventing publish: server.json name
and package identifier now use the correct io.github.cyanheads/ namespace and
scoped @cyanheads/ npm name; adds mcpName field to package.json.
Fixed:
- server.json name: cyanheads/ -> io.github.cyanheads/
- server.json identifier: clipboard-mcp-server -> @cyanheads/clipboard-mcp-server
- package.json mcpName: added io.github.cyanheads/clipboard-mcp-server
- package.json publish-mcp script: added for MCP Registry publishing
181 tests pass; bun run devcheck clean.
v0.1.2: format_unavailable fixes and HTML plain-text fallback
format_unavailable fixes and HTML plain-text fallback
Three clipboard_read bug fixes: correct error path for RTF-absent and
empty-clipboard cases, and stripped HTML that no longer bleeds script/style
content or loses word boundaries.
Fixed:
- RTF nil check: ObjC.unwrap(nil) is undefined (falsy); bridged wrapper is truthy — unwrap before testing so absent public.rtf returns format_unavailable instead of TypeError
- Empty clipboard text: pre-inspect before pbpaste; pbpaste returns "" for empty clipboard, now throws format_unavailable instead of returning empty content
- HTML stripHtmlTags: remove script/style block content entirely; insert space before block-level closing tags and br so adjacent blocks do not merge
181 tests pass; bun run devcheck clean.
v0.1.1: fix JXA NSData.length coercion in clipboard_inspect
fix JXA NSData.length coercion in clipboard_inspect
Coerces NSData.length from JXA-wrapped NSNumber to JS number before
arithmetic — previously threw NaN byte-size errors when inspecting
non-text clipboard formats on macOS.
Fixed:
- macOS clipboard_inspect NSData.length coercion
bun run devcheck clean.