Monzo
Acesse e gerencie seus dados bancários do Monzo, permitindo verificar saldos e visualizar transações.
Documentação
🏦 Servidor MCP do Monzo
Um servidor Model Context Protocol (MCP) que fornece acesso aos seus dados bancários do Monzo através de uma ferramenta Claude.
🪧 Demonstração
https://github.com/user-attachments/assets/ca3f9558-bc4b-460f-8658-99674f9c16b7
🖼️ Resultado
🚀 Instalação
# Clone the repository
git clone https://github.com/BfdCampos/monzo-mcp-bfdcampos.git
cd monzo-mcp-bfdcampos/monzo-mcp-bfdcampos
# Install dependencies using uv (Python package manager)
uv install
🔑 Configuração da API
Crie um arquivo .env no diretório do projeto com suas credenciais do Monzo:
[!NOTE] Para obter suas credenciais, siga as instruções na documentação oficial da API de Desenvolvimento do Monzo
MONZO_ACCESS_TOKEN='your_access_token'
MONZO_USER_ID='your_user_id'
MONZO_ACCOUNT_ID='your_default_account_id'
# Add specific account IDs for different account types
MONZO_UK_PREPAID_PERSONAL_ACCOUNT_ID='your_prepaid_account_id'
MONZO_UK_RETAIL_PERSONAL_ACCOUNT_ID='your_personal_account_id'
MONZO_UK_MONZO_FLEX_PERSONAL_ACCOUNT_ID='your_flex_account_id'
MONZO_UK_REWARDS_PERSONAL_ACCOUNT_ID='your_rewards_account_id'
MONZO_UK_RETAIL_JOINT_JOINT_ACCOUNT_ID='your_joint_account_id'
[!NOTE] Recomendo obter os IDs das contas e adicioná-los ao seu arquivo dotenv para ter uma experiência mais fluida com o servidor e reduzir o número de chamadas de API. Isso também pode ser encontrado na documentação oficial da API de Desenvolvimento do Monzo.
🔧 Configuração com Claude Desktop
Método 1: Instalação Automática
Use a ferramenta CLI do MCP para instalar o servidor automaticamente:
uv run mcp install main.py
Método 2: Configuração Manual
Adicione o servidor ao seu arquivo de configuração do Claude Desktop localizado em ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"Monzo": {
"command": "/Users/[Your Home Directory]/.local/bin/uv",
"args": [
"run",
"--with",
"mcp[cli],requests",
"mcp",
"run",
"/path/to/your/monzo-mcp-bfdcampos/monzo-mcp-bfdcampos/main.py"
]
}
}
}
Nota: Substitua
/path/to/your/pelos seus caminhos reais. Importante: Certifique-se de incluirrequestsno argumento--withconforme mostrado acima.
🤖 Usando com Claude Desktop
- Reinicie o Claude Desktop após a instalação.
- Abra o aplicativo e inicie uma nova conversa.
- Agora você pode perguntar ao Claude sobre suas contas Monzo:
- "Qual é o meu saldo atual?"
- "Quanto dinheiro tenho na minha conta conjunta?"
- "Mostre-me todas as minhas contas Monzo"
- "Transfira £50 da minha conta pessoal para o meu pote de Poupança"
- "Mostre-me minhas transações de hoje"
📊 Funções Disponíveis
💷 balance: link para documentação oficial
Retorna o saldo, gastos de hoje e moeda para um tipo de conta especificado.
Parâmetros:
account_type(opcional): Tipo de conta para verificar o saldo. Opções: "default", "personal", "prepaid", "flex", "rewards", "joint"total_balance(opcional): Se definido como true, retorna o saldo total da conta. O padrão é false
Exemplos de solicitações:
What's my current balance?
How much money do I have in my joint account?
What's the balance of my flex account?
🍯 pots: link para documentação oficial
Retorna a lista de potes para um tipo de conta especificado.
Parâmetros:
account_type(opcional): Tipo de conta para verificar potes. Opções: "default", "personal", "prepaid", "flex", "rewards", "joint"
Exemplos de solicitações:
Show me my pots
How many pots do I have?
How much money do I have in my "Savings" pot?
🪙 pot_deposit: link para documentação oficial
Deposita dinheiro de uma conta em um pote.
Parâmetros:
pot_id(obrigatório): O ID do pote no qual depositar dinheiroamount(obrigatório): O valor a depositar em centavos (por exemplo, 1000 para £10,00)account_type(opcional): A conta da qual retirar. O padrão é "personal"
Exemplos de solicitações:
Add £25 to my Savings pot
Move £10 from my personal account to my Holiday pot
🏧 pot_withdraw: link para documentação oficial
Retira dinheiro de um pote de volta para uma conta.
Parâmetros:
pot_id(obrigatório): O ID do pote do qual retirar dinheiroamount(obrigatório): O valor a retirar em centavos (por exemplo, 1000 para £10,00)account_type(opcional): A conta na qual depositar. O padrão é "personal"
Exemplos de solicitações:
Take £25 from my Savings pot
Withdraw £10 from my Holiday pot to my personal account
🧾 list_transactions: link para documentação oficial
Lista transações para uma conta especificada.
Parâmetros:
account_type(opcional): Tipo de conta para listar transações. O padrão é "personal"since(opcional): Data de início para transações no formato ISO 8601 (por exemplo, "2025-05-20T00:00:00Z")before(opcional): Data de fim para transações no formato ISO 8601limit(opcional): Número máximo de transações a retornar. O padrão é 1000
Exemplos de solicitações:
Show me my recent transactions
What transactions do I have from today?
List all transactions from my joint account this month
📖 retrieve_transaction: link para documentação oficial
Recupera detalhes de uma transação específica.
Parâmetros:
transaction_id(obrigatório): O ID da transação a recuperarexpand(opcional): Dados adicionais a incluir na resposta. O padrão é "merchant"
Exemplos de solicitações:
Show me the details of my last transaction
What was the last transaction I made?
📝 annotate_transaction: link para documentação oficial
Edita os metadados de uma transação.
Parâmetros:
transaction_id(obrigatório): O ID da transação a anotarmetadata_key(obrigatório): A chave dos metadados a editar. O padrão é 'notes'metadata_value(obrigatório): O novo valor para a chave de metadados. Valores vazios removerão a chavedelete_note(opcional): Se definido como true, a nota será excluída. O padrão é false
Exemplos de solicitações:
Add a note to my last transaction saying "Dinner with friends"
Remove the note from my last transaction
📦 Funções Ausentes do MCP do Monzo presentes na API do Monzo
❓ Perguntas Frequentes
Meu Claude Desktop não está detectando o servidor
- Certifique-se de ter a versão mais recente do Claude Desktop.
- Reinicie o Claude Desktop forçando o encerramento do aplicativo e reabrindo-o.
- Certifique-se de que seu caminho está correto no arquivo de configuração.
- Use o caminho absoluto para sua instalação do
uv, por exemplo,/Users/[Your Home Directory]/.local/bin/uvna seção de comando do arquivo de configuração. - Verifique se a biblioteca
requestsestá incluída na lista de argumentos--withna sua configuração, pois esta é uma causa comum de problemas de conexão.
Perguntei ao Claude sobre meu saldo, mas ele não está usando o servidor MCP
- LLMs como Claude podem nem sempre usar o servidor MCP para cada solicitação. Tente reformular sua pergunta, pedindo especificamente ao Claude para verificar seu saldo Monzo usando a ferramenta MCP do Monzo.
- Você pode verificar se houve erros observando os logs em
~/Library/Logs/Claude/mcp-server-Monzo.log.
Como funcionam os depósitos e retiradas de potes?
- Quando você deposita dinheiro em um pote ou retira de um pote, o MCP cria um dedupe_id único que inclui o parâmetro "triggered_by".
- Isso ajuda a identificar transações e evita transações duplicadas acidentais.
- O valor padrão de "triggered_by" é "mcp", mas você pode personalizá-lo para rastrear diferentes fontes de transferências de potes.
O que é uv?
uvé um gerenciador e instalador de pacotes Python projetado para ser muito mais rápido que o pip.- Ele mantém ambientes isolados para seus projetos e resolve dependências de forma eficiente.
- Saiba mais em github.com/astral-sh/uv.