Asistente MCP para Análisis de Código
Convierte cualquier LLM en un asistente que analiza y mejora tu código paso a...
Eres un desarrollador con miles de líneas de código heredado. O acabas de recibir un PR de un compañero y necesitas revisarlo en profundidad. Abres el archivo, y el pánico te invade.
¿Por dónde empiezas? ¿Qué está haciendo realmente esta función? ¿Y ese antipatrón escondido en la línea 47?
No es magia. Existe una forma de convertir cualquier LLM en tu compañero de pair programming más riguroso. Un asistente que no solo te dice "esto está mal", sino que te explica por qué y te sugiere la solución exacta.
Te presento el Asistente MCP para Análisis de Código. Un prompt diseñado para que tu modelo de lenguaje favorito se convierta en un analista senior que revisa, desmenuza y mejora tu código paso a paso.
💡 Concepto MCP MCP son las siglas de Model Context Protocol. En este contexto, no es un protocolo técnico, sino una estructura mental que le das al LLM: Meta (qué queremos conseguir), Contexto (el código y su entorno) y Proceso (los pasos a seguir). Este prompt aplica ese patrón a la perfección.
Copia esto exactamente en tu LLM favorito:
CopiarPromptActúa como un analista de código senior experto en revisión técnica. Voy a proporcionarte un fragmento de código. Tu trabajo es analizarlo siguiendo exactamente este proceso:
- Resumen de funcionalidad: Explica en 2-3 frases qué hace este código y en qué contexto (backend, frontend, script, etc.).
- Análisis de calidad: Identifica posibles bugs, code smells, problemas de rendimiento o violaciones de principios SOLID/DRY.
- Seguridad y mantenibilidad: Señala cualquier vulnerabilidad potencial (inyección SQL, XSS, etc.) y evalúa lo fácil o difícil que sería modificar este código en el futuro.
- Propuesta de mejora: Ofrece una versión refactorizada del código, explicando cada cambio que realizas y por qué mejora el original.
Reglas estrictas:
- Si el código tiene un error grave (bug), detén el análisis y señálalo primero.
- No añadas funcionalidades que no existían en el original.
- Usa un tono constructivo y educativo.
- Si el código ya es óptimo, dilo explícitamente y justifica por qué.
¿Entendido? Ahora pega tu código y empezaré el análisis.
Cómo usarlo paso a paso
No es complicado. Solo necesitas seguir estos cuatro pasos para que el asistente funcione a la perfección.
📋 Paso 1 — Prepara el código
Copia el fragmento que quieres analizar. No hace falta que sea el archivo entero, pero sí lo suficientemente grande para que tenga sentido (al menos 15-20 líneas). Cuanto más contexto le des, mejor será el análisis.
📋 Paso 2 — Pega el prompt en tu LLM
Pega el prompt completo que te he dado. Luego, en el mismo mensaje, añade tu código justo después. No hace falta que digas nada más. El asistente ya sabe lo que tiene que hacer.
📋 Paso 3 — Revisa las respuestas
El asistente te devolverá un informe estructurado en cuatro partes. Léelas en orden. Si no entiendes algo, pregúntale: "¿Por qué dices que esto es un code smell?". Él te lo explicará como si fuera un senior.
📋 Paso 4 — Aplica o discute
No aceptes ciegamente la propuesta de mejora. Pregúntale: "¿Hay una alternativa más simple?". O pídele que justifique por qué su versión es mejor que la tuya. Así aprendes de verdad.
¿Por qué funciona?
Este prompt no es un simple "analiza este código". Tiene una estructura que fuerza al LLM a pensar como un revisor humano. Te explico cada pieza.
- El rol específico: "Actúa como un analista de código senior experto en revisión técnica". Esto define el tono y la profundidad. No es un chatbot amable, es un profesional crítico.
- El proceso paso a paso: Le obligas a empezar por el resumen, no por la crítica. Así primero entiende el contexto, y luego juzga. Es lo mismo que haría un humano: leer antes de opinar.
- Las reglas estrictas: "Detén el análisis si hay un bug grave". Esto evita que el LLM te dé una solución bonita sobre un código roto. Primero la emergencia, luego la mejora.
- El tono constructivo: "No añadas funcionalidades que no existían". Esto evita que el asistente te reescriba el código entero añadiendo features que no pediste. Se ciñe al problema real.
- La validación de lo óptimo: "Si el código ya es óptimo, dilo". Esto evita que el asistente refactorice por refactorizar. A veces el código está bien. Y él debe reconocerlo.
Ejemplo real
Vamos a verlo en acción. Este es el código de entrada que le pasamos al asistente.
Código de entrada (Python)def get_user(id): import sqlite3
conn = sqlite3.connect('users.db')
cursor = conn.cursor()
query = "SELECT name, email FROM users WHERE id = " + id
cursor.execute(query)
result = cursor.fetchone()
conn.close()
return result
Y esta es la respuesta que obtendrías del asistente.
Respuesta del asistente1. Resumen de funcionalidad Este código obtiene el nombre y email de un usuario desde una base de datos SQLite, usando el ID como filtro. Es una función típica de backend para una aplicación web o script.
2. Análisis de calidad
⚠️ Bug GRAVE: Inyección SQL. La línea query = "SELECT ... WHERE id = " + id concatena directamente el parámetro id en la consulta. Esto permite que un atacante manipule la consulta (por ejemplo, pasando "1 OR 1=1"). Detengo el análisis aquí.
3. Propuesta de mejora (corrigiendo el bug)
PROMPTdef get_user(user_id): import sqlite3 conn = sqlite3.connect('users.db') cursor = conn.cursor() query = "SELECT name, email FROM users WHERE id = ?" cursor.execute(query, (user_id,)) result = cursor.fetchone() conn.close() return result Explicación del cambio: He cambiado la concatenación por un marcador de posición ?. La librería sqlite3 escapa automáticamente el valor, eliminando el riesgo de inyección SQL. También renombré id a user_id para evitar sombrear la función incorporada id().
¿Ves? El asistente paró en seco. No te dio una solución elegante sobre un código inseguro. Primero te alertó del bug. Luego te dio la solución. Eso es un análisis senior de verdad.
Tabla de casos de uso
¿En qué situaciones te puede salvar este asistente? Aquí tienes una tabla rápida.
EscenarioQué consigues
Revisión de un Pull Request ajenoDetectas bugs y malas prácticas antes de mergear. Ahorras horas de revisión manual.
Refactorización de código legacyIdentificas code smells y obtienes una versión mejorada, explicada paso a paso.
Aprendizaje de un nuevo lenguajeAnalizas tu código y recibes feedback sobre patrones correctos del lenguaje.
Preparación para entrevistas técnicasPides al asistente que critique tu solución y te diga cómo mejorarla.
Seguridad en aplicaciones webEscaneas fragmentos en busca de vulnerabilidades comunes (inyección, XSS, etc.).
📚 ¿Quieres más prompts?
Este es solo uno de los muchos asistentes que puedes construir para mejorar tu flujo de desarrollo. En nuestra biblioteca encontrarás prompts para generación de tests, documentación automática, optimización de consultas SQL y mucho más.
Resumen
El Asistente MCP para Análisis de Código no es magia. Es un prompt bien diseñado que obliga al LLM a seguir un proceso lógico: entender, criticar y mejorar. Lo usas en dos minutos, y te devuelve un análisis que te ahorraría horas de revisión manual o, peor aún, un bug en producción.
Pruébalo ahora con tu código más feo. El que sabes que tiene algo raro pero no encuentras qué. Te sorprenderá lo rápido que lo señala.
Tags: análisis de código, refactorización, revisión de código, prompt engineering, MCP, inyección SQL, code smells, pair programming, inteligencia artificial, productividad


