fin-app-mcp 2.3.1 → 2.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.mjs +55 -10
- package/package.json +1 -1
package/index.mjs
CHANGED
|
@@ -564,15 +564,16 @@ REGRAS DE NEGÓCIO:
|
|
|
564
564
|
},
|
|
565
565
|
{
|
|
566
566
|
name: "fin_deletar_transacao",
|
|
567
|
-
description: `Deleta
|
|
567
|
+
description: `Deleta apenas a transação especificada pelo ID.
|
|
568
568
|
|
|
569
|
-
QUANDO USAR: remover uma transação lançada por engano ou duplicada.
|
|
569
|
+
QUANDO USAR: remover uma transação lançada por engano ou duplicada, ou remover uma parcela específica de um parcelamento sem afetar as outras.
|
|
570
570
|
|
|
571
571
|
CAMPOS:
|
|
572
572
|
- transaction_id: string UUID — ID da transação (obrigatório).
|
|
573
573
|
|
|
574
574
|
REGRAS DE NEGÓCIO:
|
|
575
|
-
-
|
|
575
|
+
- **Deleta APENAS a transação especificada.** Se a transação faz parte de um parcelamento, as outras parcelas do mesmo installment_group_id permanecem intactas.
|
|
576
|
+
- Para apagar um grupo inteiro de parcelamento, delete cada parcela individualmente usando os IDs retornados por fin_buscar_transacoes ou fin_todas_transacoes.
|
|
576
577
|
- A operação é irreversível.`,
|
|
577
578
|
inputSchema: {
|
|
578
579
|
type: "object",
|
|
@@ -871,7 +872,8 @@ CAMPOS:
|
|
|
871
872
|
- name: string — nome da conta (obrigatório, ex: "Nubank", "Inter", "Carteira").
|
|
872
873
|
- institution: string — nome da instituição financeira.
|
|
873
874
|
- type: string — 'cash' (corrente/carteira/poupança) ou 'credit' (cartão de crédito) (obrigatório).
|
|
874
|
-
-
|
|
875
|
+
- currency: string — 'BRL' ou 'USD' (default: BRL). Apenas contas cash podem ser USD. Use USD para carteira em dólar, Wise, conta americana, etc. Cartão de crédito DEVE ser BRL.
|
|
876
|
+
- initial_balance_cents: number — saldo inicial em centavos **da moeda da conta** (default: 0). Para conta USD, é em centavos de dólar (ex: $370 = 37000). Para cartão credit, é o valor de uma fatura preexistente (use com initial_invoice_date).
|
|
875
877
|
- initial_invoice_date: string YYYY-MM-DD — data da fatura inicial (cutoff histórico). OMITIR é o comportamento recomendado para cartões novos — significa "sem cutoff", ou seja, transações com qualquer tx_date (inclusive anteriores à criação) contam no total da fatura.
|
|
876
878
|
- initial_invoice_amount_cents: number — alias de initial_balance_cents quando se refere a fatura inicial de cartão. Use junto com initial_invoice_date.
|
|
877
879
|
- closing_day: number — dia de fechamento da fatura, 1-28 (obrigatório para type 'credit').
|
|
@@ -881,21 +883,27 @@ CAMPOS:
|
|
|
881
883
|
REGRAS DE NEGÓCIO:
|
|
882
884
|
- Cartão de crédito (type 'credit') EXIGE closing_day e due_day.
|
|
883
885
|
- closing_day e due_day devem estar entre 1 e 28.
|
|
884
|
-
-
|
|
885
|
-
-
|
|
886
|
+
- **currency: 'USD' só é permitido para cash.** Tentar criar credit + USD retorna erro de validação.
|
|
887
|
+
- Valores em centavos da moeda da conta (cents de BRL ou cents de USD, conforme currency).
|
|
888
|
+
- **Para cartão de crédito**: por padrão (quando initial_invoice_date é omitido), o cartão é criado SEM cutoff histórico. Transações com qualquer tx_date contam no total da fatura.
|
|
886
889
|
|
|
887
|
-
EXEMPLO — cartão novo (sem fatura preexistente):
|
|
890
|
+
EXEMPLO — cartão novo BRL (sem fatura preexistente):
|
|
888
891
|
{ "name": "Nubank", "type": "credit", "closing_day": 19, "due_day": 26, "credit_limit_cents": 500000 }
|
|
889
892
|
|
|
890
893
|
EXEMPLO — cartão migrado com fatura já aberta:
|
|
891
|
-
{ "name": "Itaú", "type": "credit", "closing_day": 1, "due_day": 9, "initial_invoice_date": "2026-03-15", "initial_invoice_amount_cents": 350000 }
|
|
894
|
+
{ "name": "Itaú", "type": "credit", "closing_day": 1, "due_day": 9, "initial_invoice_date": "2026-03-15", "initial_invoice_amount_cents": 350000 }
|
|
895
|
+
|
|
896
|
+
EXEMPLO — conta USD (Wise, carteira em dólar):
|
|
897
|
+
{ "name": "Wise USD", "institution": "Wise", "type": "cash", "currency": "USD", "initial_balance_cents": 20000 }
|
|
898
|
+
// cria conta USD com saldo $200`,
|
|
892
899
|
inputSchema: {
|
|
893
900
|
type: "object",
|
|
894
901
|
properties: {
|
|
895
902
|
name: { type: "string", description: "Nome da conta (ex: Nubank, Inter)" },
|
|
896
903
|
institution: { type: "string", description: "Nome da instituição financeira" },
|
|
897
904
|
type: { type: "string", description: "'cash' ou 'credit'" },
|
|
898
|
-
|
|
905
|
+
currency: { type: "string", description: "'BRL' (default) ou 'USD'. USD só para cash." },
|
|
906
|
+
initial_balance_cents: { type: "number", description: "Saldo inicial em centavos da moeda da conta (default: 0)" },
|
|
899
907
|
initial_invoice_date: { type: ["string", "null"], description: "YYYY-MM-DD — data da fatura inicial. Omitir ou passar null para cartão sem cutoff histórico (recomendado)." },
|
|
900
908
|
initial_invoice_amount_cents: { type: "number", description: "Valor da fatura inicial em centavos. Use com initial_invoice_date." },
|
|
901
909
|
closing_day: { type: "number", description: "Dia de fechamento da fatura (1-28, obrigatório para credit)" },
|
|
@@ -947,6 +955,40 @@ EXEMPLO — remover cutoff de um cartão criado errado:
|
|
|
947
955
|
required: ["account_id"],
|
|
948
956
|
},
|
|
949
957
|
},
|
|
958
|
+
{
|
|
959
|
+
name: "fin_deletar_conta",
|
|
960
|
+
description: `Deleta uma conta bancária. Bloqueia a deleção se a conta tem transações vinculadas — não cascata.
|
|
961
|
+
|
|
962
|
+
QUANDO USAR:
|
|
963
|
+
- Remover uma conta criada por engano (nome errado, moeda errada, tipo errado).
|
|
964
|
+
- Limpar contas duplicadas antes de importar histórico.
|
|
965
|
+
|
|
966
|
+
NÃO USAR QUANDO:
|
|
967
|
+
- A conta tem transações importantes. Se precisa remover uma conta em uso, delete as transações primeiro OU renomeie a conta via fin_editar_conta (soft-archive via renomear para "[ARQUIVADO] Nome").
|
|
968
|
+
|
|
969
|
+
CAMPOS:
|
|
970
|
+
- account_id: string UUID — ID da conta (obrigatório).
|
|
971
|
+
|
|
972
|
+
REGRAS DE NEGÓCIO:
|
|
973
|
+
- Se a conta tem qualquer transação vinculada (como account_from ou account_to), retorna erro 409 com a contagem de transações — a conta NÃO é deletada.
|
|
974
|
+
- Sem cascata silenciosa: destruir histórico é pior que um erro claro.
|
|
975
|
+
- Se precisar de hard-delete com histórico, delete as transações primeiro.
|
|
976
|
+
|
|
977
|
+
EXEMPLO — deletar conta sem transações:
|
|
978
|
+
{ "account_id": "uuid-da-conta" }
|
|
979
|
+
→ retorna { ok: true, deleted: true }
|
|
980
|
+
|
|
981
|
+
EXEMPLO — tentativa bloqueada:
|
|
982
|
+
{ "account_id": "uuid-da-conta-com-transacoes" }
|
|
983
|
+
→ retorna 409 { ok: false, error: "Conta X tem N transação(ões) vinculada(s)...", transactions_count: N }`,
|
|
984
|
+
inputSchema: {
|
|
985
|
+
type: "object",
|
|
986
|
+
properties: {
|
|
987
|
+
account_id: { type: "string", description: "UUID da conta" },
|
|
988
|
+
},
|
|
989
|
+
required: ["account_id"],
|
|
990
|
+
},
|
|
991
|
+
},
|
|
950
992
|
{
|
|
951
993
|
name: "fin_criar_categoria",
|
|
952
994
|
description: `Cria uma nova categoria de transação.
|
|
@@ -1199,6 +1241,9 @@ async function handleTool(name, args) {
|
|
|
1199
1241
|
}
|
|
1200
1242
|
return ok(await api("PATCH", `/api/genius/accounts/${account_id}`, body));
|
|
1201
1243
|
}
|
|
1244
|
+
case "fin_deletar_conta": {
|
|
1245
|
+
return ok(await api("DELETE", `/api/genius/accounts/${args.account_id}`));
|
|
1246
|
+
}
|
|
1202
1247
|
case "fin_listar_categorias": {
|
|
1203
1248
|
return ok(await api("GET", `/api/genius/categories`));
|
|
1204
1249
|
}
|
|
@@ -1224,7 +1269,7 @@ async function handleTool(name, args) {
|
|
|
1224
1269
|
// ── Server ──────────────────────────────────────────────────────────
|
|
1225
1270
|
|
|
1226
1271
|
const server = new Server(
|
|
1227
|
-
{ name: "fin-app", version: "2.3.
|
|
1272
|
+
{ name: "fin-app", version: "2.3.3" },
|
|
1228
1273
|
{ capabilities: { tools: {}, resources: {} } }
|
|
1229
1274
|
);
|
|
1230
1275
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fin-app-mcp",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.3",
|
|
4
4
|
"description": "MCP server para o FIN App — finanças pessoais. Expõe tools para agents LLM operarem contas, despesas, faturas de cartão, bills recorrentes e mais.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.mjs",
|