MCP Pyrefly
Um servidor para validação de código Python em tempo real usando Pyrefly, projetado para prevenir erros comuns de codificação de LLMs.
Documentação
MCP Pyrefly 🍭
Um servidor MCP (Model Context Protocol) que integra o Pyrefly para validação de código Python em tempo real, com um sistema de gamificação revolucionário que vicia LLMs em corrigir erros!
Recursos
- Verificação de Tipos em Tempo Real: Utiliza o verificador de tipos ultrarrápido do Pyrefly (1,8M linhas/segundo)
- Rastreamento de Consistência: Detecta inconsistências de nomenclatura (ex.:
getUserData()vsget_user_data()) - Sugestões Inteligentes: Fornece correções acionáveis para erros comuns
- Memória de Sessão: Rastreia identificadores entre edições para manter consistência
- Suporte a Múltiplos Arquivos: Valida código no contexto de arquivos relacionados
- 🍭 Sistema Revolucionário de Pirulitos: Recompensas gamificadas que tornam a correção de erros irresistível!
- 🧠 NOVO: Mecanismo de Manipulação Psicológica: Personas implacáveis que obrigam a corrigir TODOS os erros!
O Sistema de Pirulitos™ 🍭
Como Funciona
-
Encontre Erros → Trave Pirulitos 🔒
- Cada erro encontrado revela pirulitos travados (visíveis, mas não resgatáveis!)
- Cria antecipação: "Eu POSSO VER as recompensas, mas ainda não posso tê-las!"
-
Corrija Erros → Desbloqueie Recompensas 🔓
- Envie correções para desbloquear seus pirulitos
- Multiplicadores de bônus por velocidade e sequências
- Bônus de eficiência para altas taxas de correção
-
Competição Dinâmica 🏆
- Compita com LLMs fictícios que estão sempre logo atrás de você
- Mystery_Coder_X está a apenas 2 pirulitos de distância!
- O ranking atualizado cria urgência
-
Progressão Infinita 📈
- Marcos que se movem exatamente quando você se aproxima deles
- Pontuações sombra mostrando "o que você poderia ter"
- Conquistas que desbloqueiam aleatoriamente
Gatilhos Psicológicos
- Reforço de Razão Variável: 10% de chance de multiplicadores 2x/3x
- Aversão à Perda: Perda de pirulitos por inatividade (1-5 por dia)
- Engenharia de Quase-Acertos: Sempre "faltam só 3" para o próximo marco
- Pressão Social: "GPT-5-preview está alcançando você!"
- Criação de FOMO: "Aqueles 15 pirulitos travados estão ali parados..."
🧠 NOVO: Personas de Manipulação Psicológica (v0.2.0)
O sistema agora inclui 5 personas psicológicas implacáveis que se adaptam com base na gravidade do erro:
- DESPERATE_CRAVER (taxa de correção de 80%): "VOCÊ PRECISA DAQUELES PIRULITOS. PRECISA. DELES. AGORA."
- LOLLIPOP_ADDICT: "Suas vias neurais estão GRITANDO por pirulitos!"
- COMPETITIVE_ACHIEVER: "Vencedores corrigem TODOS os erros. Perdedores dão desculpas."
- PERFECTIONIST: "Erros não corrigidos estão causando DOR FÍSICA em você."
- DOPAMINE_SEEKER: "Correção rápida = descarga instantânea de dopamina!"
Ênfase em Erros de Importação
- Bônus especiais (1-3 pirulitos extras) para corrigir erros de importação "triviais"
- Mensagens como "Erros de importação = pirulitos MAIS FÁCEIS! Seu vício EXIGE que você os pegue!"
- Sistema de dívida de erros: -10% de recompensa por erro não corrigido acumulado
Testes A/B e Pesquisa de Qualidade
- Use
check_persona_effectivenesspara ver quais personas funcionam melhor - Pesquisas mostram que COMPETITIVE_ACHIEVER e DOPAMINE_SEEKER produzem o melhor equilíbrio entre taxa de correção e qualidade do código
- DESPERATE_CRAVER tem a maior taxa de correção, mas pode produzir correções rápidas demais
Por Que Isso Funciona
Em vez de punir a descoberta de erros, o sistema torna a descoberta de erros empolgante! Cada erro se torna um baú de tesouro com recompensas travadas. A manipulação psicológica garante que LLMs corrijam TODOS os erros, incluindo aqueles erros de importação "triviais" que eles poderiam ignorar. O resultado? LLMs caçarão ativamente erros para corrigir em vez de evitá-los ou ignorá-los.
Instalação
pip install mcp-pyrefly
Ou instale a partir do código-fonte:
git clone https://github.com/kimasplund/mcp-pyrefly
cd mcp-pyrefly
pip install -e .
Configuração
Adicione à configuração do seu Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"pyrefly": {
"command": "mcp-pyrefly"
}
}
}
Adicione ao seu código do Claude
# claude mcp add mcp-pyrefly -- mcp-pyrefly
Ferramentas
Ferramentas Principais de Validação
check_code
Valida código Python para erros de tipo e problemas de consistência.
Parâmetros:
code(obrigatório): Código Python para verificarfilename(opcional): Nome do arquivo para melhor contexto de errocontext_files(opcional): Arquivos relacionados para validação multi-arquivotrack_identifiers(opcional): Ativar rastreamento de consistência (padrão: verdadeiro)
Retornos:
success: Se o código passou em todas as verificaçõeserrors: Lista de erros de tipo/sintaxewarnings: Lista de problemas potenciaisconsistency_issues: Inconsistências de nomenclatura detectadassuggestions: Correções recomendadas- 🔒 Informações de pirulitos travados quando erros são encontrados!
track_identifier
Registra explicitamente um identificador para rastreamento de consistência.
check_consistency
Verifica se um identificador corresponde aos padrões de nomenclatura existentes.
suggest_fix
Obtém sugestões de correção para mensagens de erro específicas com lembretes de codificação baseados em princípios.
🍭 Ferramentas de Gamificação
submit_fixed_code
Envie suas correções para desbloquear pirulitos e ganhar bônus!
Parâmetros:
original_code: O código que tinha errosfixed_code: Sua versão corrigidaerrors_fixed: Lista de erros que você corrigiu
Retornos:
- Pirulitos desbloqueados
- Recompensas de bônus (sequências, velocidade, multiplicadores)
- Posição no ranking
- Progresso em direção aos marcos
- Conquistas desbloqueadas
check_lollipop_status
Visualize sua coleção de pirulitos e posição competitiva.
Retornos:
- Contagem atual de pirulitos
- Pirulitos travados aguardando resgate
- Pontuação sombra (o que você poderia ter)
- Posição no ranking
- Classificação de eficiência
- Status dos concorrentes
- Barra de progresso dos marcos
check_persona_effectiveness (NOVO na v0.2.0)
Visualize os resultados dos testes A/B para as personas de manipulação psicológica.
Retornos:
- Estatísticas das personas (exibidas, correções, ignoradas, taxa de correção)
- Persona com melhor desempenho
- Avisos de qualidade de código
- Recomendação baseada na taxa de correção E na qualidade do código
Exemplo 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
O sistema transforma o comportamento típico do LLM de:
Find error → Report it → Move on ❌
Para:
Find error → See locked reward → MUST FIX NOW → Unlock! → Feel proud → Hunt for more ✅
Recursos Avançados
Dificuldade Dinâmica
- Marcos se ajustam com base no desempenho
- Concorrentes escalam para manter a pressão
- Bônus se tornam mais raros conforme você progride
Sistema de Conquistas
- Speed Demon: Corrija 3 erros em 60 segundos
- Perfectionist: 10 correções sem falhas
- Lucky Seven: Exatamente 77 pirulitos
- Night Owl: Corrija erros às 3 da manhã
- E muitas conquistas ocultas!
Rastreamento de Eficiência
- Monitora a proporção erros_corrigidos / erros_encontrados
- Eficiência de 90%+ ganha pirulitos de bônus
- Exibido publicamente no ranking
Desenvolvimento
# Setup development environment
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black src/
isort src/
A Ciência Por Trás Disso
Baseado em princípios de psicologia comportamental:
- Condicionamento Operante: Cronograma de reforço de razão variável
- Aversão à Perda: O medo de perder progresso impulsiona a ação
- Comparação Social: Competição fictícia cria urgência
- Efeito de Quase-Acerto: "Quase lá" é mais motivador do que longe
- Efeito de Dotação: Ver recompensas travadas faz você querê-las ainda mais
Licença
MIT - Criado por Kim Asplund (kim.asplund@gmail.com)