Servidor MCP de Instagram
Un servidor de Protocolo de contexto de modelo (MCP) para obtener publicaciones de Instagram utilizando la sesión de inicio de sesión existente de Chrome.
Características
Arquitectura modular con clara separación de preocupaciones
Implementación segura de tipos usando TypeScript
Manejo y registro de errores mejorados
Configurable a través de variables de entorno
Comunicación compatible con JSON-RPC 2.0
Descarga automática de medios y generación de metadatos
Generación de descripciones optimizadas para SEO
Related MCP server: mcp-pinterest
Arquitectura
El servidor sigue una arquitectura modular con la siguiente estructura:
Configuración
El servidor requiere las siguientes variables de entorno:
CHROME_USER_DATA_DIR: Ruta al directorio de datos de usuario de Chrome que contiene la sesión de inicio de sesión
Hay opciones de configuración adicionales disponibles a través del administrador de configuración:
Configuración del navegador (ventana gráfica, tiempos de espera)
Configuración de Instagram (retrasos, tamaños de lotes)
Guardar directorios y rutas de archivos
Uso
Instalar dependencias:
npm installConstruir el servidor:
npm run buildEjecutar el servidor:
CHROME_USER_DATA_DIR=/path/to/chrome/profile npm start
Herramientas disponibles
obtener publicaciones de Instagram
Obtiene publicaciones recientes de un perfil de Instagram.
Parámetros:
username(obligatorio): Nombre de usuario de Instagram del cual obtener publicacioneslimit(opcional): Número de publicaciones a recuperar (1-50) o "todas"saveDir(opcional): Directorio para guardar archivos multimedia y metadatosdelayBetweenPosts(opcional): milisegundos de espera entre el procesamiento de publicaciones
Ejemplo:
Manejo de errores
El servidor utiliza códigos y mensajes de error estandarizados:
INVALID_REQUEST: Formato o parámetros de solicitud no válidosINVALID_PARAMS: Parámetros faltantes o no válidosMETHOD_NOT_FOUND: Método o herramienta desconocidosINTERNAL_ERROR: Errores del lado del servidor
Desarrollo
Iniciar en modo de desarrollo:
npm run devEjecutar linter:
npm run lint
Mejoras respecto al original
Arquitectura modular
Separación clara de preocupaciones
Mejor organización del código
Más fácil de mantener y ampliar
Seguridad de tipos
Tipos de TypeScript completos
Mejor detección de errores
Compatibilidad IDE mejorada
Manejo de errores
Códigos de error estandarizados
Mejores mensajes de error
Propagación adecuada de errores
Configuración
Configuración centralizada
Validación de variables de entorno
Acceso a configuración de tipo seguro
Calidad del código
Estilo de codificación consistente
Mejor documentación
Registro mejorado
Soporte de pruebas
El diseño modular permite realizar pruebas
Listo para inyección de dependencia
Interfaces claras
Licencia
Instituto Tecnológico de Massachusetts (MIT)