local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Enables search and browsing of products on Amazon through browser automation, with an example project named 'amazon-shopping' for searching items like dinner plates.
Integrates with OpenAI's Computer Use API to interpret and execute natural language instructions for browser automation, supporting a wide range of actions like clicking, typing, and scrolling.
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
- Clonar este repositorio:Copy
- Instalar dependencias:Copy
- Instalar navegadores Playwright:Copy
- Establezca su clave API de OpenAI:Copy
Uso
Inicie el servidor MCP:
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)Copyrun-tests
: ejecuta todas las pruebas (con opciones solo para unidades o integración)Copyrun-test-harness
: ejecuta el servidor con MCP Inspector para pruebas interactivasCopy
Métodos básicos
Administración del navegador
- Crear navegador : inicializa una nueva instancia del navegadorCopy
- Navegar por el navegador : dirige el navegador a una URL específicaCopy
- Operar navegador : ejecutar instrucciones en lenguaje natural para la interacción con el navegadorCopy
- Cerrar navegador : finalizar una instancia del navegadorCopy
Gestión de trabajos
- Obtener estado del trabajo : recupera el estado y el resultado de una operación por ID de trabajoCopy
- Lista de trabajos : ver trabajos recientes de operación del navegadorCopy
Notas de usuario
- Agregar nota : crea y almacena notas relacionadas con las operaciones del navegadorCopy
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:
- Operación de inicio : llamar a un método del navegador que devuelve un job_id
- Encuesta de finalización : utilice get-job-status hasta que se complete el trabajo
- 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 paqueteserver.py
: implementación del servidor MCPbrowser.py
: Implementación del operador del navegadorcua/
: Componentes de la API de uso informáticoagent.py
: Implementación del agentecomputer.py
: Interfaz de computadorautils.py
: Funciones de utilidad
run-server
: Script para ejecutar el servidor MCPrun-tests
: Script para ejecutar pruebas unitarias y de integraciónrun-test-harness
: Script para ejecutar con MCP Inspector
Desarrollo
Uso del inspector MCP
Para depurar, utilice el Inspector MCP :
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)
This server cannot be installed
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.