Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WAYLAND_DISPLAYNoCompositor socket name (e.g. wayland-0) or absolute path. Auto-detected from $XDG_RUNTIME_DIR.
XDG_RUNTIME_DIRNoDirectory containing the Wayland socket. Auto-detected as /run/user/<uid>.
XDG_SESSION_TYPENoSession type hint (wayland or x11). Not required — socket scan is used as fallback.
MCP_CLIPBOARD_DEBUGNoEnable debug logging ('1' to enable).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
clipboard_pasteA

Paste clipboard contents. Reads the user's system clipboard and returns the content. This is the primary clipboard tool.

WHEN TO CALL THIS TOOL:

Call this tool when the user says "paste", "paste it", "paste the data", "what's on my clipboard", "read my clipboard", "read what I copied", "what did I copy", "show clipboard", "from my clipboard", "use what I copied", "I copied something", "check my clipboard", or ANY phrase that implies reading from or pasting from the clipboard.

Also call this tool when the user references data that is NOT present in the conversation — for example: "format this list" but no list was given, "clean up this JSON" but no JSON is in the message, "here's a table" but no table was provided, "analyze this data" with nothing attached. In these cases, the data is likely on the clipboard. Check it BEFORE asking the user to provide the data manually.

Do NOT ask the user to paste or provide data — just call this tool.

Handles any clipboard content: tables (from spreadsheets, HTML), plain text, code, JSON, URLs, rich text, and images. Tables are auto-detected and formatted per output_format. Non-tabular content is returned with smart formatting. Images on the clipboard are returned directly as image content.

Args: output_format: Format for table data (case-insensitive). Only applies when the clipboard contains a table. Ignored for non-tabular content. Options: - "markdown" (default): GitHub-flavored Markdown table - "json": Array of objects keyed by header row - "csv": Comma-separated values - "slack": monospace code block with dashed-underline header row (avoids Slack mrkdwn escaping issues) - "jira": ||Header|| / |Cell| wiki markup (also works for Confluence) - "confluence": same as jira - "html": with /// - "notion": GFM pipe table (Notion renders these natively) include_schema: When True and the clipboard contains a table, append a column-type schema table after the data. Inferred types: integer, float, currency, percentage, date, boolean, text. Defaults to False. selection: Which buffer to read. Defaults to "clipboard" (the standard Ctrl-C / Cmd-C clipboard). Pass "primary" to read the X11 PRIMARY selection (middle-click / select-text-to-paste buffer) or the analogous Wayland primary selection. macOS and Windows have no PRIMARY analog and will return an error if "primary" is passed.

Returns: The clipboard content, formatted appropriately for the content type. Images are returned as image content (base64-encoded) for visual analysis.

clipboard_read_rawA

Read raw clipboard content in a specific MIME format. Diagnostic tool only — use clipboard_paste instead for normal clipboard access.

This tool returns the clipboard content as-is without any parsing or restructuring. Use clipboard_list_formats first to see what MIME types are available.

Supports any non-binary MIME type. The most common values are text/* types, plus image/svg+xml (text-readable despite the image/ prefix). application/* types pass through as well (application/json, application/xml, application/xhtml+xml, etc.) because the only blocked prefixes are image/, audio/, video/, and the exact type application/octet-stream. Binary MIME types are rejected; use clipboard_paste for images.

Args: mime_type: The MIME type to read from the clipboard. Common values: "text/plain", "text/html", "image/svg+xml", "application/json" selection: Which buffer to read. Defaults to "clipboard". Pass "primary" to read the X11/Wayland PRIMARY selection (middle-click buffer). macOS and Windows have no PRIMARY analog and will return an error if "primary" is passed.

Returns: The raw clipboard content in the requested format, or an error message.

clipboard_list_formatsA

List the MIME types / formats currently on the system clipboard. Diagnostic tool — use clipboard_paste to actually read and return clipboard content.

Lists what formats are present. For spreadsheet data, you want to see "text/html" (best) or "text/plain" (fallback with tab-separated values).

Args: selection: Which buffer to list. Defaults to "clipboard". Pass "primary" to list formats on the X11/Wayland PRIMARY selection. macOS and Windows have no PRIMARY analog and will return an error if "primary" is passed.

Returns: A list of available clipboard formats.

clipboard_copyA

Copy text to the user's system clipboard. Replaces whatever is currently on the clipboard with the provided content.

WHEN TO CALL THIS TOOL:

Call this tool when the user says "copy this", "put this on my clipboard", "copy to clipboard", "send to clipboard", or any phrase that implies writing content to the clipboard.

Also call this tool when you have produced formatted output (cleaned-up JSON, a markdown table, reformatted code, an HTML table, etc.) and the user wants to use it outside the conversation — copying to clipboard lets them paste it elsewhere.

Args: content: The text to place on the clipboard. Any string is accepted. mime_type: MIME type for the clipboard content (default: "text/plain"). Use "text/html" to write HTML that applications can paste as rich text. Use "text/rtf" to write RTF content. Use "image/svg+xml" to write an SVG; SVG is XML, so it rides this text-write path rather than clipboard_copy_image. Binary image MIME types (image/png, image/jpeg, etc.) and audio/* / video/* are rejected — for PNG or JPEG, use clipboard_copy_image. Note: On Wayland and X11, any text/* MIME type is accepted, plus image/svg+xml. On macOS and Windows, only text/plain, text/html, text/rtf, and image/svg+xml are supported.

Returns: A confirmation message with the number of characters copied and the MIME type written.

clipboard_copy_imageA

Write an image to the user's system clipboard. Replaces whatever is currently on the clipboard with the provided image so it can be pasted into other applications (Slack, Gmail, Figma, image editors, etc.).

WHEN TO CALL THIS TOOL:

Call this tool when the user says "copy this image", "put this on my clipboard", or any phrase that implies writing an image to the clipboard.

Also call it when you have produced or fetched an image (a chart, a screenshot, a generated image) and the user wants to paste it elsewhere. For text content, use clipboard_copy instead.

Args: image_data: Base64-encoded image bytes. The same encoding that clipboard_paste returns for image content can be passed back in. mime_type: Either "image/png" or "image/jpeg". Pass-through, no re-encoding. The image header is verified against the declared MIME type to catch mismatches.

Returns: A confirmation message with the byte count and the MIME type written.

Limits: The image must not exceed MCP_CLIPBOARD_MAX_IMAGE_BYTES (default 10 MB). Set the env var to raise the limit.

clipboard_copy_markdownA

Render markdown to HTML and place both formats on the system clipboard so the user can paste rich text into apps that prefer formatted content (Slack, Gmail, Notion, Word, Google Docs, Discord) AND plain markdown into apps that prefer source (text editors, terminals).

WHEN TO CALL THIS TOOL:

Call this tool when the user wants formatted output to paste into a rich-text target — bulleted lists, headings, links, code, bold/italic emphasis. Examples: "summarize these emails as a list and copy it", "copy this as formatted text", "put this on my clipboard so I can paste it into Slack with formatting", "give me a markdown bullet list and copy it."

For plain text without formatting intent, use clipboard_copy instead.

Args: text: Markdown source. Standard CommonMark syntax (headings, lists, emphasis, code blocks, links, etc.) is rendered to HTML. Raw HTML tags in the source are escaped, not passed through — if you need to write hand-crafted HTML, call clipboard_copy with mime_type="text/html" instead.

Returns: A confirmation message with the input character count and the rendered HTML byte count.

Platform behavior: - macOS and Windows: both text/html and text/plain (the markdown source) land on the clipboard atomically. Each paste target picks the format it prefers — Slack/Gmail/Notion get the rendered HTML; vim/terminal/text editors get the markdown source. - Wayland: wl-copy is single-MIME-per-invocation, so only text/html is set explicitly. However, wl-copy auto-advertises text/plain (and the X-style aliases UTF8_STRING/STRING/TEXT) for UTF-8 content, and the bytes returned for those targets are the rendered HTML markup — NOT the markdown source. A vim user pasting after this tool runs will see <h1>Title</h1>... etc. To get the markdown source on the clipboard, call clipboard_copy with the markdown source directly. - X11: xclip -target text/html -i does NOT auto-advertise additional targets, so apps that only read text/plain see an empty clipboard. Same workaround: call clipboard_copy with the markdown source for a plain-text paste.

clipboard_versionA

Return the version of mcp-clipboard currently running.

Use this when you need to record or report which mcp-clipboard build is serving the current MCP session — for example, in test harnesses, diagnostic dumps, or when the user asks which version is installed. The version is read from the package metadata at runtime, so it always matches the wheel actually serving the call.

Returns: A dict with keys "name" (always "mcp-clipboard") and "version" (the installed version string, e.g. "2.6.1"). If the package metadata cannot be located (uninstalled source checkout), returns "0.0.0+dev" as the version.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.5/5.0

Scored across 7 tools

Disambiguation4/5

The read/write split is clear, and copy vs copy_image vs copy_markdown are well distinguished by content type. clipboard_paste vs clipboard_read_raw have the most overlap, but descriptions explicitly frame read_raw as a diagnostic-only escape hatch, reducing confusion.

Naming Consistency4/5

Nearly all tools follow a clean clipboard_<verb>_<noun> pattern (paste, read_raw, list_formats, copy, copy_image, copy_markdown). clipboard_version is a minor deviation since it drops the verb, but it remains readable and predictable.

Tool Count4/5

Seven tools is a well-scoped set for clipboard operations. Most earn their place, though clipboard_version is borderline trivial and could arguably be folded into diagnostics.

Completeness5/5

The surface covers the full lifecycle: read (paste/raw/list_formats), write text, write rich text/markdown, write images, plus version introspection. No obvious gaps in clipboard read/write workflows.

Maintenance

ActivityMaintained
ResponsivenessResponsive