返回市场
蒙佐-MCP-bfdcampos

蒙佐-MCP-bfdcampos

作者:BfdCampos5 星标更新:2025-06-17

项目介绍

🏦 Monzo MCP Server

一个提供通过Claude工具访问您的Monzo银行数据的模型上下文协议(MCP)服务器。

🪧 示例

https://github.com/user-attachments/assets/ca3f9558-bc4b-460f-8658-99674f9c16b7

<details> <summary>

🖼️ 结果

</summary>

monzo_mcp_bfdcampos_result

</details>

🚀 安装

# 克隆仓库
git clone https://github.com/BfdCampos/monzo-mcp-bfdcampos.git
cd monzo-mcp-bfdcampos/monzo-mcp-bfdcampos

# 使用uv(Python包管理器)安装依赖
uv install

🔑 API 配置

在项目目录中创建一个.env文件,并添加您的Monzo凭证:

[!NOTE] 要获取您的凭证,请参阅官方Monzo Dev API文档

MONZO_ACCESS_TOKEN='your_access_token'
MONZO_USER_ID='your_user_id'
MONZO_ACCOUNT_ID='your_default_account_id'

# 添加不同账户类型的特定账户ID
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] 我建议您获取账户ID并将其添加到您的dotenv文件中,以获得更顺畅的服务器体验并减少API调用次数。这也可以在官方Monzo Dev API文档中找到。

🔧 与Claude Desktop设置

方法1:自动安装

使用MCP CLI工具自动安装服务器:

uv run mcp install main.py

方法2:手动配置

将服务器添加到位于~/Library/Application Support/Claude/claude_desktop_config.json的Claude Desktop配置文件中:

{
  "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"
      ]
    }
  }
}

注意:/path/to/your/替换为您实际的路径。 重要: 确保如上所示包含requests--with参数中。

🤖 与Claude Desktop一起使用

  1. 安装后重新启动Claude Desktop。
  2. 打开应用程序并开始新的对话。
  3. 您现在可以询问Claude关于您的Monzo账户的问题:
    • “我的当前余额是多少?”
    • “我在联合账户中有多少钱?”
    • “显示我所有的Monzo账户”
    • “从我的个人账户转50英镑到我的储蓄金”
    • “显示我今天的交易”

📊 可用功能

<details> <summary>

💷 balance

</summary>

返回指定账户类型的余额、今日支出和货币。

参数:

  • account_type(可选):要检查余额的账户类型。选项:“default”,“personal”,“prepaid”,“flex”,“rewards”,“joint”
  • total_balance(可选):如果设置为true,则返回账户的总余额。默认为false

示例请求:

我的当前余额是多少?
我在联合账户中有多少钱?
我的灵活账户余额是多少?
</details> <details> <summary>

🍯 pots

</summary>

返回指定账户类型的存钱罐列表。

参数:

  • account_type(可选):要检查存钱罐的账户类型。选项:“default”,“personal”,“prepaid”,“flex”,“rewards”,“joint”

示例请求:

显示我的存钱罐
我有多少个存钱罐?
我在“储蓄”存钱罐里有多少钱?
</details> <details> <summary>

🪙 pot_deposit

</summary>

将资金从账户转入存钱罐。

参数:

  • pot_id(必需):要存款的存钱罐ID
  • amount(必需):要存款的金额,以便士计(例如,1000表示£10.00)
  • account_type(可选):要提款的账户。默认为“personal”

示例请求:

向我的储蓄存钱罐存入25英镑
从我的个人账户向我的假期存钱罐存入10英镑
</details> <details> <summary>

🏧 pot_withdraw

</summary>

从存钱罐中取款回到账户。

参数:

  • pot_id(必需):要取款的存钱罐ID
  • amount(必需):要取款的金额,以便士计(例如,1000表示£10.00)
  • account_type(可选):要存款的账户。默认为“personal”

示例请求:

从我的储蓄存钱罐取出25英镑
从我的假期存钱罐取出10英镑到我的个人账户
</details> <details> <summary>

🧾 list_transactions

</summary>

列出指定账户的交易。

参数:

  • account_type(可选):要列出交易的账户类型。默认为“personal”
  • since(可选):交易的起始日期,ISO 8601格式(例如,“2025-05-20T00:00:00Z”)
  • before(可选):交易的结束日期,ISO 8601格式
  • limit(可选):要返回的最大交易数。默认为1000

示例请求:

显示我最近的交易
今天我有哪些交易?
列出这个月我的联合账户的所有交易
</details> <details> <summary>

📖 retrieve_transaction

</summary>

检索特定交易的详细信息。

参数:

  • transaction_id(必需):要检索的交易ID
  • expand(可选):要在响应中包含的附加数据。默认为“merchant”

示例请求:

显示我最后一次交易的详细信息
我最后一次交易是什么?
</details> <details> <summary>

📝 annotate_transaction

</summary>

编辑交易的元数据。

参数:

  • transaction_id(必需):要注解的交易ID
  • metadata_key(必需):要编辑的元数据键。默认为'notes'
  • metadata_value(必需):元数据键的新值。空值将删除该键
  • delete_note(可选):如果设置为true,则删除注释。默认为false

示例请求:

在我的最后一次交易中添加一个注释说“与朋友共进晚餐”
删除我最后一次交易中的注释
</details> <details> <summary>

📦 缺失于Monzo MCP但在Monzo API中存在的功能

</summary> </details>

❓ 常见问题

<details><summary>Claude Desktop未检测到服务器</summary>
  • 确保您拥有最新版本的Claude Desktop。
  • 强制退出并重新打开Claude Desktop。
  • 确保配置文件中的路径正确。
  • 在配置文件的命令部分使用绝对路径到您的uv安装,例如/Users/[Your Home Directory]/.local/bin/uv
  • 验证requests库是否包含在配置中的--with参数列表中,因为这是连接问题的常见原因。
</details> <details><summary>我问Claude关于我的余额,但它没有使用MCP服务器</summary>
  • 类似Claude这样的LLMs可能不会总是使用MCP服务器来处理每个请求。尝试重新表述您的问题,特别要求Claude使用Monzo MCP工具检查您的Monzo余额。
  • 您可以通过查看日志文件~/Library/Logs/Claude/mcp-server-Monzo.log来检查是否有任何错误。
</details> <details><summary>存钱罐存款和取款是如何工作的?</summary>
  • 当您将资金存入存钱罐或从存钱罐中取款时,MCP会创建一个包含“triggered_by”参数的独特dedupe_id。
  • 这有助于识别交易并防止意外重复交易。
  • 默认的“triggered_by”值是“mcp”,但您可以自定义此值以跟踪不同的存钱罐转移来源。
</details> <details><summary>`uv`是什么?</summary>
  • uv是一个设计得比pip更快的Python包管理和安装工具。
  • 它为您的项目维护隔离环境,并高效地解决依赖关系。
  • 了解更多请访问github.com/astral-sh/uv
</details>