Skip to main content
Glama

MCP Operator

by willer

Operador de navegador MCP

Un servidor de Protocolo de Control de Modelos (MCP) para la automatización del navegador que permite a los LLM controlar un navegador web, interactuar con páginas web y analizar contenido web a través de una interfaz JSON-RPC estandarizada.

Características

  • Administración del navegador : crear, navegar, operar y cerrar instancias del navegador
  • Gestión de trabajos : seguimiento del estado de las operaciones del navegador con identificadores de trabajos
  • Interacción web : ejecute instrucciones en lenguaje natural utilizando la API de uso informático de OpenAI
  • Herramientas del navegador : acceda a registros de la consola, actividad de red, capturas de pantalla y más
  • Auditoría : ejecutar auditorías de accesibilidad, rendimiento, SEO y otras páginas web.

Requisitos

  • Python 3.11+
  • Dramaturgo
  • Clave API de OpenAI (para la API de uso de computadoras)

Instalación

  1. Clonar este repositorio:
    git clone https://github.com/yourusername/operator-mcp.git cd operator-mcp
  2. Instalar dependencias:
    pip install -e .
  3. Instalar navegadores Playwright:
    playwright install chromium
  4. Establezca su clave API de OpenAI:
    export OPENAI_API_KEY=your-api-key

Uso

Inicie el servidor MCP:

./run-server

El servidor escucha solicitudes JSON-RPC en stdin y responde en stdout, siguiendo el protocolo MCP.

Scripts ejecutables

  • run-server : ejecuta el servidor MCP (punto de entrada principal)
    # Run the MCP server ./run-server # Run with specific log directory ./run-server --log-dir /path/to/logs # Run in debug mode ./run-server --debug
  • run-tests : ejecuta todas las pruebas (con opciones solo para unidades o integración)
    # Run all tests ./run-tests # Run only unit tests (faster) ./run-tests --unit-only # Run only integration tests ./run-tests --integration-only # Run with verbose output ./run-tests --verbose # Run a specific test ./run-tests --test TestBrowserOperatorMethods
  • run-test-harness : ejecuta el servidor con MCP Inspector para pruebas interactivas
    # Run with the MCP Inspector for interactive testing ./run-test-harness

Métodos básicos

Administración del navegador
  • Crear navegador : inicializa una nueva instancia del navegador
    { "jsonrpc": "2.0", "id": 1, "method": "mcp__browser-operator__create-browser", "params": { "project_name": "my-project" } }
  • Navegar por el navegador : dirige el navegador a una URL específica
    { "jsonrpc": "2.0", "id": 2, "method": "mcp__browser-operator__navigate-browser", "params": { "project_name": "my-project", "url": "https://example.com" } }
  • Operar navegador : ejecutar instrucciones en lenguaje natural para la interacción con el navegador
    { "jsonrpc": "2.0", "id": 3, "method": "mcp__browser-operator__operate-browser", "params": { "project_name": "my-project", "instruction": "Find the heading on this page and tell me what it says." } }
  • Cerrar navegador : finalizar una instancia del navegador
    { "jsonrpc": "2.0", "id": 4, "method": "mcp__browser-operator__close-browser", "params": { "project_name": "my-project" } }
Gestión de trabajos
  • Obtener estado del trabajo : recupera el estado y el resultado de una operación por ID de trabajo
    { "jsonrpc": "2.0", "id": 5, "method": "mcp__browser-operator__get-job-status", "params": { "job_id": "job-12345" } }
  • Lista de trabajos : ver trabajos recientes de operación del navegador
    { "jsonrpc": "2.0", "id": 6, "method": "mcp__browser-operator__list-jobs", "params": { "limit": 10 } }
Notas de usuario
  • Agregar nota : crea y almacena notas relacionadas con las operaciones del navegador
    { "jsonrpc": "2.0", "id": 7, "method": "mcp__browser-operator__add-note", "params": { "name": "My Note", "content": "Important information about this browser session" } }

Métodos adicionales

Herramientas de depuración del navegador
  • Obtener registros de la consola : mcp__browser-tools__getConsoleLogs
  • Obtener errores de consola : mcp__browser-tools__getConsoleErrors
  • Obtener registros de red : mcp__browser-tools__getNetworkLogs
  • Obtener errores de red : mcp__browser-tools__getNetworkErrors
  • Tomar captura de pantalla : mcp__browser-tools__takeScreenshot
  • Obtener elemento seleccionado : mcp__browser-tools__getSelectedElement
  • Borrar registros : mcp__browser-tools__wipeLogs
Herramientas de auditoría
  • Ejecutar auditoría de accesibilidad : mcp__browser-tools__runAccessibilityAudit
  • Ejecutar auditoría de rendimiento : mcp__browser-tools__runPerformanceAudit
  • Ejecutar auditoría SEO : mcp__browser-tools__runSEOAudit
  • Ejecutar auditoría de NextJS : mcp__browser-tools__runNextJSAudit
  • Ejecutar auditoría de mejores prácticas : mcp__browser-tools__runBestPracticesAudit
  • Ejecutar modo depurador : mcp__browser-tools__runDebuggerMode
  • Ejecutar modo auditoría : mcp__browser-tools__runAuditMode

Patrón de flujo de trabajo asincrónico

Las operaciones del navegador son asincrónicas y utilizan un enfoque basado en trabajos:

  1. Operación de inicio : llamar a un método del navegador que devuelve un job_id
  2. Encuesta de finalización : utilice get-job-status hasta que se complete el trabajo
  3. Resultados del proceso : cuando se completa el trabajo, acceda a los resultados desde el estado del trabajo

Este enfoque evita los tiempos de espera del cliente y al mismo tiempo permite completar operaciones complejas del navegador.

Estado persistente del navegador

El operador MCP mantiene un estado persistente cuando se crean navegadores con un nombre de proyecto:

  • El estado del navegador (cookies, almacenamiento local, almacenamiento de sesión) se conserva entre sesiones
  • Varios proyectos pueden mantener estados de navegador independientes
  • Útil para mantener sesiones de inicio de sesión, carritos de compra u otros estados personalizados.

Estructura del proyecto

  • src/mcp_operator/ : Paquete principal
    • __init__.py : Inicialización del paquete
    • __main__.py : Punto de entrada para el paquete
    • server.py : implementación del servidor MCP
    • browser.py : Implementación del operador del navegador
    • cua/ : Componentes de la API de uso informático
      • agent.py : Implementación del agente
      • computer.py : Interfaz de computadora
      • utils.py : Funciones de utilidad
  • run-server : Script para ejecutar el servidor MCP
  • run-tests : Script para ejecutar pruebas unitarias y de integración
  • run-test-harness : Script para ejecutar con MCP Inspector

Desarrollo

Uso del inspector MCP

Para depurar, utilice el Inspector MCP :

# Use the included run-test-harness script ./run-test-harness # Or directly: npx @modelcontextprotocol/inspector ./run-server

Esto proporciona una interfaz web para probar su servidor MCP.

Seguridad

  • Bloqueo de dominios para sitios potencialmente dañinos
  • Validación de URL antes de la navegación
  • Aislamiento de sesiones entre diferentes instancias del navegador
  • Registro basado en archivos (sin stdout para preservar el protocolo MCP)
-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Un servidor de automatización del navegador web que permite a los asistentes de IA controlar Chrome con gestión de estado persistente, lo que habilita tareas de navegación complejas a través de operaciones de navegador asincrónicas.

  1. Características
    1. Requisitos
      1. Instalación
        1. Uso
          1. Scripts ejecutables
          2. Métodos básicos
          3. Métodos adicionales
        2. Patrón de flujo de trabajo asincrónico
          1. Estado persistente del navegador
            1. Estructura del proyecto
              1. Desarrollo
                1. Uso del inspector MCP
              2. Seguridad

                Related MCP Servers

                • -
                  security
                  F
                  license
                  -
                  quality
                  Enables AI agents to control web browsers via a standardized interface for operations like launching, interacting with, and closing browsers.
                  Last updated -
                  0
                  JavaScript
                • -
                  security
                  A
                  license
                  -
                  quality
                  A browser monitoring and interaction tool that enables AI applications to capture and analyze browser data through a Chrome extension, supporting functions like console monitoring, screenshots, DOM analysis, and website auditing.
                  Last updated -
                  1
                  JavaScript
                  MIT License
                • -
                  security
                  A
                  license
                  -
                  quality
                  AI-driven browser automation server that implements the Model Context Protocol to enable natural language control of web browsers for tasks like navigation, form filling, and visual interaction.
                  Last updated -
                  1
                  Python
                  MIT License
                  • Apple
                • -
                  security
                  -
                  license
                  -
                  quality
                  A Model Context Protocol server that enables AI assistants to control Chrome browsers through the Chrome DevTools Protocol, allowing for navigation, clicking, typing, and extracting page information.
                  Last updated -
                  3
                  TypeScript

                View all related MCP servers

                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/willer/mcp-operator'

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