OpenMonetis MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HTTP_TOKEN | No | Bearer token required by the HTTP transport. Mandatory when the HTTP host is not loopback. | |
| OPENMONETIS_URL | No | Root of the OpenMonetis installation. In production use https://your-host/api-proxy. | http://localhost:7001 |
| OPENMONETIS_EMAIL | No | Email of the account used by the agent. Required unless OPENMONETIS_COOKIE is provided. | |
| OPENMONETIS_COOKIE | No | Alternative authentication: Cookie header from an already authenticated session. | |
| OPENMONETIS_ORIGIN | No | Sent as Origin on login. Must be present in trustedOrigins (WEB_URL/BETTER_AUTH_TRUSTED_ORIGINS). Defaults to the origin of OPENMONETIS_URL. | |
| OPENMONETIS_PASSWORD | No | Password of the account. Required unless OPENMONETIS_COOKIE is provided. Prefer op run/Keychain over a file. | |
| OPENMONETIS_MCP_WRITES | No | Write mode: read-only, confirm (dry-run), or full. | confirm |
| OPENMONETIS_TIMEOUT_MS | No | Timeout per API call in milliseconds. | 20000 |
| OPENMONETIS_MCP_HTTP_HOST | No | Host for the HTTP transport. | 127.0.0.1 |
| OPENMONETIS_MCP_HTTP_PORT | No | Port for the HTTP transport. | 7317 |
| OPENMONETIS_ALLOW_INSECURE | No | Set to 1 to allow http:// for a remote host. Avoid using this. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Servidor MCP do OpenMonetis, um gestor financeiro pessoal. Prefira valores em reais e períodos no formato YYYY-MM. Comece por get_dashboard_overview ou get_dashboard_attention para situar o mês, depois detalhe com list_transactions, list_bills, list_invoices, list_budgets e list_goals. Ferramentas de escrita exigem confirm: true; sem isso elas apenas descrevem o que fariam.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_dashboard_overviewA | Retorna as métricas do dashboard financeiro de um mês: receitas, despesas, saldo, valor projetado, comparação com o mês anterior e histórico dos últimos 6 meses. Use como primeira ferramenta para entender a situação financeira do período. |
| get_dashboard_snapshotA | Retorna de uma vez todas as seções do dashboard de um mês: métricas, saldos das contas, status de pagamentos, distribuição de despesas por condição/forma de pagamento, quebra por categoria e despesas por pessoa. Payload maior que get_dashboard_overview; use quando precisar de uma visão completa em uma única chamada. |
| get_dashboard_attentionA | Lista os itens que precisam de atenção no mês: faturas abertas, contas a pagar vencidas ou próximas do vencimento, orçamentos estourados ou perto do limite e metas em risco. Retorna também |
| list_transactionsA | Lista transações paginadas com filtros por período, texto, tipo, condição, forma de pagamento, situação, pessoa, categoria, tag, conta, cartão e faixa de valor. Retorna o total e os itens (versão compacta por padrão). Use |
| get_transactionA | Retorna todos os campos de uma transação: valores, rateio entre pessoas, cartão/conta, categoria, vencimento, parcelas, recorrência, reembolsos e anexos. |
| list_accountsB | Lista as contas financeiras do usuário com tipo, saldo e indicação de exclusão do saldo consolidado. |
| get_accountB | Retorna os dados completos de uma conta, incluindo saldo e resumo do período. |
| get_account_cash_flowB | Retorna o fluxo de caixa diário de uma conta em um mês: saldo inicial, lançamentos do dia, valor fora do mês e histórico mensal. |
| list_cardsA | Lista os cartões de crédito do usuário com limite, fatura atual e status. Aceita um período opcional para alinhar a fatura ao mês. |
| get_cardB | Retorna os dados de um cartão, incluindo limite, uso e fatura corrente. |
| get_invoice_historyB | Retorna o histórico de faturas de um cartão, com totais e situação de pagamento por período. |
| list_invoicesA | Lista as faturas de todos os cartões em um mês: total, fechamento, vencimento, pagamentos, ajustes e rateio por pessoa. Os itens vêm em versão compacta por padrão; use |
| list_billsA | Lista as contas a pagar de um mês com total em aberto, quantidade de vencidas, contas de origem e itens (com rateio por pessoa, vencimento e status). Os itens vêm em versão compacta por padrão; use |
| list_budgetsA | Lista os orçamentos de um mês por categoria, com valor planejado, gasto, restante e percentual de uso. |
| list_goalsB | Lista as metas financeiras com valor alvo, valor atual, restante, progresso, prazo e ritmo (adiantado, no prazo, atrasado). |
| list_categoriesA | Lista as categorias de receita e despesa do usuário. Use os IDs retornados em filtros e ao criar transações ou orçamentos. |
| list_tagsA | Lista as tags disponíveis para classificar transações. |
| list_peopleB | Lista as pessoas da instalação (administrador e pessoas externas) com papel, status e vínculo. Use os IDs em rateios e filtros. |
| get_person_summaryA | Retorna o resumo financeiro de uma pessoa em um mês: total de despesas, histórico e distribuição por categoria. |
| get_person_reportA | Retorna o relatório mensal completo de uma pessoa externa em um período: linhas de despesas e reembolsos, totais e rateios — o mesmo conteúdo do PDF enviado por e-mail. O administrador não possui relatório (a API responde 400 nesse caso); para ele use get_person_summary. |
| get_financial_distributionA | Retorna a distribuição das despesas e receitas de um mês por categoria, forma de pagamento e condição, no escopo do administrador ou de todas as pessoas. |
| get_category_trendsB | Compara a evolução de gastos por categoria entre dois meses (inclusive). Útil para responder o que aumentou ou diminuiu no período. |
| list_commitmentsA | Projeta os compromissos financeiros entre dois meses (inclusive): parcelas, recorrências e faturas já contratadas. Limite de até 24 meses. |
| list_recurring_expensesA | Lista as despesas recorrentes ativas em um mês, com regra, frequência, valor e ocorrências. |
| get_settingsA | Retorna as preferências da conta (defaults de transação, preferências do dashboard) e as configurações de segurança, em uma única chamada. |
| list_notificationsA | Lista as notificações acionáveis do usuário, como faturas próximas do vencimento, orçamentos excedidos e metas em risco. Retorna itens, contagem de não lidas, ativas e arquivadas. |
| list_inbox_itemsA | Lista as notificações capturadas (inbox) por status, app de origem, data ou regra aplicada. Cada item traz o texto original, o nome/valor interpretado e o status. |
| get_inbox_snapshotB | Resumo rápido do inbox: contagens por status e os últimos itens pendentes. Útil para saber se há capturas aguardando revisão. |
| list_inbox_rulesA | Lista as regras que categorizam automaticamente as notificações capturadas, com prioridade, condições e ação (categoria/pessoa). |
| suggest_inbox_itemB | Mostra qual categoria e pessoa as regras aplicariam a um item da caixa de entrada, sem confirmar nada. |
| preview_transaction_importA | Envia um arquivo de extrato (OFX, CSV ou XLSX) e retorna o que seria importado: conta/cartão detectado, período, transações com duplicatas e categoria sugerida. Nada é gravado. Aceita |
| export_transactionsB | Exporta as transações filtradas em CSV ou XLSX e grava o arquivo no diretório de exportação do host (padrão: ~/Downloads/openmonetis-mcp). Retorna o caminho absoluto e o número de linhas. |
| get_import_templateA | Baixa o modelo de planilha aceito pela importação e grava no diretório de exportação do host. Retorna o caminho do arquivo. |
| list_transaction_attachmentsB | Lista os anexos (comprovantes, notas) vinculados a uma transação. |
| get_attachment_download_urlA | Gera uma URL assinada e temporária para baixar (ou visualizar) um anexo. Retorna a URL e o instante de expiração. |
| list_attachmentsB | Lista os anexos do usuário em um mês, com filtros por texto, tipo (image/pdf) e pessoa, paginado. |
| list_installmentsB | Lista as séries parceladas do usuário no mês: séries abertas/concluídas, parcelas pagas e pendentes, valores e progresso. As séries vêm em versão compacta por padrão; use |
| quote_installmentsB | Calcula quantidade e valor total das parcelas informadas — usado antes de antecipar para uma fatura. |
| list_person_connectionsB | Lista as conexões ativas entre o titular e outras pessoas (perspectiva de dono ou destinatário), com status e data. |
| list_person_invitationsB | Lista os convites de conexão enviados, com status (pending, claimed, confirmed, cancelled, expired) e prazos. |
| list_person_settlementsB | Resumo do que cada pessoa deve ao titular (ou tem de crédito) no período, com os acertos já registrados. |
| get_person_balanceB | Retorna o saldo financeiro com uma pessoa no período: quanto ela deve ou tem de crédito, e os acertos registrados. |
| get_ai_statusA | Mostra se o assistente de IA está habilitado na instalação, quais provedores estão conectados, as ferramentas permitidas e os escopos de dados compartilhados. |
| list_ai_diagnosesA | Lista os diagnósticos financeiros gerados por IA, com período, provedor, status e saúde financeira. |
| get_ai_diagnosisB | Retorna um diagnóstico completo, incluindo status, resultado, pontos de atenção e falha quando houver. |
| list_ai_chatsA | Lista as conversas com o assistente financeiro (título, período, provedor e modelo). |
| get_ai_chatB | Retorna uma conversa com todo o histórico de mensagens. |
| create_transactionA | Cria uma transação de receita, despesa, transferência, compra parcelada ou série recorrente. Transferências (type: 'transfer') só aceitam condition: 'single' e paymentMethod: 'bank_transfer' — a API do OpenMonetis não suporta transferência recorrente nem parcelada. A API valida todas as regras de domínio (categoria obrigatória em receita/despesa, cartão obrigatório no crédito, contas distintas em transferência, etc.). Sem |
| update_transactionA | Atualiza campos de uma transação existente. Envie apenas os campos que devem mudar — campos omitidos são preservados (inclusive |
| delete_transactionA | Exclui definitivamente uma transação. A ferramenta busca a transação antes de excluir para mostrar nome, valor e data no dry-run. Exige |
| settle_transactionsA | Marca ou desmarca uma ou mais transações como liquidadas, opcionalmente informando data, valor pago e conta usada. Exige |
| create_accountA | Cria uma conta financeira. Sem |
| update_accountB | Atualiza uma conta existente (nome, tipo, logo, nota, exclusão do saldo consolidado, arquivamento). Envie apenas os campos que devem mudar. |
| add_invoice_paymentA | Registra o pagamento de uma fatura de cartão, com rateio por pessoa e conta de origem opcional. Exige |
| pay_billB | Registra o pagamento de uma conta a pagar (lançamento recorrente) informando a conta de origem, a data e, opcionalmente, o valor pago. Exige |
| create_budgetB | Cria (ou atualiza) o orçamento de uma categoria em um mês. Exige |
| create_goalA | Cria uma meta financeira. Use |
| confirm_inbox_itemB | Converte um item capturado em transação. Recebe os mesmos campos de create_transaction. Exige |
| discard_inbox_itemsC | Descarta um ou mais itens da caixa de entrada. Exige |
| create_inbox_ruleB | Cria uma regra que categoriza automaticamente notificações capturadas. Informe ao menos categoria ou pessoa. Exige |
| delete_inbox_ruleA | Exclui uma regra do inbox. A API exige a versão atual do registro em |
| import_transactionsA | Grava no OpenMonetis as linhas já revisadas de uma importação de extrato. Use o |
| delete_import_batchA | Remove um lote de importação e as transações criadas por ele. Exige |
| upload_attachmentA | Envia um arquivo do host (PDF ou imagem) para uma transação usando o fluxo de upload assinado: prepare → upload → confirm. Exige |
| delete_attachmentA | Exclui definitivamente um anexo. Exige |
| anticipate_installmentsB | Move parcelas futuras de uma série para uma fatura alvo, aplicando desconto opcional. Exige |
| undo_installment_anticipationB | Desfaz uma antecipação, devolvendo as parcelas ao período original. Exige |
| create_person_invitationA | Cria um convite de conexão para uma pessoa externa. O retorno inclui um |
| cancel_person_invitationA | Cancela um convite de conexão ainda não confirmado. Exige |
| revoke_person_connectionA | Revoga o acesso de uma pessoa conectada. Exige |
| create_person_settlementC | Registra um acerto (recebimento) de uma pessoa. Exige |
| delete_person_settlementB | Exclui um acerto registrado. Exige |
| create_ai_diagnosisA | Enfileira um diagnóstico financeiro do período no provedor escolhido. A geração é assíncrona: consulte com get_ai_diagnosis. Requer AI_ENABLED=true. Exige |
| cancel_ai_diagnosisA | Cancela um diagnóstico em andamento. Exige |
| delete_ai_chatA | Exclui uma conversa e seu histórico. Exige |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 75 tools
Most tools have a clear resource+action target, but several clusters overlap: get_dashboard_overview vs get_dashboard_snapshot (one is explicitly a superset), get_dashboard_attention vs list_notifications (both surface overdue invoices, blown budgets and at-risk goals), and get_person_summary vs get_person_report vs get_person_balance vs list_person_settlements. The descriptions usually disambiguate the edge cases (e.g. 'para ele use get_person_summary'), but an agent must read carefully to pick the right one in the dashboard, notification and person-report families.
Names are uniformly snake_case verb_noun: get_*, list_*, create_*, update_*, delete_*, plus consistent domain verbs (confirm_, preview_, export_, import_, settle_, anticipate_, undo_). No camelCase mixing and no orphan/ambiguous names.
75 tools is very heavy even for a broad personal-finance app (transactions, accounts, cards, invoices, bills, budgets, goals, people, AI, inbox, import/export). Several tools are redundant supersets or thin variants (overview vs snapshot vs attention, list_*/get_* pairs, summary vs report vs balance) that could be consolidated or folded into parameters.
The surface covers the core lifecycle well: full transaction CRUD plus settle, account create/update (archive in place of delete), invoice/bill payment, attachment upload/download/delete, import/export, and the people/AI/inbox subdomains. However, there are notable gaps: goals are create-only (no update or delete), budgets support upsert but no delete, cards and categories/tags are read-only, and inbox rules lack an update operation.