dev-tools 6 min read

Minicor – Windows Desktop RPA at Scale via MCP

Minicor connects AI agents like Claude Code and Codex to Windows virtual machines through an MCP server, enabling scalable desktop RPA with Python workflows.

By
Share: X in
Minicor Windows desktop RPA automation thumbnail

TL;DR

TL;DR: Minicor is an MCP-based RPA platform that lets AI agents control Windows virtual machines programmatically — handling legacy desktop software, 2FA challenges, and parallel workflows at scale.

What Is Minicor?

Minicor solves a specific pain point: AI companies that need to integrate with desktop systems that have no API. Legacy enterprise software — medical record systems, ERP clients, thick-client tools — often only exposes a GUI. Automating those systems has traditionally meant brittle screen-scraping scripts with high failure rates.

Minicor wraps Windows VMs in an MCP server that Claude Code or Codex can use to navigate desktop software, create RPA workflows, and orchestrate runs at scale.

The core is an MCP-compatible server that exposes a Python execution environment inside a Windows VM. Agents write RPA workflows as Python scripts — deterministic, version-controlled, and fast. Workflows can be triggered via API with any input/output schema, and each run stores video replays plus logs for debugging.

Key Features

MCP Native Integration

Claude Code and Codex can drive Minicor workflows through the Model Context Protocol. The agent writes Python to control mouse/keyboard, reads screen state, and handles conditional logic — all within the VM’s execution context.

Python-Based Workflows

Unlike legacy RPA tools that use drag-and-drop flowcharts, Minicor workflows are Python scripts. This means:

  • Standard Python debugging tools (pdb, print, pytest)
  • Version control for workflows (git commit, PR review)
  • Reusable functions and packages
  • Deterministic execution (no hidden state)

VM Orchestration

Minicor handles the infra overhead of running desktop automations:

  • VM cloning for parallelizing RPA runs across many machines
  • Queue management for scaling workflow execution
  • State snapshots for resumable runs after failures

2FA and OTP Handling

Desktop apps frequently require one-time passwords. Minicor includes built-in primitives for:

  • Email OTP extraction (via inbox integration)
  • SMS code reading
  • TOTP/HOTP token handling
  • Human-in-the-loop steps (pause workflow, wait for manual approval)

Observability

Every workflow run produces:

  • Video replay of the GUI session
  • Structured logs with timestamps
  • Screenshot captures at decision points
  • Pass/fail status with error traces

This makes cascading failures (common in RPA at scale) observable and debuggable rather than silent.

How It Works

AI Agent (Claude Code / Codex)
        |
        v
   MCP Server (Minicor)
        |
        v
  Windows VM + Python Runtime
        |
   RPA Workflow (Python script)
        |
   Desktop App (legacy GUI)

A workflow is a Python script that the agent writes or modifies. The MCP server executes it inside a Windows VM. The agent can make changes, re-run, and debug — all via MCP, with version history preserved in git.

Setup Workflow

Step 1: Deploy Minicor MCP Server

# Clone the Minicor runtime
git clone https://github.com/laminar-run/minicor.git
cd minicor

# Install Python dependencies
pip install -r requirements.txt

# Configure your VM environment
cp .env.example .env
# Set MINICOR_VM_HOST, MINICOR_API_KEY, MINICOR_STORAGE

Step 2: Connect an AI Agent

In Claude Code or Codex, add the Minicor MCP server:

{
  "mcpServers": {
    "minicor": {
      "command": "npx",
      "args": ["-y", "@minicor/mcp-server", "--api-key", "your-key"]
    }
  }
}

The agent can now call minicor.run_workflow(), minicor.get_vm_state(), and other tools exposed by the MCP server.

Step 3: Write Your First Workflow

# workflow_clinic_sync.py
import minicor

def run(args):
    # Launch the medical record app
    minicor.launch_app("C:\\Program Files\\MedApp\\medrec.exe")

    # Navigate to patient records
    minicor.click("Patient Records")
    minicor.type_text(args['patient_id'])
    minicor.press("Enter")

    # Pull the appointment list
    html = minicor.capture_html()
    appointments = parse_appointments(html)

    # Call LLM to verify data quality
    verified = minicor.llm_verify(
        screenshot=minicor.capture_screen(),
        prompt="Check if the patient name matches the appointment."
    )

    if not verified:
        minicor.notify_slack(f"Verification failed for {args['patient_id']}")
        minicor.request_human_review()

    return appointments

Step 4: Trigger via API

curl -X POST https://api.minicor.com/v1/workflows/run \
  -H "Authorization: Bearer $MINICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workflow": "workflow_clinic_sync",
    "args": {"patient_id": "P-2847"},
    "vm_pool": "clinic-vms-pool-a"
  }'

Response:

{
  "run_id": "run_8f3k9d2p",
  "status": "queued",
  "video_url": "https://storage.minicor.com/runs/run_8f3k9d2p/replay.mp4",
  "estimated_duration_seconds": 45
}

Practical Evaluation Checklist

  • Does your target software expose a GUI but no API?
  • Are you integrating AI agents (Claude Code, Codex) that need to interact with desktop systems?
  • Do you need deterministic, version-controlled automation scripts?
  • Is parallel execution across many VMs a requirement?
  • Do you handle 2FA/OTP flows in your current automation?
  • Are cascading RPA failures causing silent data quality issues?

If you answered yes to three or more, Minicor is worth evaluating.

Security Notes

  • VM execution is isolated — workflows run in contained Windows environments
  • API keys should be stored in secrets managers, not in workflow code
  • Video replays and logs may contain sensitive data — apply appropriate access controls
  • Network connectivity from VMs to internal systems should be restricted via VLAN/segmentation

FAQ

Q: Does Minicor only work with Windows?

A: Currently yes — Minicor is purpose-built for Windows desktop automation. The underlying MCP server runs on Windows VMs (Hyper-V or cloud Windows instances). macOS and Linux support is on the roadmap.

Q: How does this compare to traditional RPA tools like UiPath or Automation Anywhere?

A: Traditional RPA tools use graphical flowcharts and proprietary scripting languages. Minicor uses Python scripts executed via MCP, making it more developer-friendly and naturally integrated with AI coding agents. Traditional RPA is better for non-technical users; Minicor is better for teams already using Claude Code or Codex.

Q: What happens if the GUI changes and the automation breaks?

A: Minicor’s observability layer captures every failure with screenshots and video replays. The agent can inspect the failure, modify the Python script, and re-run. Because workflows are in git, you can roll back to a known-good version.

Q: Is this suitable for high-volume production workloads?

A: Yes — the VM cloning and queuing system is designed for parallel execution across a pool of Windows VMs. Teams have used Minicor to run hundreds of concurrent RPA workflows.

Q: Can human-in-the-loop steps pause execution for manual approval?

A: Yes. Workflows can call minicor.request_human_review() which pauses execution and notifies a Slack channel or similar. Execution resumes when a human approves or modifies the VM state.

Conclusion

Minicor fills a specific gap in the automation stack: legacy desktop software that exposes no API. By wrapping Windows VMs in an MCP server and using Python as the workflow language, it makes desktop RPA programmable and debuggable for teams already using AI coding agents. If you’ve been working around desktop automation with brittle scripts or expensive enterprise RPA licenses, Minicor is worth a look.

Site: minicor.com