内容
MseeP.ai 安全评估徽章](https://mseep.net/pr/robcerda-monarch-mcp-server-badge.png)](https://mseep.ai/app/robcerda-monarch-mcp-server)
# Monarch Money MCP 服务器
用于与 Monarch Money 个人理财平台集成的模型上下文协议(MCP)服务器。该服务器通过 Claude Desktop 和 Claude Code 提供对您的财务账户、交易、预算和分析的无缝访问。
我的 MonarchMoney 推荐链接:https://www.monarchmoney.com/referral/ufmn0r83yf?r_source=share
**使用 [MonarchMoney 社区 Python 库](https://github.com/bradleyseanf/monarchmoneycommunity)** 构建 - 一个积极维护的 Monarch Money API 社区分支,支持完整的 MFA 功能。
<a href="https://glama.ai/mcp/servers/@robcerda/monarch-mcp-server">
<img width="380" height="200" src="https://glama.ai/mcp/servers/@robcerda/monarch-mcp-server/badge" alt="monarch-mcp-server MCP 服务器" />
</a>
## 🚀 快速开始
### 1. 安装
1. **克隆此仓库**:
```bash
git clone https://github.com/robcerda/monarch-mcp-server.git
cd monarch-mcp-server
```
2. **安装依赖项**:
**使用 `pip`**:
```bash
pip install -r requirements.txt
pip install -e .
```
**使用 `uv`** (替代方案):
```bash
uv sync
```
3. **配置 Claude Desktop**:
将以下内容添加到您的 Claude Desktop 配置文件中:
**macOS**:`~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**:`%APPDATA%\Claude\claude_desktop_config.json`
```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. **重启 Claude Desktop**
**或**
3. **配置 Claude Code** (CLI):
将以下内容添加到您的 Claude Code 配置文件中:
**全局** (所有项目):
**macOS/Linux**:`~/.claude.json`
**Windows**:`%USERPROFILE%\.claude.json`
```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"
]
}
}
}
```
**项目级** (特定目录):
在项目目录中创建 `.mcp.json`:
```json
{
"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"
]
}
}
```
**如果通过 `pip` 安装** 而不是 `uv`,请使用:
```json
{
"command": "python",
"args": ["/path/to/your/monarch-mcp-server/src/monarch_mcp_server/server.py"]
}
```
**重要**:将 `/path/to/your/monarch-mcp-server` 替换为您的实际路径!
4. **重启 Claude Code**
### 2. 一次性身份验证设置
**重要**:出于安全性和 MFA 支持原因,身份验证在 Claude 之外进行。
#### 选项 A:电子邮件/密码登录
打开终端并运行:
**使用 `python`**:
```bash
cd /path/to/your/monarch-mcp-server
python login_setup.py
```
**使用 `uv`**:
```bash
cd /path/to/your/monarch-mcp-server
uv run python login_setup.py
```
按照提示进行操作:
- 输入您的 Monarch Money 电子邮件和密码
- 如果启用了 MFA,请提供 2FA 代码
- 会话将自动保存
### 3. 开始使用
身份验证完成后,直接在 Claude Desktop 或 Claude Code 中使用这些工具:
- `get_accounts` - 查看所有财务账户
- `get_transactions` - 最近的交易记录,支持筛选
- `get_budgets` - 预算信息和支出
- `get_cashflow` - 收入/支出分析
## ✨ 功能
### 📊 账户管理
- **获取账户**:查看所有关联的财务账户,包含余额和机构信息
- **获取账户持有情况**:查看投资账户中的证券和投资
- **刷新账户**:请求金融机构的实时数据更新
### 💰 交易访问
- **获取交易记录**:获取交易数据,支持按日期、账户和分页筛选
- **创建交易记录**:在账户中添加新的交易记录
- **更新交易记录**:修改现有的交易记录(金额、描述、类别、日期)
### 🏷️ 类别管理
- **获取类别**:列出所有交易类别,包含组、图标和元数据
- **获取类别组**:查看类别组及其关联的类别
### 📋 交易审查
- **获取需要审查的交易记录**:查找需要关注的交易记录(未分类、无备注、已标记)
- **设置交易类别**:为交易记录分配类别
- **更新交易备注**:在交易记录中添加或更新备注(适用于收据链接)
- **标记交易已审查**:清除交易记录的 needs_review 标志
### 📦 批量操作
- **批量分类交易记录**:一次性将类别应用于多个交易记录
### 🔖 标签管理
- **获取标签**:列出所有可用的标签,包含颜色和用法计数
- **设置交易标签**:为交易记录应用标签
- **创建标签**:创建新的标签,自定义名称和颜色
### 🔍 高级搜索
- **搜索交易记录**:使用筛选条件进行综合搜索(商家、类别、账户、标签、日期范围、金额)
- **获取交易详情**:检索单个交易记录的完整详情
- **删除交易记录**:删除交易记录
- **获取定期交易记录**:查看即将到来的定期交易记录
### 🤖 交易规则(自动分类)
- **获取交易规则**:列出所有自动分类规则
- **创建交易规则**:创建带有商家/金额条件的规则,以自动分类
- **更新交易规则**:修改现有的规则
- **删除交易规则**:删除规则
### ✂️ 交易分割
- **获取交易分割**:查看交易记录如何分割成多个部分
- **分割交易记录**:将单个交易记录分割成多个部分,带有不同的类别或商家
### 💵 预算管理
- **获取预算**:访问预算信息,包含已花费金额和剩余余额,按类别划分
- **设置预算金额**:为任何类别或类别组创建或修改预算金额
### 📈 净资产跟踪
- **获取净资产**:跟踪一段时间内的总净资产,包含每日快照和趋势分析
- **获取账户余额历史**:查看任何账户的历史余额数据
- **按账户类型获取净资产**:查看账户类型的净资产分解(支票、储蓄、投资等)
### 📊 财务分析
- **获取现金流**:在指定的日期范围内分析财务现金流,包含收入/支出分解
- **获取交易摘要**:交易记录的快速高级别统计数据
- **获取消费摘要**:按类别划分的消费分解,包含总额
### 🔐 安全身份验证
- **一次性设置**:身份验证一次,使用数周/数月
- **MFA 支持**:完全支持双因素身份验证
- **SSO/Google 登录**:使用 `monarch_login_with_token` 粘贴会话令牌
- **会话持久性**:无需频繁重新身份验证
- **安全**:凭证从不通过 Claude Desktop 或 Claude Code 传递
## 🛠️ 可用工具
| 工具 | 描述 | 参数 |
|------|-------------|------------|
| `setup_authentication` | 获取设置说明 | 无 |
| `check_auth_status` | 检查身份验证状态 | 无 |
| `get_accounts` | 获取所有财务账户 | 无 |
| `get_transactions` | 获取交易记录,支持筛选 | `limit`, `offset`, `start_date`, `end_date`, `account_id` |
| `get_budgets` | 获取预算信息 | `start_date`, `end_date` |
| `set_budget_amount` | 为类别设置预算 | `amount`, `category_id`, `category_group_id`, `start_date`, `apply_to_future` |
| `get_cashflow` | 获取现金流分析 | `start_date`, `end_date` |
| `get_net_worth` | 获取净资产历史 | `start_date`, `end_date`, `account_type` |
| `get_account_balance_history` | 获取账户余额历史 | `account_id` |
| `get_net_worth_by_account_type` | 按账户类型获取净资产 | `start_date`, `timeframe` |
| `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` | 请求账户数据刷新 | 无 |
| `get_categories` | 列出所有交易类别 | 无 |
| `get_category_groups` | 列出类别组及其类别 | 无 |
| `get_transactions_needing_review` | 获取需要审查的交易记录 | `needs_review`, `days`, `uncategorized`, `no_notes` |
| `set_transaction_category` | 为交易记录设置类别 | `transaction_id`, `category_id`, `mark_reviewed` |
| `update_transaction_notes` | 更新交易记录的备注 | `transaction_id`, `notes` |
| `mark_transaction_reviewed` | 标记交易记录为已审查 | `transaction_id` |
| `bulk_categorize_transactions` | 批量分类交易记录 | `transaction_ids`, `category_id` |
| `get_tags` | 列出所有标签 | 无 |
| `set_transaction_tags` | 为交易记录设置标签 | `transaction_id`, `tag_ids` |
| `create_tag` | 创建新的标签 | `name`, `color` |
| `search_transactions` | 搜索交易记录,支持筛选 | `search`, `category_ids`, `account_ids`, `tag_ids`, `start_date`, `end_date`, `min_amount`, `max_amount` |
| `get_transaction_details` |记录的详情 | `transaction_id` |
| `delete_transaction` | 删除交易记录 | `transaction_id` |
| `get_recurring_transactions` | 获取定期交易记录 | 无 |
| `get_transaction_rules` | 列出自动分类规则 | 无 |
| `create_transaction_rule` | 创建自动分类规则 | `merchant_criteria_operator`, `merchant_criteria_value`, `set_category_id`, `add_tag_ids`, `amount_operator`, `amount_value` |
| `update_transaction_rule` | 更新现有的规则 | `rule_id`, `merchant_criteria_operator`, `merchant_criteria_value`, `set_category_id` |
| `delete_transaction_rule` | 删除规则rule_id` |
| `get_transaction_s | 获取交易记录的分割 | `transaction_id` |
| `split_transaction` | 将交易成多个部分 | `transaction_id`, `` (JSON 数组) |
| `get_transactions_summary` | 获取交易记录的高级统计数据 |
| `get_spending_summary`按类别划分的消费分解 | `start `end_date`, `limit` |
## 使用示例
### 查看您的账户
```
使用 get_accounts 显示我所有财务账户
```
### 获取最近的交易记录
```
使用 get_transactions 显示我 50 笔交易记录
```
### 检查支出与预算
```
使用 get_budgets当前的预算状态
```
### 设置预算金额
```
将我的杂货预算设置为本月 ,使用 set_budget_amount
```
### 将预算所有月份
```
将我的娱乐预算设置为 美元,并使用 set_budget_amount 应用于未来
```
### 跟踪一段时间内的净资产
```
使用 get_net_worth 显示我过去净资产趋势
查看账户余额```
使用 get_history 显示我的储蓄账户余额如何随时间变化
```
### 按账户类型划分净资产
```
使用 get_net_worth_by_account_type 显示我的净资产按账户类型划分的情况
```
### 分析现金流
```
使用 get_cashflow 获取我过去 3 个月的现金流
```
### 列出可用类别
```
使用 get_categories 显示所有可用类别
```
### 审查未分类的交易记录
```
使用 get_transactions_needing_review 显示我最近 7 天内需要审查的交易记录
```
### 批量分类交易记录
```
使用 bulk_categorize_transactions 将这交易记录分类为“杂货”
```
### 为交易记录添加标签
```
使用 set_transaction_tags 为此交易记录添加“可抵扣税款”标签
```
### 搜索交易记录
```
使用 search_transactions 查找上个月所有超过 50 美元的亚马逊交易记录
```
### 查看定期账单
```
使用 get_recurring_transactions 显示我的即将到来的定期交易记录
```
### 创建自动分类规则
```
使用 create_transaction_rule 创建一个规则,将亚马逊交易记录自动分类为“购物”
```
### 分割交易记录
```
使用 split_transaction 将这笔 100 美元的 Costco 交易记录分割成 60 美元的杂货和 40 美元的家庭用品
```
### 获取交易记录统计数据
```
使用_summary 给我一个快速的交易记录摘要
查看按类别划分的消费情况
```
使用 get_spending_summary 显示我上个月按类别划分的消费情况
```
## 📅 日期格式
- 所有日期应为 `YYYY-MM-DD` 格式(例如,“2024-01”)
- 交易金额:**正数** 表示收入,**负数** 表示支出
## 🔧 故障排除
### 身份验证问题
如果您看到“需要身份验证”的错误:
1. 运行设置命令:`cd /path/to/your/monarch-mcp-server && python login_setup.py` (或 `uv run python login_setup.py`)
2. 重启 Claude Desktop 或 Claude Code
3. 尝试使用 `get_accounts` 等工具
### 会话过期
会话持续数周,但如果过期:
1. 再次运行相同的设置命令:`python login_setup.py` (或 `uv run python login_setup.py`)
2. 输入您的凭证和 2FA 代码
3话将自动### 常见错误消息
- **“有效会话”**:运行 `python.py` (或 `uv run python login`)
- **“无效账户 ID”**:使用 `get_accounts` 查看有效的账户 ID
- **“日期格式错误”**:使用 YYYY-MM-DD 格式的日期
## 🏗️ 技术细节
### 项目结构
```
monarch-mcp-server/
├── src/monarch_mcp_server/
│ ├── __init__.py
│ └── server.py # 主要服务器实现
├── login_setup.py # 电子邮件/密码身份验证脚本
├── pyproject.toml # 项目配置
├── requirements.txt # 依赖项
└── README.md # 本文档
```
### 会话管理
- 会话安全存储在 `.mm/mm_session.pickle`
- 自动会话发现和加载
- 会话在 Claude Desktop 和 Claude Code 重启之间保持一致
- 无需频繁重新身份验证
### 安全功能
- 凭证从不通过 Claude Desktop 或 Claude Code 传输
- 完全支持 MFA/2FA
- 会话文件加密
- 在安全终端环境身份验证
🙏 致谢
此 MCP 服务器基于 [MonarchMoney 社区 Python 库](https://github.com/bradleyseanf/monarchmoneycommunity),它是 Monarch Money API 的积极维护的社区分支,由 [@hammem](https://github.com/hammem) 原始库的作者 [@hammem](https://github.com/hammem) 维护。该社区分支提供- Monarch Money 当前域的更新 API 端点
- 具有 MFA 支持的安全身份验证 Monarch Money API 的全面覆盖
- 会话管理和持久性
感谢 [@hammhttps://github.com/hammem) 创建此必备库!
## 📄 许可证
MIT 许可证
## 🆘 支持
如遇问题:
1. 使用 `check_auth_status` 检查身份验证
2. 再次运行设置命令:`cd /path/to/your/monarch-mcp-server && python login_setup.py`
3. 检查错误日志中的详细消息
4. 确保 Monarch Money 服务可访问
## 🔄 更新
要更新服务器:
1. 拉取存储库的最新更改. 重启 Claude Desktop 或 Claude Code. 如有需要,重新运行身份python login_setup.py`
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器