Skip to main content
Glama

MCPControl

clipboard.ts2.24 kB
import clipboardy from 'clipboardy'; import { ClipboardInput } from '../../types/common.js'; import { WindowsControlResponse } from '../../types/responses.js'; import { ClipboardAutomation } from '../../interfaces/automation.js'; /** * Keysender implementation of the ClipboardAutomation interface * * Note: Since keysender doesn't provide direct clipboard functionality, * we use the clipboardy library (same as the NutJS implementation) */ export class KeysenderClipboardAutomation implements ClipboardAutomation { async getClipboardContent(): Promise<WindowsControlResponse> { try { const content = await clipboardy.read(); return { success: true, message: 'Clipboard content retrieved', data: content, }; } catch (error) { return { success: false, message: `Failed to get clipboard content: ${error instanceof Error ? error.message : String(error)}`, }; } } async setClipboardContent(input: ClipboardInput): Promise<WindowsControlResponse> { try { await clipboardy.write(input.text); return { success: true, message: 'Clipboard content set', }; } catch (error) { return { success: false, message: `Failed to set clipboard content: ${error instanceof Error ? error.message : String(error)}`, }; } } async hasClipboardText(): Promise<WindowsControlResponse> { try { const content = await clipboardy.read(); const hasText = content.length > 0; return { success: true, message: `Clipboard ${hasText ? 'has' : 'does not have'} text`, data: hasText, }; } catch (error) { return { success: false, message: `Failed to check clipboard: ${error instanceof Error ? error.message : String(error)}`, }; } } async clearClipboard(): Promise<WindowsControlResponse> { try { await clipboardy.write(''); return { success: true, message: 'Clipboard cleared', }; } catch (error) { return { success: false, message: `Failed to clear clipboard: ${error instanceof Error ? error.message : String(error)}`, }; } } }

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/claude-did-this/MCPControl'

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