Skip to main content
Glama
ChutinRop

MCP Study Agent

by ChutinRop
README.md
# MCP Study Agent Project 📚

Este proyecto implementa un agente MCP (Model Context Protocol) capaz de interactuar con documentos locales para facilitar el estudio.

## 🚀 Instalación y Setup

1. **Clonar/Abrir el proyecto en VS Code.**
2. **Crear y activar entorno virtual:**
   ```powershell
   python -m venv venv
   .\venv\Scripts\activate
   ```
3. **Instalar dependencias:**
   ```powershell
   pip install -r requirements.txt
   ```

## 🛠️ Ejecución del Servidor

Corre el servidor FastAPI usando Uvicorn:
```powershell
uvicorn mcp-server.server:app --reload
```
El servidor estará disponible en: `http://127.0.0.1:8000`

---

## 🤖 Endpoints y Tools

### 1. Listar Documentos (Tool MCP)
Muestra los archivos disponibles en la carpeta `data/`.
- **URL:** `GET /tools/list_documents`

### 2. Leer Documento (Tool MCP)
Lee el contenido de un archivo específico.
- **URL:** `GET /tools/read_document?filename=prueba.txt`

### 3. Agente de Estudio (Agentic Flow)
Invoca al agente para procesar un documento usando las tools MCP.
- **URL:** `POST /agent/study`
- **Body (JSON):**
  ```json
  {
    "filename": "arquitectura.txt",
    "mode": "summary"
  }
  ```
- **Modos disponibles:** `summary` | `flashcards`

---

## 🧠 Estructura del Agente

- **Skills:** Lógica de procesamiento de resúmenes y generación de flashcards en `skills/study_skill.py`.
- **Agente:** El "cerebro" que decide invocar la tool `read_document` en `agent/study_agent.py`.
- **Server:** Expone las herramientas y el punto de entrada para el agente.

---

## ✅ Checklist de Cumplimiento
- [x] **Tools MCP:** Funcionando y parametrizadas.
- [x] **Skill:** Pasos definidos para resumen y flashcards.
- [x] **Agente:** Invoca tools reales y entrega resultados útiles.
- [x] **README:** Guía de uso rápido.

## Prueba de funcionamiento

### Servidor corriendo

El servidor MCP se ejecuta localmente usando uvicorn.

![Servidor corriendo](capturas/server_running.png)

---

### Tools disponibles

El servidor expone herramientas MCP que pueden ser usadas por el agente.

![Tools MCP](capturas/tools_list.png)

---

### Ejecución del agente

El agente invoca la tool `read_document` y genera un resumen del documento.

![Resultado del agente](capturas/agent_result.png)