> ## Documentation Index
> Fetch the complete documentation index at: https://docs.finsync.ar/llms.txt
> Use this file to discover all available pages before exploring further.

# Asistentes de IA

> Conector MCP de FinSync para Claude, ChatGPT y Grok: consulta el libro y prepara borradores. No mueve dinero.

# Asistentes de IA

FinSync expone un servidor **MCP** remoto para que un asistente (Claude, ChatGPT o Grok) use las mismas tools que Twin, el bot in-app, con el usuario y la empresa de la autorización.

**Endpoint:** [https://api.finsync.ar/mcp](https://api.finsync.ar/mcp)

FinSync es un **libro de back-office**: una planilla estructurada para financieras. Registra operaciones y saldos. **No mueve fondos, no se conecta a bancos y no ejecuta pagos.** Un borrador no cambia el libro hasta `confirm_write`.

La documentación en inglés para revisores de directorio está en [Connectors](/docs/connectors).

## Qué hace y qué no hace

| Hace | No hace |
| - | - |
| Consultar clientes, cuentas, operaciones, cheques y documentación de FinSync | Transferir dinero, criptomonedas u otros activos |
| Preparar un **borrador** de operación o cotización de cheques | Conectarse a un banco o a un PSP |
| Confirmar o descartar ese borrador en el libro de FinSync | Ejecutar un pago, un débito bancario o una liquidación |

El token queda atado a **un usuario y una empresa**, con los mismos permisos y clientes asignados que Twin.

## Cómo habilitarlo

1. Un superadmin activa `mcp_enabled` en la empresa (hoy desde el panel de superadmin).
2. Un administrador o el usuario entra a **Asistentes de IA** en el dashboard.
3. Si la empresa no tiene el módulo, la pantalla dice que está deshabilitado.

Sin ese flag, el consentimiento OAuth y las llamadas a `/mcp` se rechazan.

## Cómo conectar

En todos los casos la URL del servidor es `https://api.finsync.ar/mcp`. El asistente abre el login de FinSync y una pantalla de consentimiento (empresa + alcances `read` / `write`).

### Claude

1. En [claude.ai/settings/connectors](https://claude.ai/settings/connectors) agregá un conector personalizado (o, cuando esté publicado, buscá FinSync en el directorio).
2. Pegá `https://api.finsync.ar/mcp`.
3. Completá OAuth 2.1 + PKCE. Claude puede usar CIMD (`https://claude.ai/oauth/mcp-oauth-client-metadata`) o DCR.

### ChatGPT

1. En ChatGPT, agregá un conector o app que apunte a `https://api.finsync.ar/mcp`.
2. ChatGPT usa OAuth 2.1 + PKCE. Preferimos CIMD (`https://chatgpt.com/oauth/client.json` o `https://chatgpt.com/oauth/{callback_id}/client.json`); DCR sigue disponible.
3. El redirect estable es `https://chatgpt.com/connector_platform_oauth_redirect`.

### Grok (conector personalizado)

1. En [grok.com/connectors](https://grok.com/connectors) → **New Connector** → **Custom**.
2. Pegá `https://api.finsync.ar/mcp` y completá la autenticación.
3. En Grok Business / Enterprise un admin del equipo primero provisiona el conector en [console.x.ai](https://console.x.ai) → **Grok Business → Connectors**.
4. El callback OAuth de Grok no está documentado por xAI. FinSync acepta DCR y registra en logs los `redirect_uri` rechazados para descubrirlo. Si hace falta, un admin puede sumar el URI exacto con `MCP_OAUTH_EXTRA_REDIRECT_URIS`.

## Cómo revocar

En el dashboard, **Asistentes de IA**:

* Cada conexión muestra quién la autorizó y el último uso.
* **Revocar** invalida de inmediato el refresh y el access token de esa conexión.
* El usuario también puede desconectar el conector desde Claude, ChatGPT o Grok.

Apagar `mcp_enabled` en la empresa corta **todas** las conexiones de esa empresa.

## Tools: lectura vs escritura

Los nombres son los mismos que Twin. Las escrituras que **solo crean un borrador** no confirman el libro. `confirm_write` es la escritura real.

### Lectura

| Tool | Para qué |
| - | - |
| `query_books` | Consultar el libro (operaciones, movimientos, cheques, clientes) |
| `search_client_balance` | Buscar clientes y saldos |
| `lookup_operation` / `lookup_cheque` | Ver una operación o un cheque |
| `list_operation_types` / `list_transaction_types` / `list_currencies` | Catálogos de la empresa |
| `list_cheque_accounts` / `list_banks` | Cuentas de cheques y bancos (si el módulo de cheques está activo) |
| `export_cc_csv` / `export_cheques_csv` | Exportar CSV |
| `calculate_cotization` / `generate_cotization_image` | Cotización de cheques (imagen de resumen, no generación de imágenes como servicio) |
| `verify_cuit` / `lookup_bank_address` | Consultas a registros públicos (CUIT / domicilio de banco) |
| `search_docs` / `read_docs` | Documentación de FinSync |
| `scan` | Leer un archivo ya subido (`file_id`) |

### Escritura (borrador)

| Tool | Para qué |
| - | - |
| `operation_{slug}` | Crea un **borrador** de la operación configurada en WhatsApp/Twin |
| `prepare_cheque_quote_pending` | Crea un **borrador** de cotización de cheques |
| `discard_operation_draft` | Descarta un borrador pendiente |

### Escritura (libro)

| Tool | Para qué |
| - | - |
| `confirm_write` | Confirma o descarta el borrador (`action=confirm` o `action=discard`). Recién acá se escribe el libro. |

Un token solo-lectura no ve ni puede llamar las tools de escritura.

## Límites

Cada `POST /mcp` autenticado entra en dos techos (ventana de 60 segundos):

* **900** pedidos por token + empleado
* **720** pedidos por empresa + empleado (bucket de mutación)

Si se excede, la API responde **429** con `Retry-After`. El OAuth público (authorize / token / register) tiene un techo por IP aparte.

Tokens: access **1 hora**, refresh **30 días**. El refresh rota.

## Datos y auditoría

* El asistente solo ve lo que ese usuario puede ver en Twin (rol + clientes asignados).
* Cada `tools/call` deja una fila en `McpToolCall`: empresa, empleado, `client_id` OAuth, nombre de la tool, si falló, y fecha. **No** guarda argumentos ni el texto de la respuesta.
* FinSync no usa la conversación del asistente (Claude / ChatGPT / Grok) más allá de lo que el cliente MCP envía en esa llamada.
* Privacidad: [https://finsync.ar/privacy](https://finsync.ar/privacy). Términos: [https://finsync.ar/terms](https://finsync.ar/terms).

Contacto: [privacy@finsync.ar](mailto:privacy@finsync.ar) (datos personales) y [legal@finsync.ar](mailto:legal@finsync.ar) (términos).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.