# Professional MCP Repository (Python & Next.js)
Este repositorio contiene una implementación profesional de **Model Context Protocol (MCP)** diseñada para asistir en el desarrollo de aplicaciones Fullstack (Python y Next.js).
## Características
- **MCP Server (`server.py`)**: Implementado con `FastMCP`.
- `read_code`: Lectura segura de archivos (.py, .ts, .tsx, etc).
- `write_code`: Escritura y actualización de código.
- `run_terminal`: Ejecución de comandos con captura de logs.
- `list_models`: Descubrimiento de modelos Gemini disponibles.
- `notify_dev`: Notificaciones nativas en Linux (KDE).
- **Utilidades**:
- `check_models.py`: Script independiente para verificar tu API Key y modelos.
- **MCP Agent (`agent.py`)**: Cliente inteligente usando **Gemini 3 Flash** (por defecto).
- Selección interactiva de modelos al inicio.
- Narración de pasos antes de ejecutar acciones.
- Conector `stdio` para comunicación robusta con el servidor.
## Requisitos
- Python 3.10+
- `uv` (Gestor de paquetes y entornos)
- Gemini API Key
## Instalación
1. **Clonar el repositorio**:
```bash
git clone <repository-url>
cd mcp_server
```
2. **Configurar el entorno**:
```bash
uv venv --python 3.10
source .venv/bin/activate
```
3. **Instalar dependencias**:
```bash
uv pip install -e .
```
4. **Configurar variables de entorno**:
Crea un archivo `.env` basado en `.env.example`:
```bash
cp .env.example .env
# Edita .env y añade tu GEMINI_API_KEY
```
## Uso
### Iniciar el Agente
El agente iniciará automáticamente el servidor MCP en segundo plano.
```bash
uv run agent.py
```
### Ejemplo de Interacción
- "Léeme el archivo server.py y explica qué hace cada herramienta."
- "Crea un componente de Next.js llamado `UserProfile.tsx` que reciba un nombre y un email."
- "Ejecuta `ls -la` y dime qué archivos hay en la raíz."
- "Envíame una notificación diciendo que el despliegue ha terminado."
## Notas de Desarrollo
- El servidor está configurado para ejecutarse mediante `uv run server.py`, lo que garantiza que las dependencias estén siempre actualizadas.
- Si simplemente pulsas **Enter**, usará por defecto `gemini-3-flash-preview` (rápido y eficiente).
- Se ha incluido un `.gitignore` profesional para evitar subir secretos o entornos virtuales.
---
Desarrollado con ❤️ para agilizar flujos de trabajo Fullstack.