# Stack MCP recomendado — PC EQUIPITELLO (siempre encendido)

Objetivo: un solo conjunto de servidores MCP en **Cursor Desktop** usable por todos los proyectos (htdocs, indicadorFenix, bridge, etc.), complementado por Ollama en Docker.

---

## Por qué Cursor global y no solo Docker

| Enfoque | Pros | Contras |
|---------|------|---------|
| MCP en Cursor (`.cursor/mcp.json`) | Integración nativa, baja latencia, funciona con Agent/Composer | Config por máquina |
| MCP solo en contenedor | Aislado | Más fricción, red, no sustituye Serena en IDE |

**Recomendación:** MCP principal en Cursor; Docker para Ollama y servicios pesados (DB, observabilidad).

---

## Servidores prioritarios

### 1. Serena (ya en uso)

```json
{
  "mcpServers": {
    "serena": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/oraios/serena", "serena", "start-mcp-server", "--context", "ide-assistant"],
      "env": {
        "SERENA_PROJECT_ROOT": "C:\\xampp\\htdocs"
      }
    }
  }
}
```

Ajusta `SERENA_PROJECT_ROOT` o usa activación por proyecto vía `.vscode/mcp.json` donde aplique.

### 2. Filesystem (Anthropic reference / variantes community)

- Lectura/escritura en roots permitidos (`htdocs`, `cursor-mobile-bridge`).
- Útil cuando el agente necesita batch file ops fuera del sandbox por defecto.

### 3. Docker MCP

- `docker ps`, logs, inspect — identificar qué contenedor usa puerto 9090, 16686, etc.
- Repos: buscar `mcp-server-docker` en GitHub (severas implementaciones open source).

### 4. Ollama MCP

- Expone modelos locales a Cursor sin API cloud.
- URL base: `http://127.0.0.1:11434`
- Alternativa ya integrada en bridge: `POST /api/system/ai/explain`

### 5. Git local (opcional — sin GitHub)

- MCP git para status/diff/log **local** — coherente con tu flujo sin remoto.

### 6. Fetch / Web (opcional)

- Documentación PHP, Tailscale, Docker — búsqueda puntual.

---

## Servidores a evitar o usar con cuidado

- MCP con **shell arbitrario sin allowlist** en PC expuesto (AnyDesk/Tailscale).
- Duplicar Serena en Docker **y** Cursor — elige uno principal.
- MCP que requieran API keys en repos — usar `.env` / env en mcp.json.

---

## Ollama — modelos sugeridos

```bash
docker exec -it ollama ollama pull llama3.2
docker exec -it ollama ollama pull qwen2.5:7b
```

| Modelo | Uso |
|--------|-----|
| llama3.2 | Explicaciones rápidas procesos/puertos |
| qwen2.5:7b | Mejor razonamiento técnico ES/EN |
| nomic-embed-text | Embeddings si añades RAG local |

---

## Integración con Cursor Mobile Bridge

El bridge ya puede:

- Resolver Serena por proyecto (`lib/mcp-config.js`)
- Pasar `mcpServers` al agente SDK cuando marcas Serena en PWA
- Explicar procesos vía Ollama (`lib/ollama-explain.js`)

Flujo móvil ideal:

1. System Manager → Puertos → ¿Qué es?
2. Chat bridge con Serena ON para cambios de código
3. Informe → pegar en Cursor desktop para tareas largas

---

## Instalación rápida (checklist)

- [ ] Copiar plantilla MCP a `%USERPROFILE%\.cursor\mcp.json`
- [ ] Reiniciar Cursor Desktop
- [ ] Verificar Serena en Settings → MCP
- [ ] Añadir docker MCP si usas muchos contenedores
- [ ] Variables `OLLAMA_URL` / `OLLAMA_MODEL` en bridge `.env`
- [ ] Probar `GET /api/system/ai/ollama` con bridge corriendo

---

## Referencias open source (buscar en GitHub)

- `oraios/serena` — edición semántica
- `modelcontextprotocol/servers` — filesystem, fetch, memory
- `ollama/ollama` — API compatible OpenAI en 11434
- Comunidad: `mcp-server-docker`, `cursor-mcp-installer` (scripts Windows)

Prioriza servidores con mantenimiento reciente y permisos explícitos por root.
