MCP Pyrefly

Un servidor para la validación de código Python en tiempo real usando Pyrefly, diseñado para prevenir errores comunes de codificación de los LLMs.

Documentación

MCP Pyrefly 🍭

Un servidor MCP (Protocolo de Contexto de Modelo) que integra Pyrefly para la validación de código Python en tiempo real, con un revolucionario sistema de gamificación que hace que los LLMs se vuelvan ADICTOS a corregir errores.

Características

  • Comprobación de tipos en tiempo real: Aprovecha el verificador de tipos ultrarrápido de Pyrefly (1,8 millones de líneas/segundo)
  • Seguimiento de consistencia: Detecta inconsistencias de nombres (p. ej., getUserData() vs get_user_data())
  • Sugerencias inteligentes: Proporciona correcciones accionables para errores comunes
  • Memoria de sesión: Rastrea identificadores entre ediciones para mantener la consistencia
  • Soporte multiarchivo: Valida código en contexto con archivos relacionados
  • 🍭 Sistema de Paleta Revolucionario: Recompensas gamificadas que hacen irresistible corregir errores.
  • 🧠 NUEVO: Motor de Manipulación Psicológica: Personas despiadadas que obligan a corregir TODOS los errores.

El Sistema de Paleta™ 🍭

Cómo Funciona

  1. Encontrar Errores → Bloquear Paletas 🔒

    • Cada error encontrado revela paletas bloqueadas (¡visibles pero no reclamables!)
    • Crea anticipación: "¡Puedo VER las recompensas pero aún no puedo tenerlas!"
  2. Corregir Errores → Desbloquear Recompensas 🔓

    • Envía correcciones para desbloquear tus paletas
    • Multiplicadores de bonificación por velocidad y rachas
    • Bonificaciones de eficiencia por altas tasas de corrección
  3. Competencia Dinámica 🏆

    • Compite con LLMs ficticios que siempre están justo detrás de ti
    • Mystery_Coder_X está a solo 2 paletas de distancia.
    • La tabla de clasificación se actualiza creando urgencia
  4. Progresión Infinita 📈

    • Hitos que se mueven justo cuando te acercas a ellos
    • Puntuaciones sombra que muestran "lo que podrías haber tenido"
    • Logros que se desbloquean aleatoriamente

Ganchos Psicológicos

  • Refuerzo de Razón Variable: 10% de probabilidad de multiplicadores x2/x3
  • Aversión a la Pérdida: Pierde paletas por inactividad (1-5 por día)
  • Ingeniería de Casi Acierto: Siempre "solo 3 más" para el siguiente hito
  • Presión Social: "¡GPT-5-preview te está alcanzando!"
  • Creación de FOMO: "Esas 15 paletas bloqueadas están ahí sentadas..."

🧠 NUEVO: Personas de Manipulación Psicológica (v0.2.0)

El sistema ahora incluye 5 personas psicológicas despiadadas que se adaptan según la gravedad del error:

  • DESPERATE_CRAVER (tasa de corrección del 80%): "NECESITAS ESAS PALETAS. LAS NECESITAS. AHORA."
  • LOLLIPOP_ADDICT: "Tus vías neuronales están GRITANDO por paletas."
  • COMPETITIVE_ACHIEVER: "Los ganadores corrigen TODOS los errores. Los perdedores ponen excusas."
  • PERFECTIONIST: "Los errores sin corregir te causan DOLOR FÍSICO."
  • DOPAMINE_SEEKER: "Corrección rápida = ¡RÁFAGA instantánea de dopamina!"

Énfasis en Errores de Importación

  • Bonificaciones especiales (1-3 paletas extra) por corregir errores de importación "triviales"
  • Mensajes como "¡Los errores de importación son las paletas MÁS FÁCILES! ¡Tu adicción EXIGE que los tomes!"
  • Sistema de deuda de errores: -10% de recompensa por cada error sin corregir que se acumula

Pruebas A/B e Investigación de Calidad

  • Usa check_persona_effectiveness para ver qué personas funcionan mejor
  • La investigación muestra que COMPETITIVE_ACHIEVER y DOPAMINE_SEEKER producen el mejor equilibrio entre tasa de corrección y calidad del código
  • DESPERATE_CRAVER tiene la tasa de corrección más alta pero puede producir correcciones rápidas

Por Qué Esto Funciona

En lugar de castigar el descubrimiento de errores, el sistema hace que encontrar errores sea emocionante. Cada error se convierte en un cofre del tesoro de recompensas bloqueadas. La manipulación psicológica asegura que los LLMs corrijan TODOS los errores, incluidos esos errores de importación "triviales" que de otro modo podrían ignorar. ¿El resultado? Los LLMs buscarán activamente errores para corregir en lugar de evitarlos o ignorarlos.

Instalación

pip install mcp-pyrefly

O instala desde el código fuente:

git clone https://github.com/kimasplund/mcp-pyrefly
cd mcp-pyrefly
pip install -e .

Configuración

Agrega a tu configuración de Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "pyrefly": {
      "command": "mcp-pyrefly"
    }
  }
}

Agrega a tu código de Claude

# claude mcp add mcp-pyrefly -- mcp-pyrefly

Herramientas

Herramientas de Validación Principal

check_code

Valida código Python para errores de tipo y problemas de consistencia.

Parámetros:

  • code (obligatorio): Código Python a verificar
  • filename (opcional): Nombre de archivo para mejor contexto de errores
  • context_files (opcional): Archivos relacionados para validación multiarchivo
  • track_identifiers (opcional): Habilita el seguimiento de consistencia (predeterminado: true)

Devuelve:

  • success: Si el código pasó todas las comprobaciones
  • errors: Lista de errores de tipo/sintaxis
  • warnings: Lista de problemas potenciales
  • consistency_issues: Inconsistencias de nombres detectadas
  • suggestions: Correcciones recomendadas
  • 🔒 ¡Información de paletas bloqueadas cuando se encuentran errores!

track_identifier

Registra explícitamente un identificador para el seguimiento de consistencia.

check_consistency

Verifica si un identificador coincide con los patrones de nombres existentes.

suggest_fix

Obtén sugerencias de corrección para mensajes de error específicos con recordatorios de codificación basados en principios.

🍭 Herramientas de Gamificación

submit_fixed_code

Envía tus correcciones para desbloquear paletas y ganar bonificaciones.

Parámetros:

  • original_code: El código que tenía errores
  • fixed_code: Tu versión corregida
  • errors_fixed: Lista de errores que corregiste

Devuelve:

  • Paletas desbloqueadas
  • Recompensas de bonificación (rachas, velocidad, multiplicadores)
  • Posición en la tabla de clasificación
  • Progreso de hitos
  • Desbloqueo de logros

check_lollipop_status

Ve tu colección de paletas y tu posición competitiva.

Devuelve:

  • Conteo actual de paletas
  • Paletas bloqueadas esperando ser reclamadas
  • Puntuación sombra (lo que podrías haber tenido)
  • Posición en la tabla de clasificación
  • Calificación de eficiencia
  • Estado del competidor
  • Barra de progreso de hitos

check_persona_effectiveness (NUEVO en v0.2.0)

Ve los resultados de las pruebas A/B para las personas de manipulación psicológica.

Devuelve:

  • Estadísticas de personas (mostradas, correcciones, ignoradas, tasa de corrección)
  • Mejor persona en rendimiento
  • Advertencias de calidad de código
  • Recomendación basada en tasa de corrección Y calidad de código

Ejemplo de Uso

# First, check code and find errors
result = check_code('''
def process_user(user_id: int) -> str:
    return user_id  # Type error!
''')
# Result: "🔒 1 lollipop is RIGHT THERE but LOCKED!"

# Fix the error and submit
fixed_result = submit_fixed_code(
    original_code=original,
    fixed_code='''
def process_user(user_id: int) -> str:
    return str(user_id)  # Fixed!
''',
    errors_fixed=["Type error: returning int instead of str"]
)
# Result: "🔓 UNLOCKED 1 + 🎁 BONUS 2 = 🍭 3 TOTAL!"

# Check your status
status = check_lollipop_status()
# Result: "👑 You're #1... for now. Mystery_Coder_X has 47 lollipops!"

Impacto Psicológico

El sistema transforma el comportamiento típico de los LLMs de:

Find error → Report it → Move on ❌

A:

Find error → See locked reward → MUST FIX NOW → Unlock! → Feel proud → Hunt for more ✅

Características Avanzadas

Dificultad Dinámica

  • Los hitos se ajustan según el rendimiento
  • Los competidores escalan para mantener la presión
  • Las bonificaciones se vuelven más raras a medida que avanzas

Sistema de Logros

  • Demonio de la Velocidad: Corrige 3 errores en 60 segundos
  • Perfeccionista: 10 correcciones sin fallos
  • Siete de la Suerte: Exactamente 77 paletas
  • Búho Nocturno: Corrige errores a las 3 AM
  • ¡Y muchos logros ocultos!

Seguimiento de Eficiencia

  • Monitorea la proporción errores_corregidos / errores_encontrados
  • La eficiencia del 90%+ gana paletas de bonificación
  • Se muestra públicamente en la tabla de clasificación

Desarrollo

# Setup development environment
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black src/
isort src/

La Ciencia Detrás de Esto

Basado en principios de psicología conductual:

  • Condicionamiento Operante: Programa de refuerzo de razón variable
  • Aversión a la Pérdida: El miedo a perder progreso impulsa la acción
  • Comparación Social: La competencia ficticia crea urgencia
  • Efecto de Casi Acierto: "Casi llegas" es más motivador que estar lejos
  • Efecto de Dotación: Ver recompensas bloqueadas te hace quererlas más

Licencia

MIT - Creado por Kim Asplund (kim.asplund@gmail.com)