macos-clipboard-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@macos-clipboard-mcpPaste the current clipboard content."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MacOS Clipboard MCP
A simple utility that provides model context protocol (MCP) tools for interacting with the macOS clipboard.
Features
Copy text to the clipboard
Paste text from the clipboard
Paste images from the clipboard (supports TIFF, PNG, and JPEG formats)
Related MCP server: mcp-clipboard
mcp config
method1(recommended)
{
"clipboard": {
"command": "uvx",
"args": [
"macos-clipboard-mcp"
]
}
}method2
{
"clipboard": {
"command": "uv",
"args": [
"--directory",
"<your-local-folder>/macos-clipboard-mcp",
"run",
"main.py"
]
}
}Installation
uv sync
python main.pyRequirements
Python 3.12+
macOS (uses AppleScript for clipboard operations)
Usage
Start the MCP server:
mcp dev main.pyThis exposes the following MCP tools:
copy_to_clipboard(data: str): Copies text to the clipboardpaste_from_clipboard(): Returns text from the clipboardpaste_image_from_clipboard(): Returns images from the clipboard as base64-encoded PNG
Development
This project uses modern Python tooling:
uv for dependency management
License
MIT
Available Tools
3 toolscopy_to_clipboardC
copy data to clipboard
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility for disclosing behavioral traits. It does not mention that clipboard content will be overwritten or any permission requirements, which are critical for a clipboard-modifying tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but at the expense of important details. It is not verbose, yet leaves gaps that could be filled without significant length increase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description should still cover key aspects like side effects (clipboard overwrite), compatibility (text only?), and any prerequisites. It fails to provide a complete picture, especially without annotations or output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'data' with no description and 0% schema description coverage. The description's phrase 'copy data to clipboard' adds only minimal context that the parameter is the content to copy, but does not clarify format, size limits, or type restrictions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'copy data to clipboard' clearly states the action and target resource. It implicitly distinguishes from sibling paste tools by specifying 'copy' rather than 'paste'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like paste_from_clipboard or paste_image_from_clipboard. The context signals show siblings exist, but the description offers no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paste_from_clipboardD
paste from clipboard
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations and description provides no behavioral details (e.g., clipboard empty handling, permission requirements, or supported formats).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise but under-specified; the single phrase 'paste from clipboard' lacks essential information, making it insufficient rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations, and description omits return values, side effects, or any operational context; completely inadequate for understanding the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters with 100% schema coverage; baseline is 4, but description adds no meaningful context beyond the tool name, failing to explain what the tool does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description 'paste from clipboard' is a tautology, restating the name without specifying what is pasted (e.g., text) or distinguishing from sibling 'paste_image_from_clipboard'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like 'copy_to_clipboard' or 'paste_image_from_clipboard'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paste_image_from_clipboardA
Paste image from clipboard, automatically detect TIFF/PNG/JPEG formats, and always return the image as a PNG base64-encoded string. Returns an empty string if there is no image in the clipboard.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description effectively discloses key behaviors: auto-format detection, PNG conversion, and empty string on no image. However, it does not explicitly state if the operation is read-only or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the purpose and key details, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, straightforward behavior), the description fully covers purpose, process, and return value, making it complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and the description provides complete semantic context for the tool's behavior, meeting the baseline expectation for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool pastes an image from the clipboard, automatically detects formats, and always returns as PNG base64. It distinguishes from sibling tools like paste_from_clipboard which likely handles text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for pasting images, but no explicit when-not or alternatives given. The sibling paste_from_clipboard suggests a distinction but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.2- First observed
copy_to_clipboard - First observed
paste_from_clipboard - First observed
paste_image_from_clipboard
TDQS
Scored across 3 tools
Each tool targets a distinct clipboard operation: copying data, pasting text, and pasting images. No ambiguity between them.
All tool names follow a consistent verb_noun pattern in snake_case: copy_to_clipboard, paste_from_clipboard, paste_image_from_clipboard.
Three tools are appropriate for a clipboard utility, covering the essential operations without bloat.
The tool set covers the fundamental clipboard actions: copy, paste text, and paste image. No obvious gaps for typical usage.
Maintenance
Related MCP Connectors
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Read and write Mission Control state via MCP — projects, tasks, subtasks, templates, status updates.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants access to the macOS clipboard content, supporting text, images, and binary data via OSAScript.8MIT
- AlicenseAqualityBmaintenanceMCP server that reads and writes the system clipboard — tables, text, code, JSON, URLs, images, and more. Preserves spreadsheet structure (rows/columns) that is lost when pasting into Claude directly.424 PyPI5Apache 2.0
- AlicenseNot gradedqualityDmaintenanceMCP server that gives AI agents access to your Maus clipboard on macOS, enabling them to write clean text into history, search, and manage clipboard items locally.6 npmMIT
- AlicenseAqualityBmaintenanceA local MCP server that exposes macOS automation actions (AppleScript + CLIs) as tools, enabling MCP clients on your Mac to control apps, system settings, and more.39MIT