GUI2MCP
GUI2MCP
브라우저 전용 레거시 소프트웨어를 AI가 호출할 수 있는 도구로 바꾸세요.

레거시 GUI -> GUI2MCP -> 생성된 MCP 서버 -> Codex가 네이티브 API처럼 사용
문제
기업들은 여전히 사용 가능한 API가 없는 내부 및 레거시 소프트웨어에 의존합니다. 사람은 브라우저를 통해 레코드를 검색하고, 고객을 생성하고, 인보이스를 제출할 수 있지만, AI 에이전트는 매 실행마다 전체 인터페이스를 추론하지 않고서는 이러한 기능에 접근할 수 없습니다.
벤더 소프트웨어를 재구축하는 것은 비용이 많이 듭니다. 일회성 자동화 스크립트를 작성하고 유지보수하는 것은 확장성이 없습니다.
핵심 통찰
GUI는 이미 소프트웨어가 할 수 있는 일에 대한 기계가 읽을 수 있는 설명입니다.
GUI2MCP는 해당 인터페이스를 관찰하고, 유용한 작업을 발견하며, 이를 타입이 지정된 MCP 도구로 컴파일하고, Playwright로 원래 GUI를 조작하여 모든 호출을 구현합니다.
포함된 API 없는 CRM의 경우, 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 |
매 실행마다 페이지를 다시 관찰하고 추론 | 한 번 발견하고, 안정적인 도메인 도구를 반복적으로 호출 |
저수준 |
|
광범위한 브라우저 권한 | 명시적으로 허용 목록에 포함된 비즈니스 기능 |
UI 세부 사항이 에이전트 컨텍스트를 소비 | 에이전트에 노출되는 작은 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 고객을 검색한 다음, AI 통합 워크숍에 대한 JPY 120,000 인보이스를 생성하세요.
Codex가
search_customer를 호출한 다음create_invoice를 호출합니다.CRM 인보이스 등록부를 열고 원래 GUI를 통해 생성된
INV-0001을 보여줍니다.
데모는 의도적으로 별도의 출처를 사용합니다:
GUI2MCP 제어 평면:
http://127.0.0.1:4310수정되지 않은 레거시 대상:
http://127.0.0.1:4311/legacyhttp://127.0.0.1:4311/api/health는404를 반환합니다
포트 4310의 JSON 엔드포인트는 레거시 애플리케이션이 아닌 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 listCodex를 다시 시작하고 요청합니다:
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
readOnlyHint및idempotentHint와 같은 MCP 안전 주석이름 및 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가 포함되어 있는지 확인합니다.
프로토타입 범위
이 2시간 프로토타입은 임의 사이트 자동화가 아닌 설득력 있는 엔드투엔드 증명에 최적화되어 있습니다.
현재는 기존의 서버 렌더링 양식을 대상으로 합니다. 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이렇게 하면 artifacts/에 영어 자막이 포함된 WebM 및 H.264 MP4 버전이 생성됩니다.
API는 더 이상 소프트웨어 벤더가 구축할 필요가 없습니다. AI는 이미 존재하는 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