GUI2MCP
GUI2MCP
Превратите устаревшее программное обеспечение, работающее только в браузере, в инструменты, которые может вызывать ИИ.

Смотрите 27-секундное демо (MP4)
Смотрите презентацию GUI2MCP на Canva
Устаревший GUI -> GUI2MCP -> сгенерированный MCP-сервер -> Codex использует его как нативный API
Проблема
Компании по-прежнему зависят от внутреннего и устаревшего программного обеспечения, у которого нет пригодного для использования API. Люди могут искать записи, создавать клиентов и отправлять счета через браузер, но ИИ-агенты не могут получить доступ к этим возможностям, не анализируя весь интерфейс при каждом запуске.
Переписывание ПО вендора обходится дорого. Написание и поддержка разовых скриптов автоматизации не масштабируется.
Ключевая идея
GUI уже является машиночитаемым описанием того, что умеет программное обеспечение.
GUI2MCP наблюдает за этим интерфейсом, обнаруживает полезные действия, компилирует их в типизированные MCP-инструменты и реализует каждый вызов, управляя исходным GUI с помощью Playwright.
Для включённой в комплект CRM без API GUI2MCP генерирует:
search_customer(customer_name)
create_customer(name, email, company)
create_invoice(customer, amount_jpy, description)Codex больше не нужно искать меню, изучать DOM или решать, какую кнопку нажать. Он вызывает один инструмент уровня домена:
{
"name": "create_invoice",
"arguments": {
"customer": "Aiko Tanaka",
"amount_jpy": 120000,
"description": "AI integration workshop"
}
}GUI2MCP открывает настоящий экран счетов, заполняет поля, отправляет форму, проверяет видимый результат и возвращает INV-0001 вместе со скриншотом.
Почему не вызывать Playwright напрямую?
Playwright — это исполнительный механизм. GUI2MCP — это компилятор интерфейса.
Прямое управление браузером | GUI2MCP |
Заново наблюдать и анализировать страницу при каждом запуске | Обнаружить один раз, многократно вызывать стабильный доменный инструмент |
Низкоуровневые вызовы | Один вызов |
Широкие разрешения браузера | Явно разрешённые бизнес-возможности из белого списка |
Детали интерфейса расходуют контекст агента | Компактная JSON Schema, доступная агенту |
Знания о рабочем процессе остаются в промпте | Рабочий процесс становится переносимым MCP-контрактом |
Успех каждый раз определяется по косвенным признакам | Фиксируются видимое состояние успеха и структурированные результаты |
Для разовой задачи достаточно прямого использования Playwright. GUI2MCP предназначен для повторяющихся операций, которые должны стать переиспользуемыми, проверяемыми и доступными любому MCP-клиенту.
Как это работает
flowchart LR
A[Legacy web GUI<br/>No JSON API] -->|Observe DOM and forms| B[GUI Inspector]
B -->|Compile labels, fields, actions| C[generated/tools.json]
C --> D[Generic STDIO<br/>MCP server]
D -->|tools/list and tools/call| E[Codex]
E -->|Typed business action| D
D -->|Replay through Playwright| A
A -->|Visible result + evidence| DНаблюдение: Playwright обходит ограниченный набор страниц того же источника.
Понимание: извлекаются заголовки, метки, обязательные поля, типы ввода, параметры и действия отправки.
Компиляция: действия GUI превращаются в имена MCP, описания, JSON Schema и аннотации безопасности.
Выполнение: универсальная MCP-среда выполнения загружает сгенерированную спецификацию и воспроизводит вызовы через GUI.
Проверка: видимые уведомления и таблицы результатов возвращаются в виде структурированного вывода со скриншотом.
Сгенерированная MCP-среда выполнения не содержит обработчиков, специфичных для CRM. Её поведение определяется файлом generated/tools.json.
Демо для судей за 90 секунд
Откройте Legacy CRM и обратите внимание, что она предоставляет только браузерные страницы.
Откройте GUI2MCP Studio и нажмите Discover tools.
Покажите три сгенерированных инструмента и их типизированные параметры.
Спросите Codex:
Найди клиента Acme, затем создай счёт на 120 000 JPY за воркшоп по интеграции ИИ.
Codex вызывает
search_customer, а затемcreate_invoice.Откройте реестр счетов CRM и покажите
INV-0001, созданный через исходный GUI.
В демо намеренно используются разные источники:
Плоскость управления GUI2MCP:
http://127.0.0.1:4310Неизменённая устаревшая система:
http://127.0.0.1:4311/legacyhttp://127.0.0.1:4311/api/healthвозвращает404
JSON-эндпоинты на порту 4310 принадлежат GUI2MCP Studio, а не устаревшему приложению.
Запуск локально
Предварительные требования: Node.js 20+ и pnpm.
corepack pnpm install
corepack pnpm exec playwright install chromium
corepack pnpm devОткройте:
GUI2MCP Studio: http://127.0.0.1:4310
Legacy CRM: http://127.0.0.1:4311/legacy
В Studio нажмите Discover tools, выберите любую карточку сгенерированного инструмента, укажите аргументы и выберите Run via Playwright.
Studio поддерживает английский и японский языки с помощью переключателя EN / JP в правом верхнем углу.
Подключение Codex
Сначала сгенерируйте спецификацию инструментов в Studio. Оставьте Studio и устаревшую систему запущенными, затем соберите и зарегистрируйте STDIO-сервер:
corepack pnpm build
codex mcp add gui2mcp -- node "C:\absolute\path\to\GUI2MCP\dist\src\mcp.js"
codex mcp listПерезапустите Codex и спросите:
Search for the Acme customer, then create a JPY 120,000 invoice
for an AI integration workshop.Конфигурация в рамках проекта также доступна в .codex/config.toml.example.
Работа с CLI
При запущенных демо-серверах:
corepack pnpm discover -- --url http://127.0.0.1:4311/legacy
corepack pnpm mcpПолезные переменные окружения:
GUI2MCP_SPEC: загрузить другую сгенерированную спецификацию инструментов.GUI2MCP_HEADFUL=1: показывать браузер во время выполнения MCP-инструмента.PORT: изменить порт GUI2MCP Studio.LEGACY_PORT: изменить порт демонстрационной системы.
Технические особенности
Динамический MCP
tools/list, генерируемый при запуске сервераJSON Schema, выводимая из реальных элементов форм
Аннотации безопасности MCP, такие как
readOnlyHintиidempotentHintРазрешение полей в первую очередь по меткам с запасными вариантами по name и ID
Структурированное извлечение видимых таблиц и уведомлений об успехе
Скриншоты-доказательства для каждого завершённого вызова инструмента
Запасные варианты браузера: встроенный Chromium, Edge и Chrome
Интерфейс Studio на английском и японском языках
Для детерминированного обнаружения и воспроизведения не требуется API-ключ модели
Проверка
Репозиторий включает модульные и сквозные MCP-проверки:
corepack pnpm check
corepack pnpm test
corepack pnpm build
node dist/tests/mcp-smoke.jsСмоук-тест запускает сгенерированный STDIO MCP-сервер, выполняет tools/list, вызывает search_customer и проверяет, что результат содержит Acme Industries.
Объём прототипа
Этот двухчасовой прототип оптимизирован для убедительного сквозного доказательства, а не для автоматизации произвольных сайтов.
В настоящее время он нацелен на обычные формы с серверным рендерингом. CAPTCHA, сложные SPA, рабочие процессы в iframe, произвольная аутентификация и самовосстановление селекторов намеренно выходят за рамки.
Следующий шаг продукта — Teach Workflow:
Человек один раз демонстрирует многостраничную операцию; GUI2MCP превращает эту демонстрацию, её параметры и условие успеха в управляемый MCP-инструмент.
Это переводит продукт от обнаружения форм к компиляции долговечных бизнес-процессов.
Карта репозитория
src/discovery.ts GUI inspection and tool compilation
src/executor.ts Playwright-based generated tool runtime
src/mcp.ts Generic STDIO MCP server
src/legacy-crm.ts Separate-origin, API-less demo target
public/ GUI2MCP Studio
generated/tools.json Generated machine interface
tests/ Unit and MCP smoke tests
Plan.md Japanese implementation plan and demo scriptПерезапись демо
corepack pnpm record:demoЭто создаёт версии WebM и H.264 MP4 с английскими субтитрами в artifacts/.
API больше не обязательно создавать вендору ПО. ИИ может вывести машинный интерфейс из уже существующего GUI.
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.
Related MCP Connectors
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Stealth web browser for agents: search, fetch, click, download and type in persistent MCP sessions.
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/Jun0908/GUI2MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server