overlay-companion-mcp
A general-purpose, human-in-the-loop AI-assisted screen interaction toolkit.
Install / Use
claude mcp add RyansOpenSourceRice -- npx -y github:RyansOpenSourceRice/overlay-companion-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of overlay-companion-mcp
overlay-companion-mcp scores 78/100 on our quality scale, 640th of 1,620 Development & Engineering skills we index (top 40%).
Its MCP Server is 10 KB long, well organised into 51 sections with 21 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated today, so overlay-companion-mcp is actively maintained.
- Our last check on 2026-09-16 found the source still online.
- It is released under GPL-3.0, a copyleft license: you can use it, but modified versions you distribute must carry the same license.
- Its trust signals score 87/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands (2 minor notes below). An AI review of the same text found nothing harmful.
- noteInstalls by piping a downloaded script into a shellline 71
curl -fsSL https://raw.githubusercontent.com/RyansOpenSourceRice/overlay-companion-mcp/main/scripts/host-setup-kasmvnc.sh | bash - noteInstalls by piping a downloaded script into a shellline 107
curl -fsSL https://raw.githubusercontent.com/RyansOpenSourceRice/overlay-companion-mcp/main/scripts/vm-setup-kasmvnc.sh | bash
AI review by kimi-k2.7-code on 2026-09-25. Automated pattern scan on 2026-09-25. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
overlay-companion-mcp compared with similar skills
All 4 of these similar skills score higher than overlay-companion-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| overlay-companion-mcp (this skill)by RyansOpenSourceRice | 78 | 3 | today | MCP Server |
| Agent-Reachby Panniantong | 100 | 85.3k | 9d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 73.7k | today | CLAUDE.md |
| rufloby ruvnet | 100 | 73.2k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.1k | today | CLAUDE.md |
Frequently asked questions
- How do I install overlay-companion-mcp?
- Run
claude mcp add RyansOpenSourceRice -- npx -y github:RyansOpenSourceRice/overlay-companion-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does overlay-companion-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is overlay-companion-mcp safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands (2 minor notes below). An AI review of the same text found nothing harmful. It is GPL-3.0-licensed and scores 87/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is overlay-companion-mcp still maintained?
- The repository was last updated today, so overlay-companion-mcp is actively maintained.
Skill content
View source on GitHubOverlay Companion MCP
Friendly note: this project is in prefunctional development. Some parts are still being wired up, so if something doesn’t work yet, that’s expected. Thanks for your patience while we improve it.
Let AI control your computer screen - Create overlays, take screenshots, simulate mouse clicks, and interact with any desktop through your favorite AI assistant (Cherry AI, Claude Desktop, etc.).
📋 Looking for the Clipboard Bridge? See docs/CLIPBOARD_BRIDGE.md for the standalone Flatpak clipboard sync tool.
What is this?
Overlay Companion MCP connects your AI assistant to a computer desktop (yours or a virtual machine) so the AI can:
- 🎯 Create visual overlays - Draw shapes, text, and annotations on the screen
- 📸 Take screenshots - Capture what's on screen for AI analysis
- 🖱️ Control mouse & keyboard - Click buttons, type text, automate tasks
- 📋 Access clipboard - Copy and paste between systems
- 🖥️ Support multiple monitors - Work across several screens at once
Perfect for: Testing GUIs, automating desktop tasks, AI-assisted workflows, remote system management
How does it work?
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Your AI │ │ Overlay │ │ Target │
│ Assistant │─────▶│ Companion │─────▶│ Desktop │
│ (Cherry AI) │ │ (This Project) │ │ (VM or Local) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
"Click the MCP Server Desktop with
Save button" translates to overlays &
screen actions automation
Two computers involved:
- Host - Your main computer (Fedora Desktop) running the Overlay Companion containers
- Target - The desktop you want to control (can be a VM, or the same computer)
What is KasmVNC? A modern, web-based remote desktop system that works in your browser (no VNC client needed). Think of it like Chrome Remote Desktop, but open-source and designed for multi-monitor setups.
Quick Start (3 Steps)
Step 1: Install on Your Main Computer (Host)
Run this on your Fedora Desktop (the computer you're sitting at):
# Recommended: Compose-based install (no remote scripts)
# 1) Copy the compose file and .env template
cp infra/kasmvnc-compose.yml ./docker-compose.yml
cp infra/.env.example ./.env
# 2) Edit .env with your port preferences and settings
# CONTAINER_PORT=8080
# WEB_PORT=8082
# MCP_PORT=3001
# KASMVNC_PORT=6080
# KASMVNC_ADMIN_PORT=3000
# 3) Start the stack
podman-compose up -d
# Optional: use Docker Compose instead
# docker compose up -d
If you still prefer the one-line installer, use at your own discretion:
curl -fsSL https://raw.githubusercontent.com/RyansOpenSourceRice/overlay-companion-mcp/main/scripts/host-setup-kasmvnc.sh | bash
What this installs:
- Web interface for managing connections (accessible at
http://localhost:8080) - MCP server for AI integration (connects to Cherry AI, Claude, etc.)
- KasmVNC client (for connecting to remote desktops)
- All running in containers (no mess on your system)
Default port: 8080 (script will auto-detect conflicts and offer alternatives)
<details> <summary>🔧 Advanced: Custom Port Installation (click to expand)</summary># Download and run with custom port
wget https://raw.githubusercontent.com/RyansOpenSourceRice/overlay-companion-mcp/main/scripts/host-setup.sh
chmod +x host-setup.sh
./scripts/host-setup.sh 8081
# Or use environment variable
OVERLAY_COMPANION_PORT=8081 ./scripts/host-setup.sh
If port 8080 is in use, the script will automatically detect this and offer alternatives.
</details>Step 2: Install on Target Desktop (Optional)
Do you need this?
- ✅ YES - If you want to control a VM or remote computer
- ❌ NO - If you want to control your local desktop (same computer as Step 1)
If YES: Run this on your VM or remote computer (the desktop you want to control):
curl -fsSL https://raw.githubusercontent.com/RyansOpenSourceRice/overlay-companion-mcp/main/scripts/vm-setup-kasmvnc.sh | bash
What this installs:
- KasmVNC server (web-based remote desktop, runs on port 6901)
- Desktop environment (Fluxbox - lightweight window manager)
- Basic apps (Firefox, terminal)
- Auto-starts on boot
After installation: The script will show you the connection URL (e.g., http://192.168.1.100:6901)
Step 3: Connect Everything Together
Open your web browser on your main computer:
http://localhost:8080
You'll see the Overlay Companion web interface with three options:
-
Quick Connect - Connect to your VM (if you did Step 2)
- Click "New Connection"
- Enter VM IP address (shown after Step 2 installation)
- Port:
6901(default for KasmVNC) - Click "Test Connection" then "Save"
-
Configure AI Assistant - Connect Cherry AI or Claude Desktop
- Copy the MCP Server URL:
http://localhost:3000 - In Cherry AI: Settings → MCP Servers → Add Server
- Paste the URL and click "Connect"
- Copy the MCP Server URL:
-
Test It - Ask your AI to interact with the desktop
- "Take a screenshot"
- "Create a red circle overlay at position 500, 300"
- "Click the Firefox icon"
What Can You Do With It?
Example AI Commands
Once connected, ask your AI assistant to:
Visual Overlays:
"Draw a red circle at coordinates 500, 300"
"Show a text overlay saying 'Click here' at the top left"
"Highlight the Save button with a yellow box"
Screen Capture:
"Take a screenshot of the current desktop"
"Capture the screen and tell me what you see"
"Show me what's on monitor 2"
Mouse & Keyboard:
"Click the Firefox icon"
"Type 'Hello World' into the text field"
"Press Enter"
"Right-click at position 800, 400"
Clipboard:
"Copy this text to the clipboard: [text]"
"What's currently in the clipboard?"
"Paste the clipboard contents"
Web Interface
Access the management interface at http://localhost:8080:
- Home - System status, quick connect
- Connections - Manage VM connections (add/edit/delete)
- Settings - Configure MCP server, clipboard bridge, ports
Troubleshooting
Can't access http://localhost:8080
Check if containers are running:
podman ps
You should see 4 containers:
overlay-companion-mcp(MCP server)overlay-companion-web(Web interface)overlay-companion-kasmvnc(KasmVNC client)overlay-companion-proxy(Caddy proxy)
If containers aren't running:
cd ~/.config/overlay-companion-mcp
podman-compose up -d
Can't connect to VM
Check VM IP address:
# On the VM, run:
hostname -I
Test connectivity from host:
# Replace VM_IP with your VM's IP
curl http://VM_IP:6901
Check KasmVNC is running on VM:
# On the VM:
systemctl status kasmvnc
AI assistant can't connect to MCP server
Verify MCP server is running:
curl http://localhost:3000/health
Check Cherry AI configuration:
- MCP Server URL should be:
http://localhost:3000 - NOT
http://localhost:8080(that's the web interface)
Overlays not appearing
Check you're connected to the VM:
- Open
http://localhost:8080in your browser - You should see the VM desktop
- If not, click "Connect" and select your VM
Verify AI is using the correct MCP server:
- Ask AI: "What MCP servers are you connected to?"
- Should show "Overlay Companion MCP"
Advanced Configuration
<details> <summary>📋 Clipboard Bridge Setup (Optional)</summary>Enable clipboard sync between your computer and the VM.
Install on VM:
./scripts/vm-setup/install-clipboard-bridge.sh
Configure in web interface:
- Go to
http://localhost:8080 - Click "Settings" → "Clipboard"
- Enable clipboard bridge
- Enter VM IP and port (default: 8765)
- Click "Test Connection"
See docs/CLIPBOARD_BRIDGE.md for details.
</details> <details> <summary>🖥️ Multi-Monitor Setup</summary>In the web interface:
- Connect to your VM
- Click "Add Display" button
- A new browser window opens with the second monitor
- Position windows as needed
Ask AI to use specific monitors:
"Take a screenshot of monitor 2"
"Create an overlay on the left monitor"
See docs/MULTI_MONITOR_SETUP.md for details.
</details>Service Management
Container Management (on HOST)
# Check container status
podman ps
# View logs
podman logs overlay-companion
# Restart services
cd ~/.config/overlay-companion-mcp
podman-compose restart
# Stop all services
podman-compose down
VM Management
# Check RDP service in VM
sudo systemctl status xrdp
# Restart RDP service in VM
sudo systemctl restart xrdp
# Check VNC service in VM
sudo systemctl status vncserver@1
Troubleshooting
Container Issues
- Check logs:
podman logs [container-name] - Restart containers:
podman-compose restart - Rebuild containers: Re-run host-setup.sh
VM Connection Issues
- Verify VM IP address
- Check firewall settings in VM
- Test RDP connection directly:
xfreerdp /v:[VM-IP] /u:[username]
Network Issues
- Ensure VM and host can communicate
- Check firewall rules on both systems
- Verify RDP port 3389 is open
Development
Building from Source
git clone https://github.com/RyansOpenSourceRice/overlay-companion-mcp.git
cd overlay-companion-mcp
./scripts/host-setup.sh
Container Architecture
- KasmVNC container: Web-native VNC with multi-monitor support
- MCP server container: C# overlay functionality
- Web interface container: Management UI
- Caddy proxy container: Unified access point
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test with both host containers and VM setup
- Submit a pull request
License
GPL-3.0-or-later - see LICENSE file for details.
Related Skills
Agent-Reach
85.3kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
73.7kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ruflo
73.2k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
CowAgent
47.1kOpen-source super AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
