OmniFlow
Allows Hermes (an MCP client) to control Windows applications through OmniFlow's automation tools for window manipulation, image recognition, OCR, keyboard/mouse simulation, memory operations, and system automation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OmniFlowopen Calculator and add 5 to 10"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OmniFlow
基于 MCP (Model Context Protocol) 协议的 Windows 自动化全能工具
OmniFlow encapsulates Windows desktop automation capabilities (window operations, image/color recognition, OCR, keyboard/mouse simulation, background binding, memory operations, etc.) as a standard MCP Server. Any AI client supporting the MCP protocol (such as Claude Desktop, VS Code, CodeBuddy, Cursor, Windsurf, Continue, Cline, Cody, Crayfish, Hermes, Trae, Kiro, etc.) can directly call Windows automation capabilities.
✨ Features
🎯 Use Cases
OmniFlow turns Windows desktop applications into "AI-callable tools". Common use cases:
🎨 Image Processing Automation — Drive Photoshop/AI for batch image processing (resizing, color grading, filters, batch export)
📸 Screenshot Pipeline — Screen capture → OCR text extraction / PIL secondary processing / annotation back to screen
✏️ Drawing Automation — Use mspaint to draw diagrams, add annotations, flowcharts
🎮 Game Automation — Background AFK, auto-battle, dungeon recording and playback
📝 Office Automation — WPS/Office document auto-fill, report generation, batch formatting
🎬 Video Control — Player auto-pause/resume, subtitle recognition, scheduled recording
🖥️ Window Operations
Window finding and enumeration (by title, class name, PID, etc.)
Get window status (position, size, visibility, minimized state, etc.)
Window topmost / cancel topmost / show / hide
Window binding and unbinding (prepare for background operations)
🎯 Image & Color Recognition
Find Image: Search for image position by similarity in specified screen area, supports batch search
Find Color: Single point color search, multi-point color search, area color search, supports color tolerance
Compare Color: Compare color at specified coordinate
Screenshot: Capture specified area and save / return image data
📝 OCR (Optical Character Recognition)
Find Text: Search for text coordinates on screen based on preset dictionary
Recognize Text: Recognize text content in specified area and return
Supports standard characters, multi-color characters, color-shifted characters
Supports dictionary-free OCR recognition
⌨️🖱️ Keyboard & Mouse Simulation
Foreground Input: Simulate keyboard keys, key combinations, string input; mouse move / click / scroll
Background Input: Send background messages to bound windows without stealing focus
Supports key state control (press / release)
🧠 Background Binding
Multiple image/color binding modes:
gdi,dx,dx2,opengl, etc.Multiple keyboard/mouse binding modes:
windows,normal, etc.Suitable for game background AFK, multi-window concurrent automation
🧬 Memory Operations
Read / Write process memory
Memory search and pattern scanning
Get process module base address
📁 File & System
File read/write operations
System information retrieval (CPU usage, memory, screen resolution, etc.)
Process enumeration and management
🔧 Thread Safety
Supports multi-threaded concurrent calls
Each thread has independent window binding, no interference
🔄 Workflow
Visual / script-based automation task orchestration
Supports control structures like conditionals, loops, delay waiting, sub-flows
Task chain execution, output of previous step as input for next step
Supports workflow saving, loading and reuse
🧩 Plugin System
Plugin hot-loading to extend OmniFlow capabilities
Supports custom Tools, custom workflow nodes
Community plugin ecosystem for sharing and reusing automation capabilities
Related MCP server: computer-control-mcp-lands
🏗️ Architecture
┌────────────────────────────────────────┐
│ AI Client (MCP Host) │
│ Claude Desktop / CodeBuddy / VS Code │
│ Cursor / Windsurf / Continue / Cline │
│ Crayfish / Hermes / Trae / Kiro ... │
└──────────────┬─────────────────────────┘
│ MCP Protocol (stdio)
┌──────────────▼─────────────────────────┐
│ OmniFlow MCP Server │
│ ┌───────────────────────────────────┐ │
│ │ MCP Tools Layer │ │
│ │ window / image / text / input │ │
│ │ / binding / memory / system ... │ │
│ └──────────────┬────────────────────┘ │
│ ┌──────────────▼────────────────────┐ │
│ │ Automation Engine │ │
│ │ Win32 API / COM / ctypes │ │
│ └──────────────┬────────────────────┘ │
└─────────────────┼───────────────────────┘
┌─────────────────▼───────────────────────┐
│ Windows System Layer │
│ GDI / DX / Win32 API │
└────────────────────────────────────────┘📥 Installation
Prerequisites
Windows OS
Python 3.10+
Installation Steps
# 1. Clone repository
git clone <this-repo-url>
cd OmniFlow
# 2. Create virtual environment
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Linux/Mac (some features not supported)
# 3. Install dependencies (Important: must use `pip install -e .` to make omniflow package importable via `python -m omniflow`)
# Method 1: requirements.txt + editable install (Recommended)
pip install -r requirements.txt
pip install -e .
# Method 2: One-liner
pip install -r requirements.txt && pip install -e .🚀 Quick Start
Configure MCP Client
Add OmniFlow to your MCP client configuration file:
{
"mcpServers": {
"omniflow": {
"command": "<venv-python>",
"args": ["-m", "omniflow"],
"cwd": "<local OmniFlow repo path>"
}
}
}Notes:
commandpoints to python.exe in venv (e.g.,D:/OmniFlow/.venv/Scripts/python.exe)
cwdpoints to OmniFlow repository root directorySome MCP clients support the
cwdfield (e.g., Hermes); for those that don't, useenv.PYTHONPATHinstead
Example: Let AI Find an Image and Click It
Through natural language description in AI client, OmniFlow automatically calls corresponding MCP Tools:
Capture screen →
screenshotFind image in screenshot →
find_imageMove mouse and click →
mouse_click
AI clients automatically orchestrate these MCP Tool calls.
📖 MCP Tools Reference
Window Tools
Tool | Description |
| Find window by title / class name |
| Enumerate all top-level windows |
| Get detailed window information |
| Set window topmost |
| Show / hide window |
| Activate window to foreground |
| Close window (sends WM_CLOSE message, equivalent to clicking X) |
Binding Tools
Tool | Description |
| Bind window for background operation, keyboard/mouse control is user-transparent (specify image/color and input modes) |
| Unbind window, restore foreground operation |
Image Tools
Tool | Description |
| Capture specified area, return Base64 image |
| Find image in specified area, return coordinates |
| Find specified color, return coordinates |
| Compare color at specified coordinate |
| Get color value at specified coordinate |
Text Tools
Tool | Description |
| Recognize text in specified area |
| Find text position on screen |
| Set OCR dictionary file path |
Input Tools
Tool | Description |
| Press and release keyboard key |
| Hold keyboard key down |
| Release keyboard key |
| Type string |
| Send key combination, e.g., Ctrl+C |
| Move mouse |
| Mouse click (left / right / middle) |
| Mouse scroll |
| Get current mouse position |
Memory Tools
Tool | Description |
| Read process memory |
| Write process memory |
| Get module base address |
System Tools
Tool | Description |
| Get CPU, memory and other system information |
| Get screen resolution |
| Enumerate running processes |
| Launch external program (supports PATH search and .lnk shortcuts) |
Workflow Tools
Tool | Description |
| Execute specified workflow |
| List all saved workflows |
| Save current orchestrated workflow |
| Delete workflow |
| Pause workflow execution |
| Resume workflow execution |
Plugin Tools
Tool | Description |
| List installed plugins |
| Install plugin |
| Uninstall plugin |
| Enable plugin |
| Disable plugin |
📁 Project Structure
OmniFlow/
├── .gitignore # Git ignore configuration
├── README.md # Project documentation (Chinese)
├── README.en.md # Project documentation (English)
├── README.ja.md # Project documentation (Japanese)
├── README.de.md # Project documentation (German)
├── OmniFlow 使用示例.md # Usage examples (by scenario: PS / screenshot / drawing)
├── requirements.txt # Python dependencies
├── pyproject.toml # Project metadata
├── scripts/ # Helper scripts
├── src/
│ └── omniflow/
│ ├── __init__.py
│ ├── __main__.py # Entry point (python -m omniflow)
│ ├── server.py # MCP Server main logic
│ ├── engine/
│ │ ├── __init__.py
│ │ ├── com.py # COM / Win32 API wrapper
│ │ └── types.py # Type definitions
│ └── tools/
│ ├── __init__.py
│ ├── window.py # Window Tools (includes window_close)
│ ├── binding.py # Binding Tools
│ ├── image.py # Image/Color Recognition Tools
│ ├── ocr.py # OCR Tools
│ ├── input.py # Keyboard/Mouse Simulation Tools
│ ├── memory.py # Memory Operation Tools
│ ├── system.py # System Tools (includes run_program)
│ ├── workflow.py # Workflow Tools (v2 engine: IF / WAIT_FOR_WINDOW / variable system)
│ └── plugin.py # Plugin System Tools
├── examples/
│ ├── open_photoshop.py # Photoshop automation example
│ └── workflows/
│ └── infinite_fish_auto_sell.json # Complete v2 engine workflow example (self-contained)
└── tests/
├── __init__.py
├── test_tools.py # Basic tool tests
└── test_workflow_v2.py # Workflow v2 engine regression tests (8 cases)Note: OmniFlow engine v2 improvements (variable system / IF node / WAIT_FOR_WINDOW / safe condition / true MCP calls) can be found in
docs/workflows/translation-notes.mdand the OmniFlow 0.2.0 entry inknown-integrations.md.
🛠️ Development
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Code formatting
ruff format src/
ruff check src/📄 License
MIT License
⚠️ Disclaimer
This tool is for legal purposes only (such as automation testing, office automation, etc.). Do not use it for scenarios that violate game terms of service, infringe on others' rights, or engage in any illegal activities. Users are responsible for their own actions.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/huppugo1/OmniFlow'
If you have feedback or need assistance with the MCP directory API, please join our Discord server