Skip to content

Security: CursorTouch/Windows-MCP

Security

SECURITY.md

Security Policy

Overview

Windows-MCP provides powerful automation capabilities that interact directly with your Windows operating system. This document outlines security considerations, best practices, and our commitment to maintaining a secure project.

⚠️ CRITICAL WARNING

READ THIS BEFORE DEPLOYING WINDOWS-MCP

Direct Operating System Interaction

Windows-MCP is NOT a sandboxed or isolated tool. It interacts directly with your actual Windows operating system on behalf of the connected LLM agent. This means:

  • Real System Actions: Every tool call executes real actions on your physical or virtual Windows machine
  • No Safety Net: There is no intermediate layer, simulation, or preview mode
  • User Permissions: The MCP server operates on behalf of the user running it

Irreversible and Destructive Changes

Many operations performed by Windows-MCP CANNOT BE UNDONE:

  • File Deletions: Files deleted through PowerShell or UI interactions may be permanently lost
  • Data Overwrites: Text typed with clear=True replaces existing content without recovery options
  • System Modifications: PowerShell commands can modify registry, services, and system configurations
  • Application Actions: Clicking "Delete", "Yes", or "Confirm" buttons has real consequences
  • No Undo/Rollback: Unlike text editors or IDEs, most Windows operations don't have an undo feature

Where NOT to Deploy

DO NOT deploy Windows-MCP on systems where you cannot tolerate the risk of:

  • ❌ Accidental data loss or corruption
  • ❌ Unintended system configuration changes
  • ❌ Exposure of sensitive information through screenshots
  • ❌ Execution of malicious commands if the LLM is compromised
  • ❌ Compliance violations in regulated environments

Specifically, NEVER deploy on:

  • Production servers or workstations
  • Systems containing irreplaceable data
  • Machines with access to sensitive databases or networks
  • Compliance-regulated environments (healthcare, finance, government)
  • Shared systems or multi-user environments without explicit consent
  • Any system you don't fully control and can't afford to lose

Recommended Safe Deployment

For safer experimentation and usage, strongly consider deploying Windows-MCP in:

Virtual Machines (VMs)

  • Use VMware, VirtualBox, Hyper-V, or similar virtualization platforms
  • Take snapshots before each session for easy rollback
  • Isolate the VM from production networks
  • Limit VM access to non-sensitive resources only

Sandboxed Environments

  • Windows Sandbox (built into Windows 10/11 Pro/Enterprise)
  • Containerized Windows environments
  • Dedicated test machines with no production data
  • Isolated network segments with restricted access

Dedicated Test Systems

  • Separate physical machines used only for testing
  • Systems with regular backups and disaster recovery plans
  • Machines that can be wiped and rebuilt without consequence

Impact Limitation Strategies

If you must use Windows-MCP on a regular system:

  1. Create a Dedicated User Account: Run the MCP server under a restricted user account with minimal permissions
  2. Regular Backups: Maintain frequent, verified backups of all important data
  3. Network Isolation: Disconnect from production networks or use firewall rules
  4. Supervised Operation: Always monitor the agent's actions in real-time
  5. Disable High-Risk Tools: Remove or restrict access to PowerShell-Tool and other destructive tools
  6. Test First: Thoroughly test workflows in a safe environment before production use

Security Considerations

System Access Level

Windows-MCP operates with the same permissions as the user running it. This means:

  • Full System Access: The MCP server can perform any action that the current user can perform
  • No Sandboxing: Tools execute directly on your Windows system without isolation
  • Persistent Changes: Actions taken by the MCP server can permanently modify your system state

Tool-Specific Security Implications

Based on our tool annotations, here's the security profile of each tool:

High-Risk Tools (Potentially Destructive)

These tools can make permanent changes to your system:

Tool Risk Description
Powershell-Tool Critical Can execute arbitrary PowerShell commands, including system modifications, file deletions, and network operations
Click-Tool High Can trigger destructive UI actions (delete confirmations, system dialogs)
Type-Tool High Can overwrite text, potentially destroying data when clear=True
Drag-Tool High Can move/reorganize files, potentially overwriting existing files
Shortcut-Tool High Can execute destructive keyboard shortcuts (Ctrl+D delete, Alt+F4 close)

Medium-Risk Tools (Modifying but Non-Destructive)

These tools modify system state but are generally safe:

Tool Risk Description
App-Tool Medium Launches/manages applications but doesn't modify data
Scroll-Tool Low Only changes viewport position
Move-Tool Low Only positions mouse cursor

Low-Risk Tools (Read-Only)

These tools only read information without making changes:

Tool Risk Description
State-Tool Safe Only captures desktop state and screenshots
Wait-Tool Safe Only pauses execution
Scrape-Tool Safe* Fetches web content (*may expose browsing activity)

Best Practices

1. Run with Least Privilege

  • Use a standard user account, not an administrator account, when possible
  • Avoid running Windows-MCP with elevated privileges unless absolutely necessary
  • Consider creating a dedicated user account for automation tasks

2. Trusted LLM Clients Only

  • Only connect Windows-MCP to trusted MCP clients
  • Be cautious when using with third-party or experimental LLM applications
  • Review the client application's security practices before integration

3. Monitor Tool Usage

  • Regularly review logs to understand what actions are being performed
  • Be especially vigilant with high-risk tools (Powershell-Tool, Click-Tool, etc.)
  • Set up alerts for unexpected or suspicious activity

4. Network Security

  • When using SSE or HTTP transport modes, ensure proper network isolation
  • Use localhost binding (127.0.0.1) instead of 0.0.0.0 when possible
  • Implement firewall rules to restrict access to the MCP server ports
  • Never expose the MCP server directly to the internet without proper authentication

5. Data Protection

  • Be aware that State-Tool captures screenshots that may contain sensitive information
  • Scrape-Tool may fetch content from untrusted websites
  • Avoid using Windows-MCP in environments with highly sensitive data
  • Consider disabling screenshot functionality (use_vision=False) when handling confidential information

6. Code Review

  • Review the source code before deployment in production environments
  • Audit any custom extensions or modifications
  • Keep dependencies up to date to patch known vulnerabilities

7. Backup and Recovery

  • Maintain regular backups before using automation tools
  • Test automation workflows in a safe environment first
  • Have a recovery plan in case of unintended system changes

Deployment Recommendations

Recommended Use Cases

  • Personal productivity automation on your own machine
  • Development and testing environments
  • QA automation in isolated test systems
  • Controlled demonstrations with supervision

Use with Caution

  • Shared workstations or multi-user systems
  • Systems with access to production data
  • Environments with compliance requirements (HIPAA, PCI-DSS, etc.)
  • Automated workflows without human oversight

Not Recommended

  • Production servers or critical infrastructure
  • Systems handling highly sensitive data (financial, medical, personal)
  • Public-facing systems or kiosks
  • Environments where destructive actions cannot be tolerated
  • Systems without proper backups

Vulnerability Reporting

We take security vulnerabilities seriously. If you discover a security issue, please follow responsible disclosure practices:

How to Report

DO NOT open a public GitHub issue for security vulnerabilities.

Instead, please report security issues via:

  1. Email: Send details to the project maintainers at [email protected]
  2. GitHub Security Advisories: Use the GitHub Security Advisory feature (preferred)

What to Include

Please provide:

  • Description of the vulnerability
  • Steps to reproduce the issue
  • Potential impact assessment
  • Suggested fix (if available)
  • Your contact information for follow-up

Response Timeline

  • Initial Response: Within 48 hours
  • Status Update: Within 7 days
  • Fix Timeline: Depends on severity (critical issues prioritized)

We will acknowledge your contribution in the security advisory and release notes (unless you prefer to remain anonymous).

Security Updates

Staying Informed

Update Policy

  • Security patches will be released as soon as possible
  • Critical vulnerabilities will be addressed within 7 days
  • Users will be notified via GitHub releases and community channels

Dependency Security

Windows-MCP relies on several third-party libraries. We:

  • Regularly update dependencies to patch known vulnerabilities
  • Monitor security advisories for our dependencies
  • Use uv for reproducible dependency management

Key Dependencies

  • PyAutoGUI: Mouse and keyboard automation
  • UIAutomation: Windows UI interaction
  • FastMCP: MCP server framework
  • httpx: HTTP client for web scraping

Compliance and Auditing

Logging

Windows-MCP does not implement comprehensive audit logging by default. For compliance-sensitive environments, consider:

  • Implementing custom logging middleware
  • Using Windows Event Logging for system-level auditing
  • Monitoring file system and registry changes

Data Privacy

  • Windows-MCP collects basic usage data to help improve the MCP server.
  • No personal information, tool arguments, or tool outputs are tracked.
  • Telemetry is enabled by default but can be disabled by setting the ANONYMIZED_TELEMETRY environment variable to false in the MCP server configuration.
  • Windows-MCP processes commands locally on your machine.
  • Screenshots and state captures remain on your local system.
  • Web scraping may expose browsing activity to target websites.

Tool Annotations Reference

All tools include security-relevant annotations:

  • readOnlyHint: true if the tool only reads data
  • destructiveHint: true if the tool may perform destructive updates
  • idempotentHint: true if repeated calls have no additional effect
  • openWorldHint: true if the tool interacts with external entities

Refer to main.py for complete tool annotations.

Disclaimer

USE AT YOUR OWN RISK

Windows-MCP is provided "as is" without warranty of any kind. The maintainers are not responsible for:

  • Data loss or system damage caused by tool usage
  • Security breaches resulting from improper configuration
  • Actions performed by LLM agents using this MCP server
  • Compliance violations in regulated environments

Users are solely responsible for:

  • Ensuring appropriate use in their environment
  • Implementing necessary security controls
  • Complying with applicable laws and regulations
  • Monitoring and auditing tool usage

License

This security policy is part of the Windows-MCP project, licensed under the MIT License. See LICENSE for details.

There aren’t any published security advisories