# MCP Clipboard Server
A [Model Context Protocol (MCP)](https://spec.modelcontextprotocol.io/) server that provides clipboard access tools for AI assistants and automation workflows. Seamlessly integrate clipboard operations into your AI-powered applications.
[](https://badge.fury.io/py/mcp-clipboardify)
[](https://pypi.org/project/mcp-clipboardify/)
[](https://opensource.org/licenses/MIT)
## ๐ Quick Start
Install the server:
```bash
pip install mcp-clipboardify
```
Start the server:
```bash
mcp-clipboardify
# or alternatively:
python -m mcp_clipboard_server
```
## โจ Features
- **Cross-platform clipboard access** - Works on Windows, macOS, and Linux with platform-specific fallback handling
- **MCP protocol compliance** - Full JSON-RPC 2.0 over STDIO implementation with batch request support
- **JSON Schema validation** - Comprehensive parameter validation with detailed error messages
- **Two core tools**:
- `get_clipboard` - Retrieve current clipboard content
- `set_clipboard` - Set clipboard to provided text
- **Enhanced error handling** - Platform-specific guidance for troubleshooting clipboard issues
- **Graceful degradation** - Fails safely with empty string on read errors, detailed error messages on write failures
- **Size limits** - 1MB text limit to prevent memory issues
- **Unicode support** - Full UTF-8 support for international text and emoji
- **Type safety** - Built with TypedDict for reliable protocol compliance
- **Production ready** - Comprehensive testing across platforms with CI/CD pipeline
## ๐ Tools
### `get_clipboard`
Retrieves the current text content from the system clipboard.
**Parameters:** None
**Returns:** Current clipboard content as a string
### `set_clipboard`
Sets the system clipboard to the provided text content.
**Parameters:**
- `text` (string, required): The text content to copy to the clipboard
- Maximum size: 1MB (1,048,576 bytes)
- Supports Unicode text and emoji
**Returns:** Success confirmation
## ๐ง Usage Examples
### Basic MCP Client Communication
The server uses JSON-RPC 2.0 over STDIO. Here are example request/response patterns:
#### Initialize the connection:
```json
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {
"name": "example-client",
"version": "1.0.0"
}
}
}
```
#### List available tools:
```json
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
}
```
#### Get clipboard content:
```json
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "get_clipboard",
"arguments": {}
}
}
```
#### Set clipboard content:
```json
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "set_clipboard",
"arguments": {
"text": "Hello, World! ๐"
}
}
}
```
#### Batch Requests (JSON-RPC 2.0)
The server supports batch requests for processing multiple operations in a single call:
```json
[
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_clipboard",
"arguments": {}
}
},
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "set_clipboard",
"arguments": {
"text": "Batch operation result"
}
}
}
]
```
## ๐ง JSON-RPC 2.0 Compliance
This server implements full JSON-RPC 2.0 specification with the following features:
### Supported Features
- โ
**Single requests** - Standard request/response pattern
- โ
**Batch requests** - Process multiple requests in one call
- โ
**Notifications** - Fire-and-forget messages (e.g., `$/ping`)
- โ
**Error handling** - Comprehensive error codes and messages
- โ
**Parameter validation** - JSON Schema-based validation with detailed error reports
### Schema Validation
All tool parameters are validated against JSON schemas with helpful error messages:
- **Type validation** - Ensures parameters are correct types
- **Required fields** - Validates all required parameters are present
- **Size limits** - Enforces 1MB text size limit for clipboard operations
- **Additional properties** - Rejects unexpected parameters
### Error Codes
The server uses standard JSON-RPC 2.0 error codes plus MCP-specific extensions:
- `-32700` Parse error (invalid JSON)
- `-32600` Invalid Request (malformed JSON-RPC)
- `-32601` Method not found
- `-32602` Invalid params (schema validation failures)
- `-32603` Internal error
- `-32000` Server error (MCP-specific errors)
### Integration with MCP Clients
This server works with any MCP-compatible client. Example integration:
```python
import subprocess
import json
# Start the server
process = subprocess.Popen(
["mcp-clipboardify"],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
text=True
)
# Send initialize request
init_request = {
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {"name": "my-client", "version": "1.0.0"}
}
}
process.stdin.write(json.dumps(init_request) + '\n')
process.stdin.flush()
# Read response
response = json.loads(process.stdout.readline())
print(response)
```
## ๐๏ธ Installation & Setup
### System Requirements
- **Python**: 3.8 or higher
- **Operating System**: Windows, macOS, or Linux
- **Dependencies**: pyperclip for cross-platform clipboard access
### Platform-Specific Setup
#### Linux
You may need to install additional packages for clipboard support:
```bash
# Ubuntu/Debian
sudo apt-get install xclip
# or
sudo apt-get install xsel
# Fedora/RHEL
sudo dnf install xclip
```
#### Windows & macOS
No additional setup required - clipboard access works out of the box.
### Install from PyPI
```bash
pip install mcp-clipboardify
```
### Install from Source
```bash
git clone https://github.com/fluffypony/mcp-clipboardify.git
cd mcp-clipboardify
poetry install
```
## ๐งช Development
### Setup Development Environment
1. **Clone the repository:**
```bash
git clone https://github.com/fluffypony/mcp-clipboardify.git
cd mcp-clipboardify
```
2. **Install Poetry** (if not already installed):
```bash
curl -sSL https://install.python-poetry.org | python3 -
```
3. **Install dependencies:**
```bash
poetry install
```
4. **Run the server in development:**
```bash
poetry run python -m mcp_clipboard_server
```
### Testing
Run the test suite:
```bash
# Run all tests
poetry run pytest
# Run with coverage
poetry run pytest --cov=mcp_clipboard_server
# Run specific test categories
poetry run pytest tests/test_unit.py
poetry run pytest tests/test_integration.py
```
### Code Quality
```bash
# Type checking
poetry run mypy src/
# Linting
poetry run flake8 src/
# Formatting
poetry run black src/ tests/
```
## ๐ Troubleshooting
### Platform Support
The MCP Clipboard Server provides comprehensive cross-platform support with intelligent fallback handling:
#### โ
Windows
- **Requirements**: No additional dependencies
- **Supported**: Windows 10/11, Windows Server 2019+
- **Features**: Full Unicode support, CRLF line ending handling
- **Notes**: May require clipboard access permissions in some enterprise environments
#### โ
macOS
- **Requirements**: macOS 10.15+ recommended
- **Supported**: Intel and Apple Silicon Macs
- **Features**: Full Unicode support, RTF content fallback to plain text
- **Notes**: Security permissions may be required (System Preferences > Privacy & Security)
#### โ
Linux
- **Requirements**: X11 display server and clipboard utilities
- **Installation**:
```bash
# Ubuntu/Debian
sudo apt-get install xclip xsel
# RHEL/CentOS/Fedora
sudo yum install xclip xsel
# Arch Linux
sudo pacman -S xclip xsel
```
- **Supported Distributions**: Ubuntu, Debian, RHEL, CentOS, Fedora, Arch Linux
- **Features**: Full Unicode support, headless environment detection
- **Notes**: Requires DISPLAY environment variable for GUI clipboard access
#### ๐ง WSL (Windows Subsystem for Linux)
- **Requirements**: WSL2 with Windows 10 build 19041+
- **Installation**:
```bash
sudo apt-get install wslu # For clip.exe integration
```
- **Features**: Clipboard sharing with Windows host
- **Notes**: Use Windows Terminal or enable clipboard sharing in WSL configuration
#### ๐ซ Headless/Server Environments
- **Behavior**: Graceful degradation - read operations return empty string
- **Use Case**: Automated testing, CI/CD environments
- **Notes**: Write operations will fail with descriptive error messages
### Platform-Specific Guidance
The server automatically detects your platform and provides specific guidance when clipboard operations fail:
#### Linux Troubleshooting
```bash
# Missing utilities error
sudo apt-get install xclip xsel
# No display error
export DISPLAY=:0 # or run in desktop environment
# Headless system
# Read operations return empty string (graceful)
# Write operations fail with clear error message
```
#### WSL Troubleshooting
```bash
# Install Windows integration
sudo apt-get install wslu
# Enable clipboard sharing in ~/.wslconfig
[wsl2]
guiApplications=true
```
#### macOS Troubleshooting
```bash
# Security permissions
# Go to System Preferences > Privacy & Security > Input Monitoring
# Add Terminal or your application
# Sandboxed applications
# May have limited clipboard access
```
#### Windows Troubleshooting
```cmd
REM Antivirus blocking
REM Add exception for clipboard access
REM Enterprise policies
REM Check with IT administrator for clipboard permissions
```
### Common Issues
#### Platform Detection Issues
**Symptoms**: Unexpected platform-specific errors
**Solution**: The server automatically detects your environment. Check logs with `MCP_LOG_LEVEL=DEBUG` for detailed platform information.
#### Unicode Content Problems
**Symptoms**: International text or emoji not displaying correctly
**Solution**: Ensure your terminal/application supports UTF-8 encoding. The server handles Unicode correctly on all platforms.
#### Large Content Handling
**Solution**: The server enforces a 1MB limit. Split large content into smaller chunks.
#### Server Not Responding
**Solution**: Check that the client is sending proper JSON-RPC 2.0 formatted messages.
### Debugging
Enable debug logging:
```bash
# Set environment variable for detailed logs
export MCP_LOG_LEVEL=DEBUG
export MCP_LOG_JSON=true
mcp-clipboardify
```
### Getting Help
- **Platform Guide**: [Platform-specific setup instructions](docs/platform_guide.md)
- **Troubleshooting**: [Common issues and solutions](docs/troubleshooting.md)
- **Issues**: [GitHub Issues](https://github.com/fluffypony/mcp-clipboardify/issues)
- **Discussions**: [GitHub Discussions](https://github.com/fluffypony/mcp-clipboardify/discussions)
- **MCP Specification**: [Model Context Protocol](https://spec.modelcontextprotocol.io/)
### Installation Verification
After installation, verify everything works:
```bash
# Quick verification
mcp-clipboardify --help
# Comprehensive verification (requires download)
curl -sSL https://raw.githubusercontent.com/fluffypony/mcp-clipboardify/main/scripts/verify_installation.sh | bash
# Or with Python script
python -c "from scripts.verify_installation import InstallationVerifier; InstallationVerifier().run_all_tests()"
```
## ๐ Protocol Details
### MCP Compliance
This server implements the [Model Context Protocol](https://spec.modelcontextprotocol.io/) specification:
- **Transport**: JSON-RPC 2.0 over STDIO
- **Required methods**: `initialize`, `tools/list`, `tools/call`
- **Optional methods**: Ping notifications for keep-alive
- **Error handling**: Standard JSON-RPC error codes
### Message Format
All messages are line-delimited JSON objects:
```
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{...}}
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
```
### Error Codes
The server returns standard JSON-RPC 2.0 error codes:
- `-32700`: Parse error (invalid JSON)
- `-32600`: Invalid request (malformed JSON-RPC)
- `-32601`: Method not found
- `-32602`: Invalid params
- `-32603`: Internal error
## ๐ค Contributing
We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.
### Development Workflow
1. Fork the repository
2. Create a feature branch: `git checkout -b feature/my-feature`
3. Make your changes
4. Add tests for new functionality
5. Run the test suite: `poetry run pytest`
6. Commit your changes: `git commit -am 'Add my feature'`
7. Push to the branch: `git push origin feature/my-feature`
8. Create a Pull Request
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Acknowledgments
- [Model Context Protocol](https://spec.modelcontextprotocol.io/) specification
- [pyperclip](https://pypi.org/project/pyperclip/) for cross-platform clipboard access
- The Python community for excellent tooling and libraries
---
**Made with โค๏ธ for the AI and automation community**
Raw data
{
"_id": null,
"home_page": null,
"name": "mcp-clipboardify",
"maintainer": "MCP Clipboard Server Contributors",
"docs_url": null,
"requires_python": "<4.0,>=3.11",
"maintainer_email": null,
"keywords": "mcp, clipboard, ai, automation, json-rpc, tools",
"author": "MCP Clipboard Server Contributors",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/4f/d9/80e568eb3de3a84a380df06f203a733687692c04941f35958738ac6cc270/mcp_clipboardify-1.0.0.tar.gz",
"platform": null,
"description": "# MCP Clipboard Server\n\nA [Model Context Protocol (MCP)](https://spec.modelcontextprotocol.io/) server that provides clipboard access tools for AI assistants and automation workflows. Seamlessly integrate clipboard operations into your AI-powered applications.\n\n[](https://badge.fury.io/py/mcp-clipboardify)\n[](https://pypi.org/project/mcp-clipboardify/)\n[](https://opensource.org/licenses/MIT)\n\n## \ud83d\ude80 Quick Start\n\nInstall the server:\n\n```bash\npip install mcp-clipboardify\n```\n\nStart the server:\n\n```bash\nmcp-clipboardify\n# or alternatively:\npython -m mcp_clipboard_server\n```\n\n## \u2728 Features\n\n- **Cross-platform clipboard access** - Works on Windows, macOS, and Linux with platform-specific fallback handling\n- **MCP protocol compliance** - Full JSON-RPC 2.0 over STDIO implementation with batch request support\n- **JSON Schema validation** - Comprehensive parameter validation with detailed error messages\n- **Two core tools**:\n - `get_clipboard` - Retrieve current clipboard content\n - `set_clipboard` - Set clipboard to provided text\n- **Enhanced error handling** - Platform-specific guidance for troubleshooting clipboard issues\n- **Graceful degradation** - Fails safely with empty string on read errors, detailed error messages on write failures\n- **Size limits** - 1MB text limit to prevent memory issues\n- **Unicode support** - Full UTF-8 support for international text and emoji\n- **Type safety** - Built with TypedDict for reliable protocol compliance\n- **Production ready** - Comprehensive testing across platforms with CI/CD pipeline\n\n## \ud83d\udccb Tools\n\n### `get_clipboard`\nRetrieves the current text content from the system clipboard.\n\n**Parameters:** None\n\n**Returns:** Current clipboard content as a string\n\n### `set_clipboard`\nSets the system clipboard to the provided text content.\n\n**Parameters:**\n- `text` (string, required): The text content to copy to the clipboard\n - Maximum size: 1MB (1,048,576 bytes)\n - Supports Unicode text and emoji\n\n**Returns:** Success confirmation\n\n## \ud83d\udd27 Usage Examples\n\n### Basic MCP Client Communication\n\nThe server uses JSON-RPC 2.0 over STDIO. Here are example request/response patterns:\n\n#### Initialize the connection:\n```json\n{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"initialize\",\n \"params\": {\n \"protocolVersion\": \"2024-11-05\",\n \"capabilities\": {},\n \"clientInfo\": {\n \"name\": \"example-client\",\n \"version\": \"1.0.0\"\n }\n }\n}\n```\n\n#### List available tools:\n```json\n{\n \"jsonrpc\": \"2.0\",\n \"id\": 2,\n \"method\": \"tools/list\",\n \"params\": {}\n}\n```\n\n#### Get clipboard content:\n```json\n{\n \"jsonrpc\": \"2.0\",\n \"id\": 3,\n \"method\": \"tools/call\",\n \"params\": {\n \"name\": \"get_clipboard\",\n \"arguments\": {}\n }\n}\n```\n\n#### Set clipboard content:\n```json\n{\n \"jsonrpc\": \"2.0\",\n \"id\": 4,\n \"method\": \"tools/call\",\n \"params\": {\n \"name\": \"set_clipboard\",\n \"arguments\": {\n \"text\": \"Hello, World! \ud83c\udf0d\"\n }\n }\n}\n```\n\n#### Batch Requests (JSON-RPC 2.0)\nThe server supports batch requests for processing multiple operations in a single call:\n```json\n[\n {\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"tools/call\",\n \"params\": {\n \"name\": \"get_clipboard\",\n \"arguments\": {}\n }\n },\n {\n \"jsonrpc\": \"2.0\",\n \"id\": 2,\n \"method\": \"tools/call\",\n \"params\": {\n \"name\": \"set_clipboard\",\n \"arguments\": {\n \"text\": \"Batch operation result\"\n }\n }\n }\n]\n```\n\n## \ud83d\udd27 JSON-RPC 2.0 Compliance\n\nThis server implements full JSON-RPC 2.0 specification with the following features:\n\n### Supported Features\n- \u2705 **Single requests** - Standard request/response pattern\n- \u2705 **Batch requests** - Process multiple requests in one call\n- \u2705 **Notifications** - Fire-and-forget messages (e.g., `$/ping`)\n- \u2705 **Error handling** - Comprehensive error codes and messages\n- \u2705 **Parameter validation** - JSON Schema-based validation with detailed error reports\n\n### Schema Validation\nAll tool parameters are validated against JSON schemas with helpful error messages:\n- **Type validation** - Ensures parameters are correct types\n- **Required fields** - Validates all required parameters are present\n- **Size limits** - Enforces 1MB text size limit for clipboard operations\n- **Additional properties** - Rejects unexpected parameters\n\n### Error Codes\nThe server uses standard JSON-RPC 2.0 error codes plus MCP-specific extensions:\n- `-32700` Parse error (invalid JSON)\n- `-32600` Invalid Request (malformed JSON-RPC)\n- `-32601` Method not found\n- `-32602` Invalid params (schema validation failures)\n- `-32603` Internal error\n- `-32000` Server error (MCP-specific errors)\n\n### Integration with MCP Clients\n\nThis server works with any MCP-compatible client. Example integration:\n\n```python\nimport subprocess\nimport json\n\n# Start the server\nprocess = subprocess.Popen(\n [\"mcp-clipboardify\"],\n stdin=subprocess.PIPE,\n stdout=subprocess.PIPE,\n text=True\n)\n\n# Send initialize request\ninit_request = {\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"initialize\",\n \"params\": {\n \"protocolVersion\": \"2024-11-05\",\n \"capabilities\": {},\n \"clientInfo\": {\"name\": \"my-client\", \"version\": \"1.0.0\"}\n }\n}\n\nprocess.stdin.write(json.dumps(init_request) + '\\n')\nprocess.stdin.flush()\n\n# Read response\nresponse = json.loads(process.stdout.readline())\nprint(response)\n```\n\n## \ud83c\udfd7\ufe0f Installation & Setup\n\n### System Requirements\n\n- **Python**: 3.8 or higher\n- **Operating System**: Windows, macOS, or Linux\n- **Dependencies**: pyperclip for cross-platform clipboard access\n\n### Platform-Specific Setup\n\n#### Linux\nYou may need to install additional packages for clipboard support:\n\n```bash\n# Ubuntu/Debian\nsudo apt-get install xclip\n# or\nsudo apt-get install xsel\n\n# Fedora/RHEL\nsudo dnf install xclip\n```\n\n#### Windows & macOS\nNo additional setup required - clipboard access works out of the box.\n\n### Install from PyPI\n\n```bash\npip install mcp-clipboardify\n```\n\n### Install from Source\n\n```bash\ngit clone https://github.com/fluffypony/mcp-clipboardify.git\ncd mcp-clipboardify\npoetry install\n```\n\n## \ud83e\uddea Development\n\n### Setup Development Environment\n\n1. **Clone the repository:**\n ```bash\n git clone https://github.com/fluffypony/mcp-clipboardify.git\n cd mcp-clipboardify\n ```\n\n2. **Install Poetry** (if not already installed):\n ```bash\n curl -sSL https://install.python-poetry.org | python3 -\n ```\n\n3. **Install dependencies:**\n ```bash\n poetry install\n ```\n\n4. **Run the server in development:**\n ```bash\n poetry run python -m mcp_clipboard_server\n ```\n\n### Testing\n\nRun the test suite:\n\n```bash\n# Run all tests\npoetry run pytest\n\n# Run with coverage\npoetry run pytest --cov=mcp_clipboard_server\n\n# Run specific test categories\npoetry run pytest tests/test_unit.py\npoetry run pytest tests/test_integration.py\n```\n\n### Code Quality\n\n```bash\n# Type checking\npoetry run mypy src/\n\n# Linting\npoetry run flake8 src/\n\n# Formatting\npoetry run black src/ tests/\n```\n\n## \ud83d\udd0d Troubleshooting\n\n### Platform Support\n\nThe MCP Clipboard Server provides comprehensive cross-platform support with intelligent fallback handling:\n\n#### \u2705 Windows\n- **Requirements**: No additional dependencies\n- **Supported**: Windows 10/11, Windows Server 2019+\n- **Features**: Full Unicode support, CRLF line ending handling\n- **Notes**: May require clipboard access permissions in some enterprise environments\n\n#### \u2705 macOS\n- **Requirements**: macOS 10.15+ recommended\n- **Supported**: Intel and Apple Silicon Macs\n- **Features**: Full Unicode support, RTF content fallback to plain text\n- **Notes**: Security permissions may be required (System Preferences > Privacy & Security)\n\n#### \u2705 Linux\n- **Requirements**: X11 display server and clipboard utilities\n- **Installation**:\n ```bash\n # Ubuntu/Debian\n sudo apt-get install xclip xsel\n\n # RHEL/CentOS/Fedora\n sudo yum install xclip xsel\n\n # Arch Linux\n sudo pacman -S xclip xsel\n ```\n- **Supported Distributions**: Ubuntu, Debian, RHEL, CentOS, Fedora, Arch Linux\n- **Features**: Full Unicode support, headless environment detection\n- **Notes**: Requires DISPLAY environment variable for GUI clipboard access\n\n#### \ud83d\udd27 WSL (Windows Subsystem for Linux)\n- **Requirements**: WSL2 with Windows 10 build 19041+\n- **Installation**:\n ```bash\n sudo apt-get install wslu # For clip.exe integration\n ```\n- **Features**: Clipboard sharing with Windows host\n- **Notes**: Use Windows Terminal or enable clipboard sharing in WSL configuration\n\n#### \ud83d\udeab Headless/Server Environments\n- **Behavior**: Graceful degradation - read operations return empty string\n- **Use Case**: Automated testing, CI/CD environments\n- **Notes**: Write operations will fail with descriptive error messages\n\n### Platform-Specific Guidance\n\nThe server automatically detects your platform and provides specific guidance when clipboard operations fail:\n\n#### Linux Troubleshooting\n```bash\n# Missing utilities error\nsudo apt-get install xclip xsel\n\n# No display error\nexport DISPLAY=:0 # or run in desktop environment\n\n# Headless system\n# Read operations return empty string (graceful)\n# Write operations fail with clear error message\n```\n\n#### WSL Troubleshooting\n```bash\n# Install Windows integration\nsudo apt-get install wslu\n\n# Enable clipboard sharing in ~/.wslconfig\n[wsl2]\nguiApplications=true\n```\n\n#### macOS Troubleshooting\n```bash\n# Security permissions\n# Go to System Preferences > Privacy & Security > Input Monitoring\n# Add Terminal or your application\n\n# Sandboxed applications\n# May have limited clipboard access\n```\n\n#### Windows Troubleshooting\n```cmd\nREM Antivirus blocking\nREM Add exception for clipboard access\n\nREM Enterprise policies\nREM Check with IT administrator for clipboard permissions\n```\n\n### Common Issues\n\n#### Platform Detection Issues\n**Symptoms**: Unexpected platform-specific errors\n**Solution**: The server automatically detects your environment. Check logs with `MCP_LOG_LEVEL=DEBUG` for detailed platform information.\n\n#### Unicode Content Problems\n**Symptoms**: International text or emoji not displaying correctly\n**Solution**: Ensure your terminal/application supports UTF-8 encoding. The server handles Unicode correctly on all platforms.\n\n#### Large Content Handling\n**Solution**: The server enforces a 1MB limit. Split large content into smaller chunks.\n\n#### Server Not Responding\n**Solution**: Check that the client is sending proper JSON-RPC 2.0 formatted messages.\n\n### Debugging\n\nEnable debug logging:\n\n```bash\n# Set environment variable for detailed logs\nexport MCP_LOG_LEVEL=DEBUG\nexport MCP_LOG_JSON=true\nmcp-clipboardify\n```\n\n### Getting Help\n\n- **Platform Guide**: [Platform-specific setup instructions](docs/platform_guide.md)\n- **Troubleshooting**: [Common issues and solutions](docs/troubleshooting.md)\n- **Issues**: [GitHub Issues](https://github.com/fluffypony/mcp-clipboardify/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/fluffypony/mcp-clipboardify/discussions)\n- **MCP Specification**: [Model Context Protocol](https://spec.modelcontextprotocol.io/)\n\n### Installation Verification\n\nAfter installation, verify everything works:\n\n```bash\n# Quick verification\nmcp-clipboardify --help\n\n# Comprehensive verification (requires download)\ncurl -sSL https://raw.githubusercontent.com/fluffypony/mcp-clipboardify/main/scripts/verify_installation.sh | bash\n\n# Or with Python script\npython -c \"from scripts.verify_installation import InstallationVerifier; InstallationVerifier().run_all_tests()\"\n```\n\n## \ud83d\udcd6 Protocol Details\n\n### MCP Compliance\n\nThis server implements the [Model Context Protocol](https://spec.modelcontextprotocol.io/) specification:\n\n- **Transport**: JSON-RPC 2.0 over STDIO\n- **Required methods**: `initialize`, `tools/list`, `tools/call`\n- **Optional methods**: Ping notifications for keep-alive\n- **Error handling**: Standard JSON-RPC error codes\n\n### Message Format\n\nAll messages are line-delimited JSON objects:\n\n```\n{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{...}}\n{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\",\"params\":{}}\n```\n\n### Error Codes\n\nThe server returns standard JSON-RPC 2.0 error codes:\n\n- `-32700`: Parse error (invalid JSON)\n- `-32600`: Invalid request (malformed JSON-RPC)\n- `-32601`: Method not found\n- `-32602`: Invalid params\n- `-32603`: Internal error\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.\n\n### Development Workflow\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature/my-feature`\n3. Make your changes\n4. Add tests for new functionality\n5. Run the test suite: `poetry run pytest`\n6. Commit your changes: `git commit -am 'Add my feature'`\n7. Push to the branch: `git push origin feature/my-feature`\n8. Create a Pull Request\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- [Model Context Protocol](https://spec.modelcontextprotocol.io/) specification\n- [pyperclip](https://pypi.org/project/pyperclip/) for cross-platform clipboard access\n- The Python community for excellent tooling and libraries\n\n---\n\n**Made with \u2764\ufe0f for the AI and automation community**\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "MCP server providing clipboard access tools for AI assistants and automation workflows",
"version": "1.0.0",
"project_urls": {
"Bug Tracker": "https://github.com/fluffypony/mcp-clipboardify/issues",
"Changelog": "https://github.com/fluffypony/mcp-clipboardify/blob/main/CHANGELOG.md",
"Documentation": "https://github.com/fluffypony/mcp-clipboardify/blob/main/README.md",
"Homepage": "https://github.com/fluffypony/mcp-clipboardify",
"Repository": "https://github.com/fluffypony/mcp-clipboardify"
},
"split_keywords": [
"mcp",
" clipboard",
" ai",
" automation",
" json-rpc",
" tools"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e56d8b23c2d707c6b9dbcb05258598a8d141874d5b57ef51e55891e87b5380c0",
"md5": "77ae5bad1a5dc9c1c8bcbc95b77045bb",
"sha256": "92630ab7a8668ff54ffc06142f1afc8f4f0d19082f67e6d5af9b8452379e831d"
},
"downloads": -1,
"filename": "mcp_clipboardify-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "77ae5bad1a5dc9c1c8bcbc95b77045bb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 28031,
"upload_time": "2025-07-16T14:48:22",
"upload_time_iso_8601": "2025-07-16T14:48:22.106966Z",
"url": "https://files.pythonhosted.org/packages/e5/6d/8b23c2d707c6b9dbcb05258598a8d141874d5b57ef51e55891e87b5380c0/mcp_clipboardify-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4fd980e568eb3de3a84a380df06f203a733687692c04941f35958738ac6cc270",
"md5": "ca7457b09bae2100248f866b3a1a7015",
"sha256": "7cd385222409be45485ad274b986ed53d328f46af37d54e6792e0b03c9f29c21"
},
"downloads": -1,
"filename": "mcp_clipboardify-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "ca7457b09bae2100248f866b3a1a7015",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 25637,
"upload_time": "2025-07-16T14:48:23",
"upload_time_iso_8601": "2025-07-16T14:48:23.955107Z",
"url": "https://files.pythonhosted.org/packages/4f/d9/80e568eb3de3a84a380df06f203a733687692c04941f35958738ac6cc270/mcp_clipboardify-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-16 14:48:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fluffypony",
"github_project": "mcp-clipboardify",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "mcp-clipboardify"
}