# david-finanzas-mcp-server

Servidor MCP (Model Context Protocol) que conecta **Claude Desktop** con tu
cuenta de **Crecimiento Inteligente con David** (digital-twin-david.onrender.com),
para que puedas consultar tus finanzas directamente desde tu flujo de trabajo
en Claude — sin abrir el navegador.

No requiere ninguna API key propia. Usa el mismo modelo de acceso que el
sitio: tu correo con el mes de $129 MXN ya activo.

## Qué hace

Expone tres herramientas dentro de Claude Desktop:

- **`david_check_subscription`** — verifica si un correo tiene acceso activo.
- **`david_get_financial_summary`** — trae tu último análisis de estado de
  cuenta guardado (categorías de gasto, suscripciones detectadas, compras a
  meses sin intereses, insights).
- **`david_download_financial_plan`** — genera y descarga "Tu Plan
  Financiero" (PDF) a tu carpeta de Descargas, usando ese mismo análisis.

Para que estas herramientas tengan datos, primero necesitas haber subido tu
estado de cuenta al menos una vez en **Herramientas → Analizador de estado de
cuenta** dentro del sitio — ahí es donde se calcula y se guarda tu análisis.

## Privacidad

El servidor remoto (digital-twin-david.onrender.com) guarda **solo el
resultado numérico** de tu último análisis (categorías, montos,
suscripciones, MSI) ligado a tu correo — nunca el PDF original ni su texto.
Este servidor MCP no guarda nada por su cuenta: en cada llamada, le pregunta
al servidor remoto y te devuelve la respuesta tal cual.

## Instalación

Necesitas [Node.js 18 o superior](https://nodejs.org) instalado.

1. Descarga los 4 archivos de esta carpeta (`package.json`, `tsconfig.json`,
   `README.md` y `src/index.ts`) y colócalos en una carpeta nueva en tu
   computadora, por ejemplo `david-finanzas-mcp-server/`. El archivo
   `index.ts` debe quedar dentro de una subcarpeta `src/`.

2. Abre una terminal en esa carpeta e instala las dependencias y compila:

   ```bash
   npm install
   npm run build
   ```

   Esto crea `dist/index.js`, que es lo que Claude Desktop va a ejecutar.

3. Abre la configuración de Claude Desktop:
   - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
   - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

   Si el archivo no existe, créalo.

4. Agrega (o combina, si ya tienes otros servidores MCP configurados) esta
   entrada, reemplazando `RUTA_COMPLETA` por la ruta absoluta a esta carpeta
   en tu computadora:

   ```json
   {
     "mcpServers": {
       "david-finanzas": {
         "command": "node",
         "args": ["RUTA_COMPLETA/david-finanzas-mcp-server/dist/index.js"]
       }
     }
   }
   ```

   Ejemplo en Windows:

   ```json
   {
     "mcpServers": {
       "david-finanzas": {
         "command": "node",
         "args": ["C:\\Users\\david\\david-finanzas-mcp-server\\dist\\index.js"]
       }
     }
   }
   ```

5. Cierra Claude Desktop por completo y vuelve a abrirlo.

6. Verifica que aparezca: en Claude Desktop, ve a **Settings → Developer**
   (o el ícono de herramientas dentro de una conversación) y deberías ver
   `david-finanzas` con sus 3 herramientas listadas.

## Uso

Dentro de cualquier conversación en Claude Desktop, puedes pedir cosas como:

- "Usa david_check_subscription para ver si davidcf83@gmail.com tiene acceso activo."
- "Tráeme mi resumen financiero más reciente con david_get_financial_summary — mi correo es davidcf83@gmail.com."
- "Descarga mi Plan Financiero en PDF."

Claude llamará a las herramientas automáticamente y te mostrará (o te
explicará) el resultado.

## Configuración opcional

Por default apunta a `https://digital-twin-david.onrender.com`. Si algún día
mueves el sitio a otro dominio, puedes sobreescribirlo con una variable de
entorno en la config de Claude Desktop:

```json
{
  "mcpServers": {
    "david-finanzas": {
      "command": "node",
      "args": ["RUTA_COMPLETA/david-finanzas-mcp-server/dist/index.js"],
      "env": {
        "DAVID_API_BASE_URL": "https://tu-nuevo-dominio.com"
      }
    }
  }
}
```

## Desarrollo

```bash
npm run dev    # corre con recarga automática (tsx)
npm run build  # compila TypeScript a dist/
```
