A side-by-side look at the Desktop Touch MCP and Line Bot MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Desktop Touch MCP for os automation work as a local process; choose Line Bot MCP Server for communication as a local process. You can also run both side by side in one mcpServers block.
DESKTOP_TOUCH_MCP_HOME, GITHUB_TOKEN, GH_TOKEN, DESKTOP_TOUCH_MCP_ALLOW_UNVERIFIED.desktop_discover, desktop_act, desktop_state.CHANNEL_ACCESS_TOKEN, DESTINATION_USER_ID.postback, message, uri.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | OS Automation | Communication |
| Quality signal | 65/100 · Great | 84/100 · Excellent |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | API key required |
| Pricing | Free | Free |
| Required env vars | DESKTOP_TOUCH_MCP_HOMEGITHUB_TOKENGH_TOKENDESKTOP_TOUCH_MCP_ALLOW_UNVERIFIED | CHANNEL_ACCESS_TOKENDESTINATION_USER_ID |
| Verified owner | Community listing | Verified |
| GitHub stars | 22 | 789 |
| Directory activity | 2 views 0 installs 0 upvotes | 40 views 0 installs 0 upvotes |
| Tools | 23 | 9 |
| Full listing | View Desktop Touch MCP | View Line Bot MCP Server |
desktop_discoverObserve the desktop. Returns interactive entities with leases (UIA, CDP, Terminal, Visual SoM).desktop_actPerform actions (click, type, set a value, select) on entities via lease validation. Returns semantic diffs — plus an optional `roiCapture` (changed-region PNG + next-target preview) on visual-only targets.desktop_stateLightweight check of focus, active window, cursor, and Auto-Perception attention signal.screenshotMulti-mode capture: `detail='text'` (UIA/OCR), `diffMode` (P-frame), `dotByDot` (1:1), and `background`. Returns a cheap `screenshot://by-ref/{id}` link to the saved image instead of inlining pixels every time.screenshot_queryInspect and prune the on-disk screenshot cache behind the by-ref links: `screenshot_query` lists saved captures without re-reading pixels; `screenshot_gc` reclaims space by retention policy (dry-run by default).workspace_snapshotInstant session orientation: all window thumbnails + UI summaries in one call.server_statusDiagnostic check for native engine health and feature activation.keyboardSend keyboard input. Supports background input (WM_CHAR) and IME-safe clipboard bypass.mouse_clickPrecision coordinate-based interaction with homing and force-focus protection.scrollMulti-strategy: `raw` (notches), `to_element`, `smart` (virtual lists), and `capture` (stitch).click_elementLegacy UIA-based click by name/ID (fallback when entities are unavailable).browser_openIdempotent debug-mode launch and reliable navigation.postbackFor sending a postback actionmessageFor sending a text messageuriFor opening a URLdatetimepickerFor opening a date/time pickercameraFor opening the cameracameraRollFor opening the camera rolllocationFor sending the current locationrichmenuswitchFor switching to another rich menuclipboardFor copying text to clipboardPaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"harusame64-desktop-touch-mcp": {
"command": "npx",
"args": [
"-y",
"@harusame64/desktop-touch-mcp"
],
"env": {
"DESKTOP_TOUCH_MCP_HOME": "YOUR_DESKTOP_TOUCH_MCP_HOME_HERE",
"GITHUB_TOKEN": "YOUR_GITHUB_TOKEN_HERE",
"GH_TOKEN": "YOUR_GH_TOKEN_HERE",
"DESKTOP_TOUCH_MCP_ALLOW_UNVERIFIED": "YOUR_DESKTOP_TOUCH_MCP_ALLOW_UNVERIFIED_HERE"
}
}
}
}
{
"mcpServers": {
"line-line-bot-mcp-server": {
"command": "npx",
"args": [
"@line/line-bot-mcp-server"
],
"env": {
"CHANNEL_ACCESS_TOKEN": "YOUR_CHANNEL_ACCESS_TOKEN_HERE",
"DESTINATION_USER_ID": "YOUR_DESTINATION_USER_ID_HERE"
}
}
}
}