Skip to main content
Glama
1fluxo Bridge

1fluxo Bridge

by jpcesar

1fluxo Bridge

Liga um assistente de IA (Claude, Cursor, VS Code…) ao 1fluxo sem que os teus dados saiam do teu computador.

O 1fluxo guarda as tuas finanças cifradas e nem o servidor os consegue ler. Para um assistente poder responder a «quanto gastei este mês?», alguém tem de os decifrar. Aqui, quem decifra és tu, no teu browser, com a sessão que já tens aberta; este programa só faz a ponte entre o assistente e esse separador.

Claude Desktop (Chat) ── 1fluxo-bridge --stdio ──┐
Claude Code (CLI e Code) ─ 1fluxo-bridge --stdio ─┤→ app de tray ──WebSocket local──→ separador do 1fluxo
Cursor, VS Code ─────────── HTTP + token ────────┘  (no teu computador)               (decifra e responde)
  • Só fala com o 127.0.0.1. Não abre ligações para a rede.

  • Não interpreta pedidos nem guarda conteúdo: só encaminha mensagens.

  • O que guarda em disco é um segredo de emparelhamento (~/.1fluxo/) e um token local; nenhum deles abre dados.

  • Exige o 1fluxo aberto e desbloqueado no browser. Sem separador, não há dados.

Instalar

Há duas formas, escolhe uma. Não uses as duas ao mesmo tempo: cada uma tem o seu bridge e os dois disputariam o separador do 1fluxo.

Opção 1 — Só o Claude Desktop, via extensão

Não instala mais nada: descarrega a extensão .mcpb em Definições → Ligação a IA no 1fluxo e abre o ficheiro com o Claude Desktop. Funciona sozinha, sem a app da Opção 2.

Opção 2 — App de tray (Claude Desktop, Claude Code e outros clientes)

Uma app pequena que fica a correr e serve todos os clientes MCP do computador.

  1. Descarrega o ficheiro da tua plataforma em Releases: 1fluxo-bridge-macos.zip ou 1fluxo-bridge-windows.zip. Não há instalador: descomprime e abre. No macOS, move primeiro a app para a pasta Aplicações (o caminho dela fica guardado na configuração dos clientes).

  2. Aparece um ícone no tray (Windows) ou na barra de menus (macOS). Dali: ligar e desligar, ver o estado, emparelhar (ou esquecer o emparelhamento) e sair.

  3. Liga o teu cliente com um clique no menu:

    Cliente

    Item do menu

    Depois

    Claude Desktop (separador Chat)

    Ligar ao Claude Desktop

    Fecha o Claude Desktop por completo (⌘Q no macOS) e abre-o outra vez

    Claude Code (CLI e separador Code do Claude Desktop)

    Ligar ao Claude Code

    Abre uma sessão nova

    Cursor, VS Code e outros por HTTP

    Copiar endereço MCP

    Cola o endereço (já leva o token) no cliente

    Cada item diz-te se a ligação já estava feita, por isso podes repeti-los sem risco. No Claude Desktop só se acrescenta a entrada 1fluxo ao claude_desktop_config.json (o resto fica como estava e fica uma cópia ao lado); no Claude Code corre-se o claude mcp add por ti, ou, se o claude não for encontrado, copia-se o comando para colares no terminal. A app tem de estar aberta para o assistente ter acesso aos dados.

  4. Faz uma pergunta. Na primeira vez abre-se o browser para carregares em Permitir (ou usa Emparelhar no menu para o fazer antes); a ligação mantém-se durante 30 dias.

Primeira abertura. Enquanto os executáveis não saem assinados (ver Assinatura), o macOS bloqueia-os: Definições do Sistema → Privacidade e segurança → «Abrir mesmo assim» (no macOS 15 ou mais recente o botão direito → Abrir já não chega). O Windows avisa «editor desconhecido»: Mais informações → Executar mesmo assim. Por isso o código é público e os builds saem do GitHub Actions; confirma o ficheiro com o SHA256SUMS da Release:

shasum -a 256 -c SHA256SUMS --ignore-missing      # macOS / Linux

Related MCP server: ynab-mcp-server

Segurança

O endpoint só aceita pedidos de 127.0.0.1, exige um token, recusa qualquer pedido com Origin (um site a tentar a sorte) e valida o Host (DNS rebinding). Vários clientes podem usar o mesmo bridge: os ids dos pedidos são remapeados para as respostas não se trocarem. O item Desligar corta o acesso por completo.

Encontraste uma vulnerabilidade? Vê o SECURITY.md.

Compilar

Precisas de Rust. A app de tray vive em tray/:

cd tray
cargo test                                   # emparelhamento, endpoint, remapeamento de ids
cargo run -p fluxo-bridge-app -- --app-url http://localhost:3000
scripts/pack-macos.sh                        # dist/1fluxo-bridge-macos.zip

Mais em tray/README.md. O bridge original em TypeScript, que a extensão .mcpb ainda usa, está na raiz (src/, npm run build, npm test) e descrito em docs/bridge-typescript.md.

Assinatura

A release (.github/workflows/release.yml) assina e notariza a app de macOS quando estes segredos existem no repo (Settings → Secrets and variables → Actions). Sem eles a release sai com assinatura ad-hoc e um aviso no workflow.

Segredo

O que é

MACOS_CERTIFICATE_P12

Certificado Developer ID Application exportado do Keychain em .p12, em base64 (base64 -i cert.p12 | pbcopy)

MACOS_CERTIFICATE_PASSWORD

A palavra-passe com que o .p12 foi exportado

MACOS_SIGN_IDENTITY

O nome do certificado, p. ex. Developer ID Application: Nome (TEAMID)

APPLE_API_KEY_P8

Chave da App Store Connect API (.p8, papel Developer), em base64

APPLE_API_KEY_ID

O Key ID dessa chave

APPLE_API_ISSUER_ID

O Issuer ID da equipa

O tray/scripts/pack-macos.sh assina com hardened runtime e timestamp, envia o zip ao notarytool, agrafa o ticket à app e volta a fazer o zip. Para confirmar uma app descarregada:

spctl --assess --type execute --verbose=2 "1fluxo Bridge.app"   # accepted, source=Notarized Developer ID

A assinatura do executável de Windows ainda não está feita.

Licença

FSL-1.1-MIT (Functional Source License). Podes ler, usar e modificar o código para uso próprio, interno ou não comercial, mas não para lançar um produto ou serviço concorrente. Cada versão passa a MIT dois anos depois de publicada. Não é «open source» no sentido estrito da OSI, e o nome e o logótipo 1fluxo não estão incluídos na licença.

Available Tools

7 tools
get_annual_overviewB

Visão anual: para cada mês do ano que exista no 1fluxo, rendimento, despesas (fixas e orçamento), poupança, extras, saldo líquido e saldo de fecho; e os totais do ano. Meses sem dados não aparecem.

Inputs: year (required).

get_month_summaryA

Totais de um mês: rendimento, despesas fixas, despesas de orçamento (variáveis), poupança, extras, resgates de poupança, saldo de abertura e saldo de fecho (real se o mês estiver fechado, projectado se não). Despesas vêm como valores positivos. Use list_movements para ver o detalhe.

Inputs: year (required), month (required).

list_accountsA

Contas do utilizador com saldo de cash, valor de activos (títulos, fundos, depósitos), dívida (cartão de crédito) e património por conta, agrupadas como na app (Principais, Investimentos, Outras Contas), mais os totais. Os mesmos números que a página Contas mostra.

Inputs: no named parameters.

list_categoriesA

Categorias do utilizador agrupadas por tipo (bucket): rendimento, despesas fixas, orçamento (variáveis), extras e poupança. Inclui se está activa e o valor mensal de referência quando existe. Use os nomes daqui no filtro de list_movements.

Inputs: no named parameters.

list_monthsA

Lista os meses que existem no 1fluxo, do mais antigo ao mais recente, com o estado de cada um (open = em curso, closed = fechado pelo utilizador) e o saldo líquido do mês. O utilizador cria os meses um a um, por isso pode haver meses em falta. Use isto antes de pedir resumos ou movimentos.

Inputs: no named parameters.

list_movementsA

Movimentos de um mês do 1fluxo (extractos importados e registos manuais), por ordem de data, com descrição, montante com sinal (negativo = saída), tipo, categoria, conta e notas. Filtro opcional por nome de categoria (parcial, sem acentos). Para procurar por texto em vários meses use search_movements. O id de cada movimento é o que update_movement, delete_movement e consolidate_movements recebem.

Inputs: year (required), month (required), category.

search_movementsA

Pesquisa movimentos pela descrição ou notas (parcial, sem acentos nem maiúsculas) num intervalo de datas, em todas as contas — incluindo as que ficam fora do orçamento mensal. Sem datas, cobre os últimos 12 meses. Devolve os mais recentes primeiro e o total dos montantes encontrados.

Inputs: text (required), to, from.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 7 tools

    Disambiguation4/5

    Tools are mostly distinct: list_months, get_month_summary, and get_annual_overview have clearly different scopes, and list_movements vs search_movements differ by month-specific detail vs cross-month text search. Minor potential overlap between list_months and get_month_summary on monthly balances, but descriptions clarify boundaries.

    Naming Consistency5/5

    All tool names use snake_case and follow a verb_noun pattern (list_*, get_*, search_*). The verbs are standard and consistent, with no mixed casing or chaotic naming.

    Tool Count5/5

    7 tools is well-scoped for a personal finance bridge, covering months, movements, accounts, categories, and annual overview without redundancy.

    Completeness3/5

    Read coverage is broad (months, summaries, movements, search, accounts, categories, annual), but the set lacks write operations like create/update/delete for movements, months, or categories. list_movements references update_movement, delete_movement, and consolidate_movements that are not present, which is a notable gap for a finance management bridge.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A read-only MCP server that securely connects Swedish/Nordic bank accounts to AI assistants, keeping all financial data local and encrypted.
      39 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI assistants to connect to your YNAB account and read budget data, including accounts, categories, payees, and transactions, through a hosted MCP server.
      20 npm
      3
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      A read-only MCP server for the open-banking.io PSD2 API that lets AI agents query personal bank balances and transactions via natural language, with zero-knowledge encryption ensuring all sensitive data is decrypted in-process and never exposed to third parties.
      4
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables Codex or Claude Code to query bank balances, movements, and spending summaries through a locally run MCP server that keeps signing keys and encrypted financial data on the user's computer.
      Apache 2.0