Playwright MCP와 Koog로 브라우저를 구동하세요
원문: Koog Documentation — PlaywrightMcp 이 글은 Koog 공식 문서의 PlaywrightMcp 페이지를 한국어로 옮긴 번역본입니다. 문서 구조와 링크 의미를 유지하되, MkDocs 전용 UI 문법은 블로그에서 읽기 좋도록 정리했습니다.
Playwright MCP와 Koog로 브라우저를 구동하세요
:material-github: Open on GitHub{ .md-button .md-button--기본 } :material-download: Download .ipynb{ .md-버튼 }
이 노트북에서는 Koog 에이전트를 Playwright의 MCP(Model Context Protocol) 서버에 연결하고 실제 브라우저를 구동하여 작업을 완료하게 합니다. jetbrains.com을 열고, 쿠키를 수락하고, 도구 모음에서 AI 섹션을 클릭합니다.
게시하고 재사용할 수 있는 최소한이지만 현실적인 에이전트 + 도구 설정에 중점을 두고 모든 것을 간단하고 재현 가능하게 유지하겠습니다.
1%useLatestDescriptors2%use koog3전제 조건
- 환경 변수로 내보낸 OpenAI API 키:
OPENAI_API_KEY - PATH에서 Node.js 및 npx를 사용할 수 있습니다.
- Koog가 포함된 Kotlin Jupyter 노트북 환경은
%use koog을 통해 제공됩니다.
팁: 헤드풀 모드에서 Playwright MCP 서버를 실행하여 브라우저가 단계를 자동화하는 것을 확인하세요.
1) OpenAI API 키 제공
OPENAI_API_KEY 환경 변수에서 API 키를 읽습니다. 이렇게 하면 노트북의 비밀이 유지됩니다.
1// Get the API key from environment variables2val openAIApiToken = System.getenv("OPENAI_API_KEY") ?: error("OPENAI_API_KEY environment variable not set")32) Playwright MCP 서버를 시작합니다.
npx을 사용하여 Playwright의 MCP 서버를 로컬에서 시작하겠습니다. 기본적으로 Koog에서 연결할 수 있는 SSE 엔드포인트를 노출합니다.
1// Start the Playwright MCP server via npx2val process = ProcessBuilder(3 "npx",4 "@playwright/mcp@latest",5 "--port",6 "8931"7).start()83) Koog에서 연결하고 에이전트를 실행합니다.
OpenAI 실행기를 사용하여 최소 Koog AIAgent를 구축하고 해당 도구 레지스트리가 SSE를 통해 MCP 서버를 가리키도록 합니다. 그런 다음 도구를 통해 엄격하게 브라우저 작업을 완료하도록 요청합니다.
1import kotlinx.coroutines.runBlocking23runBlocking {4 println("Connecting to Playwright MCP server...")5 val toolRegistry = McpToolRegistryProvider.fromTransport(6 transport = McpToolRegistryProvider.defaultSseTransport("http://localhost:8931/sse")7 )8 println("Successfully connected to Playwright MCP server")910 // Create the agent11 val agent = AIAgent(12 executor = simpleOpenAIExecutor(openAIApiToken),13 llmModel = OpenAIModels.Chat.GPT4o,14 toolRegistry = toolRegistry,15 )1617 val request = "Open a browser, navigate to jetbrains.com, accept all cookies, click AI in toolbar"18 println("Sending request: $request")1920 agent.run(21 request + ". " +22 "You can only call tools. Use the Playwright tools to complete this task."23 )24}254) MCP 프로세스 종료
실행이 끝나면 항상 외부 프로세스를 정리하십시오.
1// Shutdown the Playwright MCP process2println("Closing connection to Playwright MCP server")3process.destroy()4문제 해결
- 에이전트가 연결할 수 없는 경우 MCP 서버가
http://localhost:8931에서 실행되고 있는지 확인하세요. - 브라우저가 표시되지 않으면 Playwright가 설치되어 있고 시스템에서 브라우저를 시작할 수 있는지 확인하세요.
- OpenAI에서 인증 오류가 발생하는 경우
OPENAI_API_KEY환경 변수를 다시 확인하세요.
다음 단계
- 다른 웹사이트나 흐름을 시도해 보세요. MCP 서버는 풍부한 Playwright 도구 세트를 제공합니다.
- LLM 모델을 바꾸거나 Koog 에이전트에 더 많은 도구를 추가하세요.
- 이 흐름을 앱에 통합하거나 노트북을 문서로 게시하세요.