ynab-mcp
Servidor MCP para YNAB. Concilie extratos bancários, detalhe recibos, gerencie transações — tudo por meio de linguagem natural.
Documentação
Servidor MCP YNAB
Conecte o YNAB a qualquer assistente de IA. Gerencie seu orçamento em português simples.
Demonstração
Cole um recibo → transação dividida em itens em segundos
O que você pode fazer
| Fluxo de trabalho | Exemplo de prompt |
|---|---|
| Divisão de recibos | "Crie uma transação dividida para este recibo e aloque os impostos." |
| Conciliação bancária | "Concilie minha conta corrente usando este CSV." |
| Análise de gastos | "Quanto gastei com delivery este mês?" |
| Fluxo de caixa programado | "Quais contas e receitas programadas vencem este mês?" |
| Criação de transações | "Crie uma transação: R$ 42,18 no mercado ontem." |
| Visão geral do mês | "Mostre meu resumo do orçamento de janeiro." |
Como funciona
graph LR
U(You) -->|Plain English| C[Claude Desktop<br/>or any MCP client]
C -->|MCP protocol| S[YNAB MCP Server<br/>35 tools]
S -->|YNAB API| Y[(Your Budget)]
style S fill:#2563EB,color:#fff,stroke:#1d4ed8
style Y fill:#16a34a,color:#fff,stroke:#15803d
style C fill:#7c3aed,color:#fff,stroke:#6d28d9
Recursos
- Itemização de recibos — Cole um recibo e obtenha uma transação dividida em itens com alocação automática de impostos distribuída entre as linhas.
- Conciliação bancária (beta) — Importe um CSV bancário, faça correspondência difusa com o YNAB, detecte transações ausentes ou incompatíveis e aplique correções em massa.
- 35 ferramentas YNAB — Cobertura completa, além de transações programadas e análises periódicas determinísticas.
- Segurança de escrita por padrão — O modo de pré-visualização exige uma confirmação de curta duração e uso único vinculada à solicitação exata validada.
- Perfis de ferramentas menores — Escolha
core,read-onlyoufullna inicialização sem registro dinâmico. - Sincronização delta — Busca apenas dados alterados desde a última solicitação, mantendo tudo rápido.
- Markdown ou JSON — Todas as ferramentas de leitura suportam
response_format: tabelas Markdown legíveis (padrão) ou JSON estruturado. - Nativo MCP — Saídas estruturadas, anotações, API de conclusões e modelos de recursos.
Como funciona a conciliação
Mostrar diagrama do fluxo de trabalho
sequenceDiagram
participant You
participant Claude
participant MCP as YNAB MCP Server
participant YNAB
You->>Claude: "Reconcile my checking<br/>with this CSV"
Claude->>MCP: reconcile_account(csv_data)
MCP->>YNAB: Fetch transactions
YNAB-->>MCP: YNAB transactions
MCP->>MCP: Parse CSV<br/>Fuzzy-match payees & dates<br/>Detect missing / mismatched
MCP-->>Claude: Matches + recommendations
Claude->>You: "Found 47 matches, 3 missing.<br/>Apply changes?"
You->>Claude: "Yes"
Claude->>MCP: Apply recommended changes
MCP->>YNAB: Create / update transactions
MCP-->>Claude: Done
Claude->>You: "3 transactions created,<br/>account reconciled."
Configuração (2 minutos)
1 — Obtenha um token YNAB
- Abra o Aplicativo Web YNAB
- Vá para Configurações da conta → Configurações do desenvolvedor → Novo token
- Copie-o (exibido apenas uma vez)
2 — Instalação
Claude Desktop — arquivo MCPB (recomendado)
- Baixe o
.mcpbmais recente em Releases - Arraste-o para o Claude Desktop
- Digite seu
YNAB_ACCESS_TOKENquando solicitado - Reinicie o Claude Desktop
Claude Desktop — npx
Adicione à configuração do seu Claude Desktop:
{
"mcpServers": {
"ynab": {
"command": "npx",
"args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"],
"env": {
"YNAB_ACCESS_TOKEN": "your-token-here"
}
}
}
}
Cline (VS Code)
{
"mcpServers": {
"ynab": {
"command": "npx",
"args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"],
"env": {
"YNAB_ACCESS_TOKEN": "your-token-here"
}
}
}
}
Codex
[mcp_servers.ynab-mcpb]
command = "npx"
args = ["-y", "@dizzlkheinz/ynab-mcpb@latest"]
env = {"YNAB_ACCESS_TOKEN" = "your-token-here"}
startup_timeout_sec = 120
Qualquer outro cliente MCP
- Comando:
npx - Argumentos:
["-y", "@dizzlkheinz/ynab-mcpb@latest"] - Variáveis de ambiente:
YNAB_ACCESS_TOKEN=<your token>
3 — Experimente estes prompts
List my budgets and set the default to my main budget.
Show recent transactions in my checking account.
How much did I spend on groceries in the last 30 days?
Create a transaction: $42.18 at Trader Joe's yesterday.
Ferramentas (35)
Ver todas as ferramentas por categoria
| Categoria | Ferramentas |
|---|---|
| Orçamentos | list_budgets get_budget get_default_budget set_default_budget |
| Contas | list_accounts get_account create_account |
| Transações | list_transactions get_transaction create_transaction create_transactions update_transaction update_transactions delete_transaction export_transactions compare_transactions create_receipt_split_transaction |
| Categorias | list_categories get_category update_category |
| Beneficiários | list_payees get_payee |
| Meses | list_months get_month |
| Conciliação | reconcile_account |
| Transações programadas | list_scheduled_transactions get_scheduled_transaction create_scheduled_transaction update_scheduled_transaction delete_scheduled_transaction |
| Análises | analyze_spending compare_spending_periods |
| Utilitários | get_user diagnostic_info clear_cache |
Todas as ferramentas de leitura aceitam response_format ("markdown" ou "json", padrão: "markdown").
Referência completa: docs/reference/API.md
Configuração
| Variável | Padrão | Descrição |
|---|---|---|
YNAB_ACCESS_TOKEN | — | Obrigatório. Seu token de acesso pessoal do YNAB. |
YNAB_EXPORT_PATH | ~/Downloads | Diretório para arquivos de transações exportados. |
YNAB_MCP_ENABLE_DELTA | true | Ativa a sincronização delta (buscar apenas dados alterados). |
YNAB_MCP_WRITE_MODE | preview | read-only oculta mutações do YNAB; preview exige confirmação exata; enabled permite gravações diretas. |
YNAB_MCP_TOOL_PROFILE | full | Superfície de ferramentas na inicialização: core, read-only ou full. |
YNAB_MCP_CACHE_DEFAULT_TTL_MS | 300000 | TTL do cache em milissegundos (5 min). |
YNAB_MCP_CACHE_MAX_ENTRIES | 1000 | Número máximo de entradas no cache antes da evicção LRU. |
Consulte .env.example para todas as opções.
Modos de gravação e compatibilidade
preview é o padrão conservador. Uma chamada de mutação primeiro executa seu caminho dry_run existente e retorna um token de confirmação. Esse token expira após dois minutos, pode ser usado uma única vez e só autoriza o mesmo nome canônico de ferramenta e argumentos validados. read-only não registra ferramentas de mutação do YNAB. enabled preserva o comportamento de gravação direta pré-segurança para usuários que optam explicitamente por ele.
Os valores de transação agora preferem amount_decimal (por exemplo, -12.34) ou o campo bruto explícito amount_milliunits (-12340). O financiamento de categorias também prefere budgeted_decimal ou budgeted_milliunits. Os campos antigos amount e budgeted continuam aceitos como aliases obsoletos de milliunits para compatibilidade retroativa; seu significado nunca é inferido.
Perfis de ferramentas
Os perfis são selecionados uma vez na inicialização do servidor, para que os clientes recebam uma resposta tools/list estável:
coremantém leituras comuns, fluxos de segurança de transações, conciliação, divisão de recibos, revisão programada e análises de gastos.read-onlyexpõe todas as ferramentas explicitamente anotadas como somente leitura.fullexpõe a superfície completa de 35 ferramentas, sujeita ao modo de gravação selecionado.
Privacidade e confiança
- O processo do servidor é executado localmente e se comunica com o YNAB pela API do YNAB.
- Seu token de acesso pessoal do YNAB é sensível. Armazene-o na configuração secreta do seu cliente MCP e nunca o cole em uma conversa, issue, fixture ou log.
- Os dados financeiros retornados pelas ferramentas e incluídos em uma conversa podem ser processados pelo provedor de IA selecionado no seu cliente MCP. Revise os controles de dados desse provedor antes de compartilhar informações sensíveis.
- As exportações de transações permanecem no disco local em
YNAB_EXPORT_PATH(ou no padrão da plataforma). O servidor não envia arquivos exportados para outros lugares. - Use
read-onlypara nenhuma gravação no YNAB,previewpara confirmação exata da solicitação ouenabledapenas quando gravações diretas forem uma escolha intencional de compatibilidade. - Este projeto independente de código aberto não é afiliado nem endossado pelo YNAB.
Solução de problemas
| Sintoma | Correção |
|---|---|
npx falha | Instale o Node.js 24+ e reinicie o cliente MCP. |
| Erros de autenticação | Gere novamente seu token YNAB e atualize YNAB_ACCESS_TOKEN. |
| Ferramentas não detectadas | Reinicie o cliente MCP após qualquer alteração de configuração. |
| Problemas de conciliação | Abra uma issue com uma amostra CSV anonimizada. |
Para desenvolvedores
git clone https://github.com/dizzlkheinz/ynab-mcpb.git
cd ynab-mcpb
npm install
cp .env.example .env # add YNAB_ACCESS_TOKEN
npm run build
npm test
Arquitetura e orientações para contribuidores: CLAUDE.md
Arquitetura de conciliação: docs/technical/reconciliation-system-architecture.md
Contribuindo
Relatórios de bugs e reproduções de casos extremos de CSV são muito bem-vindos, especialmente para conciliação bancária: Abra uma issue
PRs são bem-vindos — execute npm test e npm run lint antes de enviar.