Monzo
Accede y gestiona tus datos bancarios de Monzo, permitiéndote consultar saldos y ver transacciones.
Documentación
🏦 Servidor MCP de Monzo
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a tus datos bancarios de Monzo a través de una herramienta de Claude.
🪧 Demostración
https://github.com/user-attachments/assets/ca3f9558-bc4b-460f-8658-99674f9c16b7
🖼️ Resultado
🚀 Instalación
# 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
🔑 Configuración de la API
Crea un archivo .env en el directorio del proyecto con tus credenciales de Monzo:
[!NOTA] Para obtener tus credenciales, sigue las instrucciones en la documentación oficial de la API de desarrollo de 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'
[!NOTA] Recomiendo obtener los IDs de cuenta y añadirlos a tu archivo dotenv para tener una experiencia más fluida con el servidor y reducir el número de llamadas a la API. Esto también se puede encontrar en la documentación oficial de la API de desarrollo de Monzo.
🔧 Configuración con Claude Desktop
Método 1: Instalación automática
Usa la herramienta CLI de MCP para instalar el servidor automáticamente:
uv run mcp install main.py
Método 2: Configuración manual
Añade el servidor a tu archivo de configuración de Claude Desktop ubicado en ~/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: Reemplaza
/path/to/your/con tus rutas reales. Importante: Asegúrate de incluirrequestsen el argumento--withcomo se muestra arriba.
🤖 Uso con Claude Desktop
- Reinicia Claude Desktop después de la instalación.
- Abre la aplicación e inicia una nueva conversación.
- Ahora puedes preguntarle a Claude sobre tus cuentas de Monzo:
- "¿Cuál es mi saldo actual?"
- "¿Cuánto dinero tengo en mi cuenta conjunta?"
- "Muéstrame todas mis cuentas de Monzo"
- "Mueve £50 de mi cuenta personal a mi fondo de ahorro"
- "Muéstrame mis transacciones de hoy"
📊 Funciones disponibles
💷 balance: enlace a la documentación oficial
Devuelve el saldo, el gasto de hoy y la moneda para un tipo de cuenta especificado.
Parámetros:
account_type(opcional): Tipo de cuenta para consultar el saldo. Opciones: "default", "personal", "prepaid", "flex", "rewards", "joint"total_balance(opcional): Si se establece en true, devuelve el saldo total de la cuenta. El valor predeterminado es false
Ejemplos de solicitudes:
What's my current balance?
How much money do I have in my joint account?
What's the balance of my flex account?
🍯 pots: enlace a la documentación oficial
Devuelve la lista de fondos para un tipo de cuenta especificado.
Parámetros:
account_type(opcional): Tipo de cuenta para consultar los fondos. Opciones: "default", "personal", "prepaid", "flex", "rewards", "joint"
Ejemplos de solicitudes:
Show me my pots
How many pots do I have?
How much money do I have in my "Savings" pot?
🪙 pot_deposit: enlace a la documentación oficial
Deposita dinero desde una cuenta a un fondo.
Parámetros:
pot_id(obligatorio): El ID del fondo donde depositar dineroamount(obligatorio): La cantidad a depositar en peniques (por ejemplo, 1000 para £10.00)account_type(opcional): La cuenta de la que retirar. El valor predeterminado es "personal"
Ejemplos de solicitudes:
Add £25 to my Savings pot
Move £10 from my personal account to my Holiday pot
🏧 pot_withdraw: enlace a la documentación oficial
Retira dinero de un fondo de vuelta a una cuenta.
Parámetros:
pot_id(obligatorio): El ID del fondo del que retirar dineroamount(obligatorio): La cantidad a retirar en peniques (por ejemplo, 1000 para £10.00)account_type(opcional): La cuenta donde depositar. El valor predeterminado es "personal"
Ejemplos de solicitudes:
Take £25 from my Savings pot
Withdraw £10 from my Holiday pot to my personal account
🧾 list_transactions: enlace a la documentación oficial
Lista las transacciones de una cuenta especificada.
Parámetros:
account_type(opcional): Tipo de cuenta para listar transacciones. El valor predeterminado es "personal"since(opcional): Fecha de inicio para las transacciones en formato ISO 8601 (por ejemplo, "2025-05-20T00:00:00Z")before(opcional): Fecha de fin para las transacciones en formato ISO 8601limit(opcional): Número máximo de transacciones a devolver. El valor predeterminado es 1000
Ejemplos de solicitudes:
Show me my recent transactions
What transactions do I have from today?
List all transactions from my joint account this month
📖 retrieve_transaction: enlace a la documentación oficial
Recupera los detalles de una transacción específica.
Parámetros:
transaction_id(obligatorio): El ID de la transacción a recuperarexpand(opcional): Datos adicionales a incluir en la respuesta. El valor predeterminado es "merchant"
Ejemplos de solicitudes:
Show me the details of my last transaction
What was the last transaction I made?
📝 annotate_transaction: enlace a la documentación oficial
Edita los metadatos de una transacción.
Parámetros:
transaction_id(obligatorio): El ID de la transacción a anotarmetadata_key(obligatorio): La clave de los metadatos a editar. El valor predeterminado es 'notes'metadata_value(obligatorio): El nuevo valor para la clave de metadatos. Los valores vacíos eliminarán la clavedelete_note(opcional): Si se establece en true, la nota se eliminará. El valor predeterminado es false
Ejemplos de solicitudes:
Add a note to my last transaction saying "Dinner with friends"
Remove the note from my last transaction
📦 Funciones faltantes del MCP de Monzo presentes en la API de Monzo
❓ Preguntas frecuentes
Mi Claude Desktop no detecta el servidor
- Asegúrate de tener la última versión de Claude Desktop.
- Reinicia Claude Desktop cerrando la aplicación por completo y volviéndola a abrir.
- Asegúrate de que tu ruta sea correcta en el archivo de configuración.
- Usa la ruta absoluta a tu instalación de
uv, por ejemplo,/Users/[Your Home Directory]/.local/bin/uven la sección de comandos del archivo de configuración. - Verifica que la biblioteca
requestsesté incluida en la lista de argumentos de--withen tu configuración, ya que esta es una causa común de problemas de conexión.
Le he preguntado a Claude sobre mi saldo pero no está usando el servidor MCP
- Los LLM como Claude pueden no usar siempre el servidor MCP para cada solicitud. Intenta reformular tu pregunta, pidiendo específicamente a Claude que consulte tu saldo de Monzo usando la herramienta MCP de Monzo.
- Puedes comprobar si hubo errores mirando los registros en
~/Library/Logs/Claude/mcp-server-Monzo.log.
¿Cómo funcionan los depósitos y retiros de fondos?
- Cuando depositas dinero en un fondo o retiras de un fondo, el MCP crea un dedupe_id único que incluye el parámetro "triggered_by".
- Esto ayuda a identificar transacciones y previene transacciones duplicadas accidentales.
- El valor predeterminado de "triggered_by" es "mcp", pero puedes personalizarlo para rastrear diferentes fuentes de transferencias de fondos.
¿Qué es uv?
uves un gestor e instalador de paquetes de Python diseñado para ser mucho más rápido que pip.- Mantiene entornos aislados para tus proyectos y resuelve dependencias de manera eficiente.
- Aprende más en github.com/astral-sh/uv.