promptgarten 🌱

Add-ons e integraciones · MCP

Serena

26.767

Un toolkit MCP que da a tu agente herramientas de código semánticas al estilo de un IDE — búsqueda, edición y refactorización precisas a nivel de símbolo mediante servidores de lenguaje (LSP) en lugar de un grep de texto a ciegas.

Serena se conecta a tu agente como servidor MCP y expone herramientas más parecidas a un IDE que a una búsqueda de texto: encontrar símbolos (find_symbol), resolver referencias (find_referencing_symbols), reemplazar el cuerpo de un símbolo (replace_symbol_body) y más. Se apoya en servidores de lenguaje (LSP) — la misma tecnología que usa VS Code para «ir a la definición» — de modo que el agente trabaja sobre la estructura relacional del código en vez de hacer grep a ciegas. Serena es agnóstica al modelo y al cliente, funciona en modo stdio o HTTP y es de código abierto. Los harnesses agénticos tienen perfiles de contexto propios (p. ej. --context claude-code).

🔧 SETUP

  1. Instalar (con uv): `uv tool install -p 3.13 serena-agent`
  2. Registrar en Claude Code: `claude mcp add serena -- serena start-mcp-server --context claude-code --project "$(pwd)"`
  3. También posible sin instalación fija con uvx; como alternativa, inicia el modo HTTP y da la URL al cliente
  4. Los servidores de lenguaje adecuados se usan automáticamente según el lenguaje del proyecto (LSP)

¿CUÁNDO USARLO?

Navegar y refactorizar bases de código grandes

«Encuentra a todos los que llaman a X y renómbralos» se ejecuta con precisión de símbolo vía el servidor de lenguaje en lugar de grep.

Ahorrar tokens en las búsquedas de contexto

Serena lee símbolos concretos bajo demanda en lugar de cargar archivos enteros al contexto.

¿CUÁNDO MEJOR NO?

Proyectos diminutos / un solo archivo

La sobrecarga de configurar LSP y MCP apenas compensa en proyectos muy pequeños.

Mejor: Usa la búsqueda grep/glob integrada del agente.

Un lenguaje sin buen servidor de lenguaje

La fuerza de Serena depende del servidor de lenguaje de cada lenguaje — puede ser más débil con los exóticos.

Mejor: Cíñete a lenguajes bien soportados (Python, TypeScript, Go, Rust, Java …).

FUENTES