CrossPaste logo

CrossPaste

OrganizationPopular
CrossPaste

Cross-device clipboard sync for macOS, Windows & Linux — end-to-end encrypted, LAN-only, no cloud. OCR, CLI and MCP server built in.

PublisherCrossPaste
Repositorycrosspaste-desktop
LanguageKotlin
Forks
127
Stars
2.6K
Available tools
0
Transport typestdio
Categories
LicenseAGPL-3.0
Links
  • Connect tools to AI workflows

    CrossPaste exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 0 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    2.6K stars and 127 forks from the linked repository.

Main CI Test Build Release Dependabot Compose-Multiplatform Sqlite Kotlin OS Download AGPL-3.0 Listed on mcpservers.org Ask DeepWiki

✨ Features

  • 🔄 Real-time Sharing: Instantly share pasteboard content across devices, seamlessly.
  • 🖥️ Unified Cross-platform: Consistent interface on Mac, Windows, and Linux. No need to change habits.
  • 📋 Rich Type Support: Handle various pasteboard types: Text, Color, URL, HTML, RTF, Image, File.
  • 🔒 End-to-End Encryption: Using asymmetric encryption to fully protect your data security.
  • 🌐 LAN-only Serverless: Local storage, serverless architecture. Privacy protection, in your control.
  • 🧹 Smart Space Management: Auto-cleanup options manage pasteboard storage without manual effort.
  • 🔍 Built-in OCR: Extract text from images locally — no network calls, your screenshots never leave the device.
  • 🤖 MCP Server: Expose your pasteboard history to AI assistants (Claude, etc.) via the Model Context Protocol.
  • 🌍 Chrome Extension: Sync clipboard with the browser — copy on a web page, paste on any device.
  • ⌨️ Command-Line: Copy, paste, and search your history from the terminal and scripts. See the CLI guide.

🏗 Getting Started with Development

  1. clone the repository

    bash
    git clone https://github.com/CrossPaste/crosspaste-desktop.git
  2. Compile and run the application

    bash
    cd crosspaste-desktop
    ./gradlew app:run

First start will download JBR / gradle dependencies.

If you encounter the following error:

log
FAILURE: Build failed with an exception.

* What went wrong:
java.net.SocketException: Connection reset
> java.net.SocketException: Connection reset

you might need a VPN to download these dependencies.

To configure a proxy for gradle, add the following settings to gradle.properties, and adjust the parameters to match your proxy configuration:

properties
systemProp.https.proxyHost=localhost
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost

Additionally, a series of technical blogs about CrossPaste is being published (approximately one article per week). If you're interested in developing cross-platform applications, you're welcome to read them.

🌍 Building the Chrome Extension

The Chrome extension lives in web/ and is built via Gradle. Node.js (>= 18) is required — the npmInstall task will fetch dependencies on first build.

  1. Build the extension

    bash
    ./gradlew :web:build

    The unpacked extension is emitted to web/dist/.

  2. Load it into Chrome

    • Open chrome://extensions/
    • Enable Developer mode in the top-right corner
    • Click Load unpacked and select the web/dist/ directory

The extension auto-discovers a CrossPaste desktop app running on the same machine and syncs clipboard content with it. To iterate on extension code, run npm run dev inside web/ for a fast Vite dev loop, then reload the extension in Chrome. The extension imports a Kotlin/JS core library produced by ./gradlew :core:jsBrowserProductionLibraryDistribution (also run as part of :web:build) — re-run that task whenever you change core/ sources.

🗺️ Roadmap

CrossPaste is continuously evolving! v2.2 brings a full command-line mode — copy, paste, and search your history straight from the terminal. Here's what we're working on next:

  • Plugin system — let the community extend CrossPaste with custom paste types and integrations

This is just a small part of our plans. Want to learn more details and long-term plans? Check out our full roadmap.

🙋 FAQ

Here are some FAQs that have been collected. If you have other questions, please create an issue to let us know.

🤝 Support the project

  • 🌟 Star this repository: This is the easiest way to support CrossPaste and costs nothing.
  • 🪲 Report bugs: Report any bugs you find on the issue tracker.
  • 📖 Translate: Help translate and polish CrossPaste into your language.
  • 📝 Contribute: Code, comment on issues, and any contributions that can help the project are welcome.
  • 💖 Sponsor: Support financially via GitHub Sponsors to help with ongoing development and maintenance.

📝 Contributors

💖 Sponsors

Use CrossPaste MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once CrossPaste is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add CrossPaste as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the CrossPaste MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "crosspaste-desktop": {
      "command": "npx",
      "args": [
        "-y",
        "<mcp-server-package>"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the CrossPaste MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the CrossPaste MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use CrossPaste to help me with this task?
CrossPaste
Sure. I read it.
Here is what I found using CrossPaste.

Frequently asked questions

What is the CrossPaste MCP server used for?

CrossPaste is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use CrossPaste MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use CrossPaste with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use CrossPaste MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With CrossPaste connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect CrossPaste MCP to TypingMind?

CrossPaste runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does CrossPaste MCP provide in TypingMind?

CrossPaste exposes MCP capabilities that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use CrossPaste MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If CrossPaste requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇