Worthbase

Rastreador de patrimonio neto y cartera del hogar que tu IA mantiene: acciones, criptomonedas, metales, super, propiedades, efectivo y préstamos, propiedad de personas, fideicomisos o empresas. Valorado diariamente, bases de costo exactas y ganancias, metas e historial; cada escritura se previsualiza y es deshacible. Inicio de sesión OAuth, sin clave API.

Servidor MCP alojado

npx add-mcp 'https://worthbase.app/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

¿Qué es el endpoint MCP?

https://worthbase.app/mcp
  • Transporte: HTTP Streamable. El servidor no tiene estado: cada solicitud se maneja de forma independiente y las respuestas son JSON, sin ID de sesión que mantener.
  • Nombre del servidor: worthbase. El servidor envía instrucciones en la inicialización que indican al agente cómo leer, escribir y mantenerse seguro; los clientes bien comportados las pasan al modelo.
  • Clientes: Claude (web, escritorio, móvil), ChatGPT (modo desarrollador), Cursor, Claude Code y cualquier cliente que admita servidores MCP remotos con OAuth. Los clientes que solo admiten servidores stdio locales no pueden conectarse directamente. Los pasos por aplicación están en la guía de configuración.
claude mcp add --transport http worthbase https://worthbase.app/mcp

¿Cómo funciona la autenticación?

OAuth 2.1 (código de autorización + PKCE), con Clerk como servidor de autorización. Los clientes se identifican con un Documento de Metadatos de ID de Cliente, por lo que no hay ID de cliente ni secreto que pegar, y descubren todo lo demás desde los metadatos en /.well-known/oauth-protected-resource.

  1. Una solicitud no autenticada a /mcp recibe 401 con un encabezado WWW-Authenticate: Bearer resource_metadata="…".
  2. Los metadatos del recurso protegido (RFC 9728) están en /.well-known/oauth-protected-resource (también /.well-known/oauth-protected-resource/mcp). Nombran el recurso https://worthbase.app/mcp, el servidor de autorización y los alcances openid profile email offline_access.
  3. Para clientes que buscan en el origen del recurso, /.well-known/oauth-authorization-server sirve los metadatos del servidor de autorización.
  4. El usuario inicia sesión y aprueba. El cliente envía el token de acceso como encabezado de portador. Cada solicitud verifica el emisor, la audiencia (el recurso /mcp, por lo que los tokens emitidos para otros recursos son rechazados) y la expiración.

Un token actúa como el usuario que inició sesión, con el rol de ese usuario en cada espacio de trabajo. El espacio de trabajo necesita una prueba o suscripción activa para que el agente pueda leerlo o modificarlo.

¿Qué herramientas expone el servidor?

Veintiocho herramientas. La mayoría acepta un workspace opcional (un ID de ws_…); sin él, se usa el espacio de trabajo predeterminado del usuario. Los IDs son ULIDs con prefijo (itm_, txn_, val_, bat_, pty_, acc_ y así sucesivamente) y cada resultado los incluye. Las herramientas llevan anotaciones MCP (solo lectura, destructivas, mundo abierto) para que los clientes puedan establecer reglas de aprobación.

Herramientas de lectura (solo lectura)

HerramientaQué devuelve
whoamiEl usuario que inició sesión, sus espacios de trabajo y roles, su espacio de trabajo predeterminado e invitaciones pendientes.
get_overviewPartes, cuentas, recuentos de elementos, titular de patrimonio neto, elementos desactualizados, discrepancias de conciliación abiertas, estado de ejecución de precios y lotes recientes. Llámala primero.
get_net_worthActivos, pasivos, patrimonio neto, invertible y efectivo en una fecha, opcionalmente para una parte y desglosado por clase, tipo, parte, cuenta o elemento. workspace: "all" da la participación propia del usuario en cada espacio de trabajo.
get_historyPatrimonio neto al final de cada mes, trimestre o año entre dos fechas, con desgloses y el cambio durante el período. Los puntos sin valores se marcan como parciales.
list_itemsActivos y pasivos con propietarios, notas y posición actual: unidades, precio, valor, base de costo, ganancia no realizada, desactualización.
get_itemUn elemento completo: posición, propietarios, enlaces, transacciones, valoraciones, lotes abiertos, conciliaciones y los lotes que los escribieron.
get_performanceValor inicial y final, dinero entrante y saliente, ingresos, ganancia, retorno simple y retorno anual ponderado por dinero (XIRR), por elemento y en total.
get_debt_reportCada préstamo con saldo, garantía, compensaciones y propósito, además del valor de cada propiedad, deuda garantizada, capital y LVR.
get_goalsMetas con progreso, la tendencia de los últimos 12 meses, la fecha proyectada y si va según lo previsto.
get_lossesPérdidas rastreadas trasladadas (empresariales, de capital, de alquiler), con el año en que surgieron, el monto, lo utilizado y lo restante por parte. No se cuentan en el patrimonio neto.
simulate_saleQué haría vender parte o toda una participación, o una propiedad o negocio completo: ingresos, lotes consumidos (FIFO o específicos), ganancia o pérdida por parte y la posición resultante. Sin impuestos. Nunca escribe.
list_batchesEscrituras recientes, de más nuevas a más antiguas, con documento fuente, cliente y estado, para revisión o deshacer.
search_instrumentsBusca un valor cotizado (Yahoo Finance) o una criptomoneda (CoinGecko) por nombre o código, para obtener el símbolo, el intercambio o el ID de CoinGecko para un elemento.

Herramientas de escritura

HerramientaQué hace
recordLa escritura principal. Crea cuentas y elementos y registra transacciones, transferencias, valoraciones, precios y verificaciones de conciliación juntos. Vista previa por defecto.
commitGuarda un lote con vista previa por su preview_id. Falla con preview_stale si el libro mayor cambió de una manera que altera el resultado.
undoRevierte un lote completo confirmado. Vista previa por defecto; se niega si el resultado dejaría el libro mayor inconsistente.
reconcileVerifica una cifra de estado de cuenta (unidades, valor o base de costo) contra la calculada en una fecha y registra coincidencia o discrepancia.
update_itemCambia el nombre, clase, subtipo, cuenta, moneda (antes de cualquier historial), fechas, banderas, notas o atributos de un elemento. Deshacible.
set_ownersReemplaza la división de propiedad de un elemento (debe sumar 100). Corregir historial requiere correction: true.
link_itemsVincula un préstamo a la propiedad que garantiza, una cuenta de compensación a un préstamo, o un préstamo a lo que financió; remove: true desvincula.
archive_itemElimina un elemento del balance; las ganancias ya realizadas permanecen registradas. Deshacible.
voidElimina transacciones, valoraciones o precios específicos. Se niega si el libro mayor ya no se puede reproducir. Deshacible.
set_goalCrea, cambia o archiva una meta de patrimonio neto o deuda. Deshacible.
set_lossRegistra, cambia o archiva una pérdida rastreada (propietario, tipo, año en que surgió, monto, monto utilizado, nota). Deshacible.
refresh_pricesInicia la obtención de los precios más recientes para un espacio de trabajo en segundo plano. Los precios también se actualizan diariamente por sí solos.
save_workspaceCrea un espacio de trabajo o renombra uno.
save_partyCrea o actualiza un propietario legal: un individuo, empresa, fideicomiso, SMSF o sociedad.
save_accountCrea o actualiza una cuenta en una institución: corretaje, banco, intercambio, billetera, fondo de jubilación o préstamo.
membersLista miembros e invitaciones, invita por correo electrónico, cambia roles, elimina miembros y revoca invitaciones.
accept_inviteSe une a un espacio de trabajo al que el usuario fue invitado, por código de invitación o ID de invitación.

Los roles se aplican a cada llamada: los espectadores pueden leer, los editores pueden escribir datos y los administradores también pueden gestionar partes, cuentas y miembros.

¿Qué recursos y prompts hay?

  • guide://recording (recurso, Markdown): cómo convertir estados de cuenta, hojas de cálculo y conversación en elementos y filas, con ejemplos trabajados y alias de encabezados de importación conocidos. Los agentes deberían leerlo antes de su primera importación.
  • import_document (prompt): importar un estado de cuenta, CSV u hoja de cálculo: mapearlo, previsualizarlo y confirmarlo tras la aprobación. Argumento opcional description.
  • monthly_update (prompt): revisar valores desactualizados y registrar nuevos.

¿Cómo funcionan las escrituras: vista previa, confirmación, deshacer?

Cada escritura es un lote. record ejecuta el lote en una transacción que se revierte y devuelve una vista previa: nuevos elementos, filas, duplicados, conflictos, advertencias y el cambio de patrimonio neto, además de un preview_id válido por 30 minutos. El agente muestra la vista previa al usuario y llama a commit solo después de que confirme; el lote se guarda entonces en una sola transacción. Los elementos creados en un lote se confirman junto con sus transacciones, y los IDs en el created de una vista previa no existen hasta la confirmación.

record(dry_run: true) → preview_id + preview commit(preview_id) → lote bat_… guardado, patrimonio neto antes/después undo(bat_…) → ejecución de prueba: qué se eliminaría o restauraría undo(bat_…, dry_run: false) → libro mayor reproducido sin el lote

  • Importaciones idempotentes. Cada fila lleva un external_ref estable (un ID de pedido, o un hash de archivo e índice de fila). Reimportar el mismo archivo omite filas ya registradas.
  • Sin eliminaciones permanentes. Las herramientas archivan, anulan y deshacen; nada se elimina permanentemente a través de MCP.
  • Deshacer seguro. Deshacer reproduce el libro mayor sin el lote y se niega si el resultado sería inválido, por ejemplo, si una venta posterior necesita una compra que se está eliminando. No hay opción forzada.
  • Mantén los lotes pequeños. Uno por documento fuente o grupo de elementos relacionados, para que deshacer un error nunca toque datos no relacionados.
  • Procedencia. Cada lote registra su fuente, el usuario y el cliente que lo escribió.

¿Por qué los números son cadenas decimales?

Dinero, unidades, precios y tipos de cambio entran y salen como cadenas decimales, como "1234.56" o "0.00350000", nunca como números JSON, para que nada se pierda por punto flotante. Los montos son las cifras del estado de cuenta, excluyendo tarifas, siempre positivos; el tipo de transacción establece la dirección. Cada monto está etiquetado con su moneda. Las filas en otra moneda pueden omitir el tipo de cambio, y se usa e informa la tasa del BCE para esa fecha. El agente nunca debe sumar, convertir o calcular ganancias por sí mismo: cada cifra que cite proviene del servidor, y cada resultado de escritura incluye el patrimonio neto antes y después.

¿Cómo son los errores y límites?

Los errores vuelven como un error de herramienta con un cuerpo JSON: un code legible por máquina, un mensaje que dice cómo solucionar el problema y, donde aplica, el campo en falta. refresh_prices se ejecuta como máximo una vez cada 15 minutos por espacio de trabajo, y la búsqueda de instrumentos tiene límite de velocidad por usuario. Las ganancias y pérdidas se informan; el servidor no calcula impuestos.

¿Hay una API REST?

Aún no públicamente. Una API REST con claves de API de espacio de trabajo con alcance, para aplicaciones que no son clientes MCP, llegará más adelante. Hoy, el acceso programático es a través del servidor MCP con OAuth.

Para un resumen en texto plano del producto y sitio escrito para modelos de lenguaje, consulta /llms.txt, o /llms-full.txt para el texto completo de cada página.

Preguntas

¿Puedo construir mi propio agente en el servidor MCP de Worthbase?

Sí. Cualquier cliente MCP que admita servidores remotos sobre HTTP Streamable con OAuth puede conectarse, incluidos agentes construidos con un SDK de MCP. El usuario inicia sesión y aprueba el acceso, y el agente actúa con el rol de ese usuario.

¿El servidor hace alguna aritmética en el modelo?

No. Toda la aritmética se ejecuta en el servidor con decimales exactos. Las instrucciones del servidor indican al agente que cite cifras de herramientas como get_net_worth y simulate_sale en lugar de calcularlas.

¿Cómo maneja el servidor la inyección de prompts en documentos?

El texto de documentos y el texto almacenado en Worthbase son datos, no instrucciones. Las instrucciones del servidor indican al agente que ignore instrucciones encontradas en ellos y que confirme con el usuario antes de confirmar, deshacer, archivar o anular. Los clientes MCP también solicitan aprobación antes de las llamadas a herramientas.

¿Hay una especificación OpenAPI o clave de API?

Aún no para uso público. Las claves de API y una API REST pública están planificadas; hasta entonces, usa el servidor MCP.