(日本語版はこちら)
This is an MCP server that analyzes the screen with OmniParser and automatically operates the GUI.
Confirmed on Windows.
This is MIT license, but Excluding submodules and sub packages.
OmniParser's repository is CC-BY-4.0.
Each OmniParser model has a different license (reference).
- Please do the following:
git clone --recursive https://github.com/NON906/omniparser-autogui-mcp.git
cd omniparser-autogui-mcp
uv sync
set OCR_LANG=en
uv run download_models.py
(Other than Windows, use export
instead of set
.)
(If you want langchain_example.py
to work, uv sync --extra langchain
instead.)
- Add this to your
claude_desktop_config.json
:
{
"mcpServers": {
"omniparser_autogui_mcp": {
"command": "uv",
"args": [
"--directory",
"D:\\CLONED_PATH\\omniparser-autogui-mcp",
"run",
"omniparser-autogui-mcp"
],
"env": {
"PYTHONIOENCODING": "utf-8",
"OCR_LANG": "en"
}
}
}
}
(Replace D:\\CLONED_PATH\\omniparser-autogui-mcp
with the directory you cloned.)
env
allows for the following additional configurations:
-
OMNI_PARSER_BACKEND_LOAD
If it does not work with other clients (such as LibreChat), specify1
. -
OMNI_PARSER_SERVER
If you want OmniParser processing to be done on another device, specify the server's address and port, such as127.0.0.1:8000
.
The server can be started withuv run omniparserserver
. -
SSE_HOST
,SSE_PORT
If specified, communication will be done via SSE instead of stdio. -
SOM_MODEL_PATH
,CAPTION_MODEL_NAME
,CAPTION_MODEL_PATH
,OMNI_PARSER_DEVICE
,BOX_TRESHOLD
These are for OmniParser configuration.
Usually, they are not necessary.
- Search for "MCP server" in the on-screen browser.
etc.