Este proyecto implementa un servidor MCP (Model Context Protocol) utilizando Python y fastmcp. Proporciona un conjunto de herramientas potentes para que asistentes de IA (como Claude o GitHub Copilot) puedan interactuar con tu sistema de archivos local, analizar código y gestionar fragmentos reutilizables.
- Análisis de Código: Entiende la estructura de tus archivos Python y JavaScript.
- Gestión de Archivos: Lista directorios y busca contenido en archivos.
- Snippets: Guarda y recupera fragmentos de código útiles.
- Verificación: Comprueba la sintaxis de tus scripts antes de ejecutarlos.
El servidor expone las siguientes herramientas para el asistente:
analyze_file(path): Analiza un archivo para proporcionar estadísticas y estructura.- Lista clases, métodos, funciones, argumentos, docstrings, identifica clases y funciones.
list_directory(path): Lista los archivos y directorios en una ruta específica, mostrando si es archivo/directorio y su tamaño.search_files(path, query): Busca un patrón de texto en todos los archivos dentro de un directorio (recursivo).
save_snippet(name, code): Guarda un fragmento de código con un nombre identificador.get_snippet(name): Recupera un fragmento de código guardado por su nombre.list_snippets(): Muestra una lista de todos los nombres de snippets guardados.
check_syntax(path): Verifica la sintaxis de archivos.- Python: Usa
ast.parse. - JavaScript: Usa
node --check.
- Python: Usa
echo_tool(message): Herramienta básica para verificar que la conexión con el servidor funciona correctamente.
-
Requisitos Previos:
- Python 3.10 o superior.
- Node.js (opcional, solo para verificación de sintaxis JS).
-
Configuración del Entorno: Se recomienda usar un entorno virtual:
python -m venv venv source venv/bin/activate # En Linux/Mac # venv\Scripts\activate # En Windows
-
Instalación de Dependencias:
pip install "mcp[cli]"
Agrega lo siguiente a tu archivo settings.json de VS Code:
"github.copilot.chat.mcpServers": {
"code-tools": {
"command": "/ruta/absoluta/a/tu/venv/bin/python",
"args": [
"/ruta/absoluta/a/tu/proyecto/server.py"
]
}
}Nota: Asegúrate de reemplazar
/ruta/absoluta/a/tu/...con las rutas reales en tu sistema.
El proyecto incluye un script client.py para probar el servidor localmente sin necesidad de configurar un cliente MCP completo.
/path/to/venv/bin/python client.pyUna vez configurado, puedes pedirle cosas como:
- "Analiza el archivo
server.pyy dime qué herramientas hay." - "Busca 'TODO' en la carpeta
src." - "Guarda este código como el snippet 'conectar_db'."
- "Verifica si
script.pytiene errores de sintaxis."