YNAB MCP Server

Integre assistentes de IA com sua conta do You Need A Budget (YNAB) para automação e análise de orçamento.

Documentação

YNAB MCP Server

PyPI version License: MIT

Um servidor Model Context Protocol (MCP) para integração perfeita com o You Need A Budget (YNAB). Este servidor permite que assistentes de IA interajam com seus orçamentos do YNAB, oferecendo poderosas capacidades de automação e análise.

Instalação Rápida (Claude Desktop)

{
  "mcpServers": {
    "ynab-mcp": {
      "command": "uvx",
      "args": ["ynab-mcp-server"],
      "env": {
        "YNAB_PAT": "your_token_here",
      }
    }
  }
}

Variáveis de ambiente opcionais:

"env": {
  "YNAB_DEFAULT_BUDGET_ID": "your_budget_id",
  "YNAB_READ_ONLY": "true"
}

Recursos

  • Gerenciamento Completo de Orçamentos

    • Visualize e gerencie múltiplos orçamentos
    • Acompanhe saldos de contas e transações
    • Monitore gastos e metas por categoria
  • Controle de Transações

    • Liste e pesquise transações
    • Atualize detalhes de transações
    • Gerencie beneficiários e categorias
  • Análise Financeira

    • Obtenha visões gerais financeiras abrangentes
    • Acompanhe padrões de gastos
    • Monitore o progresso do orçamento

Sumário

Instalação e Uso

Nenhuma instalação é necessária ao usar uvx:

# Run directly (recommended)
uvx ynab-mcp-server

# Or with specific version
uvx ynab-mcp-server@0.1.1

Para desenvolvimento:

# Clone and run from source
git clone https://github.com/yourusername/ynab-mcp-server.git
cd ynab-mcp-server
uv run ynab-mcp-server

Configuração por Plataforma

Claude Desktop

  1. Localize seu arquivo de configuração:

    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. Adicione a configuração do servidor YNAB MCP:

{
  "mcpServers": {
    "ynab-mcp": {
      "command": "uvx",
      "args": ["ynab-mcp-server"],
      "env": {
        "YNAB_PAT": "your_token_here"
      }
    }
  }
}

Variáveis de ambiente opcionais:

env: {
  "YNAB_DEFAULT_BUDGET_ID": "your_budget_id",
  "YNAB_READ_ONLY": "true"
}

Goose

  1. Abra as configurações do Goose
  2. Navegue até a seção de Servidores MCP
  3. Adicione um novo servidor com:
    • Nome: ynab-mcp
    • Comando: uvx ynab-mcp-server
    • Variáveis de Ambiente:
      • YNAB_PAT: your_token_here

Outras Plataformas

Para outras plataformas compatíveis com MCP, configure usando estes parâmetros:

  • Nome do Servidor: ynab-mcp
  • Comando: uvx
  • Argumentos: ynab-mcp-server
  • Variável de Ambiente Obrigatória: YNAB_PAT

Configuração

Seu servidor pode ser configurado usando variáveis de ambiente. Você pode colocá-las em um arquivo .env na raiz do projeto ou defini-las no seu shell.

VariávelObrigatóriaDescrição
YNAB_PATSimSeu Token de Acesso Pessoal do YNAB.
YNAB_DEFAULT_BUDGET_IDNãoSe definido, o servidor opera em modo de orçamento único, sempre usando este ID de orçamento. A ferramenta list-budgets ficará oculta.
YNAB_READ_ONLYNãoDefina como true para desativar todas as ferramentas que fazem alterações nos seus dados do YNAB.

Obtendo Seu Token do YNAB

  1. Obtenha Seu Token do YNAB

  2. Configure o Ambiente

    Crie um arquivo .env no seu diretório de trabalho:

    YNAB_PAT="your_token_here"
    YNAB_DEFAULT_BUDGET_ID="your_budget_id"
    YNAB_READ_ONLY="true"
    

    Ou defina a variável de ambiente diretamente:

    export YNAB_PAT="your_token_here"
    

Ferramentas Disponíveis

O servidor fornece um conjunto de ferramentas para interagir com seus dados do YNAB. As descrições explicam o propósito e o uso recomendado de cada ferramenta.

FerramentaDescrição
manage-financial-overviewObtenha, atualize ou renove uma visão geral financeira de alto nível. Este é o melhor ponto de partida para qualquer análise, fornecendo saldos de contas, metas e notas de contexto importantes.
list-accountsListe todas as contas de um determinado orçamento. Útil para obter IDs de contas para outras ferramentas.
get-month-infoObtenha informações detalhadas do orçamento para um único mês, incluindo idade do dinheiro e valores totais orçados, gastos e disponíveis. Chame esta ferramenta para verificar o status do orçamento mensal antes de fazer alterações.
list-categoriesListe todas as categorias, grupos e seus detalhes de orçamento. Chame esta ferramenta antes de gerenciar valores orçados para ver o que está disponível e o que já foi alocado.
list-transactionsListe transações de uma conta específica ou de um mês inteiro. Use esta ferramenta para investigar padrões de gastos identificados na visão geral financeira.
list-scheduled-transactionsListe todas as transações agendadas futuras. Útil para prever contas futuras.
manage-budgeted-amountAtribua um valor orçado a uma categoria ou mova dinheiro entre categorias. Esta é a principal ferramenta para alocar fundos. (Operações de escrita desativadas no modo somente leitura)
bulk-manage-transactionsCrie, atualize ou exclua várias transações de uma vez. Mais eficiente do que fazer alterações individuais. (Operações de escrita desativadas no modo somente leitura)
manage-scheduled-transactionCrie, atualize ou exclua uma única transação agendada (recorrente). Use esta ferramenta para gerenciar contas recorrentes ou transferências de poupança. (Operações de escrita desativadas no modo somente leitura)
list-payeesListe todos os beneficiários de um determinado orçamento. Útil para encontrar IDs de beneficiários ou identificar dados de beneficiários desorganizados que precisam ser mesclados.
manage-payeesMescle vários nomes de beneficiários em um único nome. Use esta ferramenta para limpar dados de beneficiários. (Operações de escrita desativadas no modo somente leitura)
lookup-entity-by-idConsulte o nome e os detalhes de uma conta, categoria ou beneficiário específico pelo seu ID. Um utilitário para quando você tem um ID, mas precisa do contexto completo.
lookup-payee-locationsConsulte localizações geográficas associadas a um beneficiário.
list-budgetsListe todos os orçamentos YNAB disponíveis (Não disponível no modo de orçamento único).

Desenvolvimento

Configuração Local

  1. Clone o repositório:

    git clone https://github.com/yourusername/ynab-mcp-server.git
    cd ynab-mcp-server
    
  2. Instale as dependências:

    uv sync
    
  3. Execute o servidor:

    uv run ynab-mcp-server
    

Depuração

Use o MCP Inspector para depuração:

npx @modelcontextprotocol/inspector uvx ynab-mcp-server

Para depuração em desenvolvimento local:

cd path/to/ynab-mcp-server
npx @modelcontextprotocol/inspector uv run ynab-mcp-server

Você também pode visualizar os logs com:

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

Compilação e Publicação

# Build package
uv build

# Publish to PyPI
uv publish

Contribuição

Contribuições são bem-vindas! Veja como você pode ajudar:

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade (git checkout -b feature/amazing-feature)
  3. Faça commit das suas alterações (git commit -m 'Add amazing feature')
  4. Envie para o branch (git push origin feature/amazing-feature)
  5. Abra um Pull Request

Certifique-se de que seu PR:

  • Segue o estilo de código existente
  • Inclui testes apropriados
  • Atualiza a documentação conforme necessário

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Agradecimentos