Skip to main content
Glama

MCP 셀레늄 서버

대장간 배지

Selenium WebDriver를 위한 MCP(Model Context Protocol) 서버 구현으로, 표준화된 MCP 클라이언트를 통해 브라우저 자동화를 구현합니다.

특징

  • 사용자 정의 가능한 옵션으로 브라우저 세션 시작

  • URL로 이동

  • 다양한 위치 지정 전략을 사용하여 요소 찾기

  • 클릭, 입력 및 요소와 상호 작용

  • 마우스 동작 수행(호버, 드래그 앤 드롭)

  • 키보드 입력 처리

  • 스크린샷 찍기

  • 파일 업로드

  • 헤드리스 모드 지원

Related MCP server: Playwright Server

지원되는 브라우저

  • 크롬

  • 파이어폭스

거위와 함께 사용하세요

옵션 1: 원클릭 설치

아래 링크를 복사하여 브라우저 주소창에 붙여넣어 이 확장 프로그램을 Goose Desktop에 추가하세요.

지엑스피1

옵션 2: 데스크톱 또는 CLI에 수동으로 추가

  • 이름: Selenium MCP

  • 설명: automates browser interactions

  • 명령어: npx -y @angiejones/mcp-selenium

다른 MCP 클라이언트(예: Claude Desktop 등)와 함께 사용

{ "mcpServers": { "selenium": { "command": "npx", "args": ["-y", "@angiejones/mcp-selenium"] } } }

개발

이 프로젝트를 진행하려면:

  1. 저장소를 복제합니다

  2. 종속성 설치: npm install

  3. 서버를 실행합니다: npm start

설치

Smithery를 통해 설치

Smithery 를 통해 Claude Desktop에 MCP Selenium을 자동으로 설치하려면:

npx -y @smithery/cli install @angiejones/mcp-selenium --client claude

수동 설치

npm install -g @angiejones/mcp-selenium

용법

다음을 실행하여 서버를 시작합니다.

mcp-selenium

또는 MCP 구성에서 NPX와 함께 사용하세요.

{ "mcpServers": { "selenium": { "command": "npx", "args": [ "-y", "@angiejones/mcp-selenium" ] } } }

도구

시작_브라우저

브라우저 세션을 시작합니다.

매개변수:

  • browser (필수): 실행할 브라우저

    • 유형: 문자열

    • 열거형: ["chrome", "firefox"]

  • options : 브라우저 구성 옵션

    • 유형: 객체

    • 속성:

      • headless : 브라우저를 headless 모드로 실행합니다.

        • 유형: 부울

      • arguments : 추가 브라우저 인수

        • 유형: 문자열 배열

예:

{ "tool": "start_browser", "parameters": { "browser": "chrome", "options": { "headless": true, "arguments": ["--no-sandbox"] } } }

탐색하다

URL로 이동합니다.

매개변수:

  • url (필수): 이동할 URL

    • 유형: 문자열

예:

{ "tool": "navigate", "parameters": { "url": "https://www.example.com" } }

찾기_요소

페이지에서 요소를 찾습니다.

매개변수:

  • ( by ): 로케이터 전략

    • 유형: 문자열

    • 열거형: ["id", "css", "xpath", "name", "tag", "class"]

  • value (필수): 로케이터 전략에 대한 값

    • 유형: 문자열

  • timeout : 요소를 기다리는 최대 시간(밀리초)

    • 유형: 숫자

    • 기본값: 10000

예:

{ "tool": "find_element", "parameters": { "by": "id", "value": "search-input", "timeout": 5000 } }

클릭_요소

요소를 클릭합니다.

매개변수:

  • ( by ): 로케이터 전략

    • 유형: 문자열

    • 열거형: ["id", "css", "xpath", "name", "tag", "class"]

  • value (필수): 로케이터 전략에 대한 값

    • 유형: 문자열

  • timeout : 요소를 기다리는 최대 시간(밀리초)

    • 유형: 숫자

    • 기본값: 10000

예:

{ "tool": "click_element", "parameters": { "by": "css", "value": ".submit-button" } }

보내기_키

요소에 키를 보냅니다(입력).

매개변수:

  • ( by ): 로케이터 전략

    • 유형: 문자열

    • 열거형: ["id", "css", "xpath", "name", "tag", "class"]

  • value (필수): 로케이터 전략에 대한 값

    • 유형: 문자열

  • text (필수): 요소에 입력할 텍스트

    • 유형: 문자열

  • timeout : 요소를 기다리는 최대 시간(밀리초)

    • 유형: 숫자

    • 기본값: 10000

예:

{ "tool": "send_keys", "parameters": { "by": "name", "value": "username", "text": "testuser" } }

get_element_text

요소의 text()를 가져옵니다.

매개변수:

  • ( by ): 로케이터 전략

    • 유형: 문자열

    • 열거형: ["id", "css", "xpath", "name", "tag", "class"]

  • value (필수): 로케이터 전략에 대한 값

    • 유형: 문자열

  • timeout : 요소를 기다리는 최대 시간(밀리초)

    • 유형: 숫자

    • 기본값: 10000

예:

{ "tool": "get_element_text", "parameters": { "by": "css", "value": ".message" } }

호버

마우스를 움직여 요소 위에 올려놓습니다.

매개변수:

  • ( by ): 로케이터 전략

    • 유형: 문자열

    • 열거형: ["id", "css", "xpath", "name", "tag", "class"]

  • value (필수): 로케이터 전략에 대한 값

    • 유형: 문자열

  • timeout : 요소를 기다리는 최대 시간(밀리초)

    • 유형: 숫자

    • 기본값: 10000

예:

{ "tool": "hover", "parameters": { "by": "css", "value": ".dropdown-menu" } }

드래그 앤 드롭

요소를 끌어서 다른 요소 위에 놓습니다.

매개변수:

  • ( by ): 소스 요소에 대한 로케이터 전략

    • 유형: 문자열

    • 열거형: ["id", "css", "xpath", "name", "tag", "class"]

  • value (필수): 소스 로케이터 전략에 대한 값

    • 유형: 문자열

  • targetBy (필수): 대상 요소에 대한 로케이터 전략

    • 유형: 문자열

    • 열거형: ["id", "css", "xpath", "name", "tag", "class"]

  • targetValue (필수): 타겟 로케이터 전략에 대한 값

    • 유형: 문자열

  • timeout : 요소를 기다리는 최대 시간(밀리초)

    • 유형: 숫자

    • 기본값: 10000

예:

{ "tool": "drag_and_drop", "parameters": { "by": "id", "value": "draggable", "targetBy": "id", "targetValue": "droppable" } }

더블클릭

요소를 두 번 클릭합니다.

매개변수:

  • ( by ): 로케이터 전략

    • 유형: 문자열

    • 열거형: ["id", "css", "xpath", "name", "tag", "class"]

  • value (필수): 로케이터 전략에 대한 값

    • 유형: 문자열

  • timeout : 요소를 기다리는 최대 시간(밀리초)

    • 유형: 숫자

    • 기본값: 10000

예:

{ "tool": "double_click", "parameters": { "by": "css", "value": ".editable-text" } }

마우스 오른쪽 버튼 클릭

요소에 마우스 오른쪽 버튼 클릭(상황에 맞는 클릭)을 수행합니다.

매개변수:

  • ( by ): 로케이터 전략

    • 유형: 문자열

    • 열거형: ["id", "css", "xpath", "name", "tag", "class"]

  • value (필수): 로케이터 전략에 대한 값

    • 유형: 문자열

  • timeout : 요소를 기다리는 최대 시간(밀리초)

    • 유형: 숫자

    • 기본값: 10000

예:

{ "tool": "right_click", "parameters": { "by": "css", "value": ".context-menu-trigger" } }

키를 누르세요

키보드 키를 누르는 것과 같은 효과를 냅니다.

매개변수:

  • key (필수): 누르는 키(예: 'Enter', 'Tab', 'a' 등)

    • 유형: 문자열

예:

{ "tool": "press_key", "parameters": { "key": "Enter" } }

업로드_파일

파일 입력 요소를 사용하여 파일을 업로드합니다.

매개변수:

  • ( by ): 로케이터 전략

    • 유형: 문자열

    • 열거형: ["id", "css", "xpath", "name", "tag", "class"]

  • value (필수): 로케이터 전략에 대한 값

    • 유형: 문자열

  • filePath (필수): 업로드할 파일의 절대 경로

    • 유형: 문자열

  • timeout : 요소를 기다리는 최대 시간(밀리초)

    • 유형: 숫자

    • 기본값: 10000

예:

{ "tool": "upload_file", "parameters": { "by": "id", "value": "file-input", "filePath": "/path/to/file.pdf" } }

스크린샷 찍기

현재 페이지의 스크린샷을 캡처합니다.

매개변수:

  • outputPath (선택 사항): 스크린샷을 저장할 경로입니다. 지정하지 않으면 base64 데이터를 반환합니다.

    • 유형: 문자열

예:

{ "tool": "take_screenshot", "parameters": { "outputPath": "/path/to/screenshot.png" } }

세션 종료

현재 브라우저 세션을 닫고 리소스를 정리합니다.

매개변수: 필요 없음

예:

{ "tool": "close_session", "parameters": {} }

특허

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

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/angiejones/mcp-selenium'

If you have feedback or need assistance with the MCP directory API, please join our Discord server