Skip to main content
Glama
willer

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.

Related MCP server: Chrome MCP Server

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

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

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