Skip to main content
Glama

MCP 셀레늄 서버

대장간 배지

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

특징

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

  • URL로 이동

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

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

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

  • 키보드 입력 처리

  • 스크린샷 찍기

  • 파일 업로드

  • 헤드리스 모드 지원

Related MCP server: MCP Servers with Pyppeteer

지원되는 브라우저

  • 크롬

  • 파이어폭스

거위와 함께 사용하세요

옵션 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

Latest Blog Posts

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