Skip to main content
Glama
AutoraLabs

copyq-mcp

by AutoraLabs

CopyQ MCP

Give AI agents direct access to your CopyQ text history, and keep dictation transcripts out of your normal clipboard tab.

CopyQ remains the database and clipboard UI. This package adds one local MCP server and an optional Windows setup command. It does not run a daemon, expose a network port, or create a second clipboard store.

MCP client ── stdio ──► CopyQ MCP ──► CopyQ history
                                         ├─ &clipboard
                                         ├─ Codex Dictation
                                         └─ Flow

Install

Prerequisites: CopyQ, Python 3.12 or newer, and uv. CopyQ must be running.

uv tool install https://github.com/AutoraLabs/copyq-mcp/releases/download/v0.1.0/copyq_mcp-0.1.0-py3-none-any.whl
copyq-mcp doctor
codex mcp add copyq -- copyq-mcp

Restart Codex after adding the server. Other stdio MCP clients can use copyq-mcp as the server command.

Related MCP server: MCP CopyQ Server

Use from an agent

Ask naturally:

  • “Use the three things I just copied.”

  • “Read the fifth item in my clipboard history.”

  • “Search my clipboard for the nginx configuration.”

  • “Check the Codex Dictation tab for my last transcript.”

The MCP server exposes three tools:

  • clipboard_read(start=0, count=5, tab="clipboard") reads a page of text history, newest first. The result includes next_start for later pages.

  • clipboard_search(query, start=0, count=20, tab="clipboard", case_sensitive=false) searches from any row and returns a continuation.

  • clipboard_tabs() lists every CopyQ tab and its item count.

clipboard is an alias for CopyQ's &clipboard tab. Exact tab names also work. Text items include their zero-based CopyQ row, copy timestamp, origin, and source window when those fields exist.

Keep dictation out of normal history

On Windows, CopyQ MCP can route matched Codex global dictation and Wispr Flow transcripts into dedicated tabs:

copyq-mcp setup --dictation auto --modern

auto enables compatible providers found on the machine. Use codex, wispr, both, or none to choose explicitly. Classification fails open: if a provider changes or cannot be inspected, the clipboard item stays in &clipboard.

--modern applies a small, opinionated configuration:

  • retain 50,000 items;

  • show tab item counts and one-based row labels;

  • show six text lines per item with a 100-pixel maximum height;

  • display copy time;

  • use Win+V to show or hide CopyQ.

Preview changes without writing anything:

copyq-mcp setup --dictation auto --modern --dry-run

The first setup preserves a pre-setup JSON backup for that CopyQ session; repeated setup keeps the baseline instead of backing up an already-configured state. Restore it with:

copyq-mcp restore

Restore leaves provider tabs and their contents intact.

Configuration

The server discovers CopyQ on PATH and in common install locations. Two environment variables cover non-default installations:

Variable

Meaning

COPYQ_MCP_EXECUTABLE

Exact path to the CopyQ executable

COPYQ_MCP_SESSION

Existing CopyQ session name

copyq-mcp doctor reports CopyQ readiness, tab counts, routing state, and provider compatibility.

Deliberate limits

  • Version 0.1 reads text history only. It does not write, delete, paste, pin, or reorder clipboard items.

  • Read and search pages contain at most 100 text items. Pagination can continue through the complete tab.

  • Very large individual text items are returned as an explicit truncated prefix.

  • Dictation routing is Windows-only. Codex and Wispr are external applications; an upstream storage or clipboard-behavior change can require a classifier update. Routing fails open so that such a change causes clutter, not data loss.

  • Wispr matching uses exact recent transcript text. Manually copying the same text within ten minutes can also send that copy to Flow.

Development

git clone https://github.com/AutoraLabs/copyq-mcp.git
cd copyq-mcp
uv sync --locked --all-groups
uv run ruff check .
uv run ruff format --check .
uv run pyright
uv run pytest --cov --cov-report=term-missing
uv build

See architecture for the implementation boundary and contributing for the small set of project rules.

CopyQ MCP is an independent AutoraLabs integration. It is not affiliated with or endorsed by CopyQ, OpenAI, or Wispr Flow. Source is licensed under the MIT License; AutoraLabs names and marks are not granted under that software license.

Available Tools

3 tools
clipboard_readA
Read-onlyIdempotent

Read one page of CopyQ text history, newest first.

    Use count=N when the user says they copied N things. Use start=4,count=1
    for the fifth item. Follow next_start when later rows are needed.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
tabNoclipboard
countNo
startNoZero-based CopyQ row; 0 is newest

Output Schema

ParametersJSON Schema
NameRequiredDescription
tabYes
itemsYes
startYes
totalYes
next_startYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive. The description adds valuable behavioral context: ordering ('newest first'), pagination ('next_start'), and page semantics ('one page'), which are not captured in annotations and help the agent understand runtime behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core purpose first. Each sentence earns its place: definition, parameter examples, and pagination guidance. No redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Combined with safety annotations and an output schema, the description covers essential aspects: what the tool does, how to invoke it with meaningful parameters, and how to paginate. The mention of 'next_start' implies the output contains a pagination field, filling a key operational gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%, but the description compensates for two of three parameters: count is tied to user intent ('when the user says they copied N things') and start is illustrated with an example. The tab parameter is not explained, but its default and sibling context reduce ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Read') and resource ('one page of CopyQ text history') with scope ('newest first'), clearly distinguishing from sibling tools like clipboard_search and clipboard_tabs. It leaves no ambiguity about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit parameter usage examples ('Use count=N when the user says they copied N things', 'Use start=4,count=1 for the fifth item') and pagination guidance ('Follow next_start when later rows are needed'). Does not explicitly mention alternative tools, but the context is clear enough for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

clipboard_tabsA
Read-onlyIdempotent

List all CopyQ tabs and their item counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that the tool returns item counts, which provides useful context about the output, but does not disclose any additional behavioral traits such as output limits or ordering. Given the annotation coverage, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is front-loaded with the verb 'List'. Every word earns its place, with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and an output schema, the description sufficiently explains the tool's purpose and what it returns (tabs and item counts). The presence of the output schema covers return format details, making the description complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the input schema is empty and there is nothing to explain. Per the baseline rule for tools with no parameters, this scores a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'List' and identifies the resource 'all CopyQ tabs' along with the additional detail of 'item counts', clearly distinguishing it from clipboard_read and clipboard_search which operate on content rather than tab listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies usage for enumerating CopyQ tabs and their counts, but does not explicitly mention alternatives or when-not-to-use. Since the sibling tools suggest different operations, the guidance is clear enough but not explicit, warranting a 4.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct operation: listing tabs, reading paginated history, and searching history. There is no overlap that would cause an agent to select the wrong tool.

Naming Consistency4/5

All tools share the clipboard_ prefix, but clipboard_tabs uses a noun while clipboard_read and clipboard_search use verbs. This is a minor deviation from a consistent verb_noun pattern.

Tool Count5/5

With only 3 tools, the set is well-scoped for a clipboard history reader. Each tool serves a clear purpose without unnecessary bloat.

Completeness5/5

The surface covers the core operations of a clipboard history viewer: listing tabs, reading pages of history, and searching. There are no obvious missing operations for this domain.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Integrates CopyQ clipboard manager with LLM agents, enabling reading, writing, searching, and managing clipboard items organized in tabs with tags and notes through a unified interface.
    3
    1
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI coding agents like Claude to read Windows clipboard contents (text and images) from within WSL environments, providing seamless cross-platform clipboard access through the Model Context Protocol.
    5
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides secure file access and clipboard history management for Claude AI and other MCP-compatible clients, with sandboxed file operations and search capabilities.
    16
    4
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AutoraLabs/copyq-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server