RTIdeas MCP API Server
README.md
# RTIdeas MCP API Server
Servidor API REST para RTIdeas con soporte MongoDB. Convierte tu MCP local en un servidor remoto accesible vía HTTP.
## 🚀 Inicio Rápido
### 1. Instalar Dependencias
```bash
pip install -r requirements.txt
```
### 2. Configurar Variables de Entorno
```bash
cp env.example .env
# Editar .env con tu MONGODB_URI
```
### 3. Iniciar Servidor
```bash
# Desarrollo (con auto-reload)
python dev_server.py
# Producción
python server.py
```
## 📁 Archivos Principales
- **`server.py`** - Archivo principal del servidor (para producción)
- **`dev_server.py`** - Servidor de desarrollo (con auto-reload)
- **`rtideas_api_server.py`** - Lógica principal del servidor API
- **`config.py`** - Configuración del servidor
- **`mongodb_connector.py`** - Conector a MongoDB
- **`requirements.txt`** - Dependencias Python
- **`env.example`** - Variables de entorno de ejemplo
## 🌐 URLs del Servidor
- **API**: http://localhost:8000
- **Documentación**: http://localhost:8000/docs
- **Health Check**: http://localhost:8000/health
## 📡 Endpoints Disponibles
### Herramientas MCP (POST)
```
POST /tools/list_sessions
POST /tools/get_session
POST /tools/list_ideas
POST /tools/search_ideas
POST /tools/get_idea_connections
POST /tools/get_idea_clusters
POST /tools/get_session_stats
POST /tools/analyze_session
POST /tools/hello_rtideas
```
### Recursos MCP (GET)
```
GET /resources/sessions
GET /resources/ideas/{session_id}
GET /resources/connections/{session_id}
GET /resources/clusters/{session_id}
GET /resources/stats/{session_id}
```
## 🚀 Despliegue en Servidor
### Opción 1: Docker (Recomendado)
```bash
# Crear docker-compose.yml
docker-compose up -d
```
### Opción 2: VPS/Cloud
```bash
# Instalar dependencias
pip install -r requirements.txt
# Configurar variables de entorno
cp env.example .env
nano .env
# Iniciar servidor
python server.py
```
### Opción 3: Con Gunicorn (Producción)
```bash
gunicorn rtideas_api_server:app -w 4 -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000
```
## 🔧 Variables de Entorno
| Variable | Descripción | Valor por Defecto |
|----------|-------------|-------------------|
| `MONGODB_URI` | URI de conexión MongoDB | Requerido |
| `MONGODB_DATABASE` | Nombre de la base de datos | `rtideas` |
| `API_HOST` | Host del servidor | `0.0.0.0` |
| `API_PORT` | Puerto del servidor | `8000` |
| `API_RELOAD` | Auto-reload en desarrollo | `false` |
| `CORS_ORIGINS` | Orígenes permitidos | `*` |
## 📊 Ejemplo de Uso
```bash
# Health check
curl http://localhost:8000/health
# Listar herramientas
curl http://localhost:8000/tools
# Usar herramienta
curl -X POST "http://localhost:8000/tools/hello_rtideas" \
-H "Content-Type: application/json" \
-d '{"name": "Usuario"}'
```
## 🔒 Seguridad
- Configurar `CORS_ORIGINS` en producción
- Usar HTTPS en producción
- Agregar autenticación si es necesario
## 📝 Logs y Monitoreo
```bash
# Ver logs del servidor
tail -f server.log
# Health check
curl http://localhost:8000/health
```
## 🆘 Troubleshooting
1. **Puerto en uso**: Cambiar `API_PORT` en `.env`
2. **MongoDB no conecta**: Verificar `MONGODB_URI`
3. **CORS errors**: Configurar `CORS_ORIGINS`
Para más detalles, ver `DEPLOYMENT.md`.