个人财务集成服务器

Monarch Money MCP服务器是一个模型上下文协议(MCP)服务器,用于与Monarch Money个人财务平台集成,提供无缝访问财务账户、交易、预算和分析的功能。

  • by testusercar
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 testusercar/monarch-mcp-server

使用说明

君主货币MCP服务器

用于与Monarch Money个人理财平台集成的模型上下文协议(MCP)服务器。此服务器通过Claude Desktop提供对您的财务账户、交易、预算和分析的无缝访问。

我的MonarchMoney推荐:https://www.monarchmoney.com/referral/ufmn0r83yf?r_source=share

与 MonarchMoney Python库 通过 @哈默 -一个梦幻般的非官方API Monarch Money与完全的MFA支持。

🚀 快速开始

1.安装

  1. 克隆此存储库:

    git clone https://github.com/robcerda/monarch-mcp-server.git
    cd monarch-mcp-server
    
  2. 安装依赖项:

    pip install -r requirements.txt
    pip install -e .
    
  3. 配置Claude桌面: 将此添加到您的Claude Desktop配置文件中:

    macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    视窗: %APPDATA%\Claude\claude_desktop_config.json

    {
      "mcpServers": {
        "Monarch Money": {
          "command": "/opt/homebrew/bin/uv",
          "args": [
            "run",
            "--with",
            "mcp[cli]",
            "--with-editable",
            "/path/to/your/monarch-mcp-server",
            "mcp",
            "run",
            "/path/to/your/monarch-mcp-server/src/monarch_mcp_server/server.py"
          ]
        }
      }
    }
    

    重要:替换 /path/to/your/monarch-mcp-server 与你的实际路径!

  4. 重新启动克劳德桌面

2.一次性身份验证设置

重要:为了安全和MFA支持,身份验证是在Claude Desktop之外完成的。

打开终端并运行:

cd /path/to/your/monarch-mcp-server
python login_setup.py

按照提示操作:

  • 输入您的Monarch Money电子邮件和密码
  • 如果您启用了MFA,请提供2FA代码
  • 会话将自动保存

3.在Claude Desktop中开始使用

通过身份验证后,直接在Claude Desktop中使用这些工具:

  • get_accounts -查看您的所有财务账户
  • get_transactions -最近使用筛选的交易
  • get_budgets -预算信息和支出
  • get_cashflow -收入/支出分析

✨ 特性

📊 账户管理

  • 获取帐户:查看所有关联的财务账户,包括余额和机构信息
  • 获取账户持有量:见投资账户中的证券和投资
  • 刷新帐户:向金融机构请求实时数据更新

💰 交易访问

  • 获取交易记录:通过按日期、帐户和分页进行筛选来获取交易数据
  • 创建交易:向帐户添加新交易
  • 更新事务:修改现有交易(金额、描述、类别、日期)

📈 财务分析

  • 获取预算:获取预算信息,包括支出金额和剩余余额
  • 获取现金流:使用收入/支出明细分析指定日期范围内的财务现金流

🔐 安全认证

  • 一次性设置:认证一次,使用数周/数月
  • MFA支持:完全支持双因素身份验证
  • 会话保持:无需频繁重新验证
  • 安全:凭据永远不会通过Claude Desktop

🛠️ 可用工具

工具 说明 参数
setup_authentication 获取设置说明 无
check_auth_status 检查身份验证状态 无
get_accounts 获取所有财务账户 无
get_transactions 通过过滤获取交易 limit, offset, start_date, end_date, account_id
get_budgets 获取预算信息 无
get_cashflow 获取现金流分析 start_date, end_date
get_account_holdings 获取投资资产 account_id
create_transaction 创建新交易 account_id, amount, description, date, category_id, merchant_name
update_transaction 更新现有交易 transaction_id, amount, description, category_id, date
refresh_accounts 请求帐户数据刷新 无

📝 用法示例

查看您的账户

Use get_accounts to show me all my financial accounts

获取最近的交易记录

Show me my last 50 transactions using get_transactions with limit 50

检查支出与预算

Use get_budgets to show my current budget status

分析现金流

Get my cashflow for the last 3 months using get_cashflow

📅 日期格式

  • 所有日期应在 YYYY-MM-DD 格式(例如,“2024-01-15”)
  • 交易金额: 积极的 对于收入, 负面的 费用

🔧 故障排除

身份验证问题

如果您看到“需要身份验证”错误:

  1. 运行安装命令: cd /path/to/your/monarch-mcp-server && python login_setup.py
  2. 重新启动克劳德桌面
  3. 尝试使用以下工具 get_accounts

会话已过期

会话持续数周,但如果过期:

  1. 再次运行相同的安装命令
  2. 输入您的凭据和2FA代码
  3. 会话将自动刷新

常见错误消息

  • “未找到有效会话”:运行 login_setup.py
  • “帐户ID无效”:使用 get_accounts 查看有效的帐户ID
  • “日期格式错误”:日期使用YYYY-MM-DD格式

🏗️ 技术细节

项目结构

monarch-mcp-server/
├── src/monarch_mcp_server/
│   ├── __init__.py
│   └── server.py          # Main server implementation
├── login_setup.py         # Authentication setup script
├── pyproject.toml         # Project configuration
├── requirements.txt       # Dependencies
└── README.md             # This documentation

会话管理

  • 会话安全地存储在 .mm/mm_session.pickle
  • 自动会话发现和加载
  • 会话在Claude Desktop重新启动时持续存在
  • 无需频繁重新验证

安全特性

  • 凭据从未通过Claude Desktop传输
  • 完全支持MFA/2FA
  • 会话文件已加密
  • 在安全终端环境中处理身份验证

🙏 致谢

此MCP服务器建立在优秀的 MonarchMoney Python库 创建者 @哈默他们的库为这种集成提供了坚实的基础,包括:

  • 支持MFA的安全身份验证
  • 为Monarch Money提供全面的API覆盖范围
  • 会话管理和持久性
  • 良好记录和维护的代码库

谢谢你 @哈默 为了创建和维护这个重要的库!

📄 许可证

MIT许可证

🆘 支持

对于问题:

  1. 检查身份验证 check_auth_status
  2. 再次运行安装命令: cd /path/to/your/monarch-mcp-server && python login_setup.py
  3. 检查错误日志以获取详细消息
  4. 确保Monarch Money服务可用

🔄 更新

要更新服务器,请执行以下操作:

  1. 从存储库中提取最新更改
  2. 重新启动克劳德桌面
  3. 如果需要,请重新运行身份验证: python login_setup.py