内容
# 金融追踪器 MCP 服务器
通过使用模型上下文协议(MCP)的Claude AI进行AI驱动的个人财务分析。

## 功能描述
该MCP服务器将Claude AI连接到财务交易数据,使您能够使用自然语言查询您的财务状况:
- "显示我这个月的支出"
- "查找我的所有订阅"
- "我的前10笔支出是什么?"
- "显示过去3个月的支出趋势"
- "搜索所有星巴克交易"
- "检查我的预算:餐饮 $500,购物 $300"
## 功能特点
- **6项财务分析工具**
- 每月支出总结
- 订阅检测(定期收费)
- 预算跟踪和提醒
- 支出趋势分析
- 支出排名
- 交易搜索
- **Plaid集成**
- 连接到10,000+家银行(测试模式)
- 实时交易数据(连接到真实账户时)
- 安全的API访问
- **隐私优先**
- 所有数据保留在您的本地机器上
- 无外部数据存储
- 加密的API连接
## 快速入门
### 前提条件
- Python 3.9 或更高版本
- Claude 桌面应用程序
- Plaid 账户(免费,网址:https://dashboard.plaid.com)
### 安装
1. **克隆仓库**
```bash
git clone https://github.com/yourusername/finance-plaid-mcp.git
cd finance-plaid-mcp
```
2. **创建虚拟环境**
```bash
python -m venv venv
# 激活:
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate
```
3. **安装依赖项**
```bash
pip install -r requirements.txt
```
4. **设置Plaid API密钥**
将 `.env.example` 复制到 `.env` 并添加您的Plaid密钥,网址:https://dashboard.plaid.com
```bash
PLAID_CLIENT_ID=your_client_id_here
PLAID_SECRET=your_sandbox_secret_here
PLAID_ENV=sandbox
DATA_DIR=./data
```
5. **生成样本数据**(用于测试)
```bash
python generate_sample_data.py
```
6. **配置Claude 桌面应用程序**
将以下内容添加到您的Claude 桌面应用程序配置文件中:
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
**Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"finance-tracker": {
"command": "python",
"args": [
"/FULL/PATH/TO/finance-plaid-mcp/src/server.py"
]
}
}
}
```
**重要:** 使用项目的完整绝对路径!
7. **重启Claude 桌面应用程序**
8. **测试!**
在Claude中,询问:
"查找我的所有订阅"
## 📁 项目结构
finance-plaid-mcp/
├── src/
│ ├── server.py # MCP服务器(主要入口点)
│ ├── plaid_client.py # Plaid API集成
│ ├── analyzer.py # 交易分析逻辑
│ └── config.py # 配置和环境变量
├── data/
│ └── sample_transactions.json # 生成的测试数据
├── screenshot.png # 演示截图
├── .env # 您的API密钥(不提交到git)
├── .env.example # API密钥模板
├── .gitignore # 防止提交密钥
├── requirements.txt # Python依赖项
└── README.md # 本文件
## 🔧 可用工具
Claude可以在分析您的财务状况时调用这些工具:
| 工具 | 描述 |
|------|-------------|
| `monthly_summary` | 获取任意月份的支出/收入总结 |
| `find_subscriptions` | 检测定期收费(Netflix,Spotify等) |
| `spending_trends` | 分析一段时间内的支出模式 |
| `budget_check` | 比较实际支出与预算限制 |
| `top_expenses` | 获取最大的支出排名 |
| `search_transactions` | 按商家或类别搜索 |
## 🏦 连接真实银行账户
**目前在沙盒模式**(仅测试数据)
要连接真实银行:
1. 在Plaid仪表板中切换到开发模式
2. 更新 `.env`: `PLAID_ENV=development`
3. 实现Plaid Link UI(银行登录的Web界面)
**出于投资组合/演示目的,建议使用沙盒模式** 以避免暴露真实的财务数据。
## 📊 示例输出
**查找订阅:**
发现19个订阅,总计 $18,123/年
主要订阅:
康卡斯特互联网: $130.71/月($915 总计)
苹果商店: $180.05/月($900 总计)
威瑞森电话账单: $110.75/月($886 总计)
电费: $119.86/月($839 总计)
Zara: $151.91/月($760 总计)
**月度总结:**
月度总计: $1,510
收入: $5,000
支出: $3,490
净额: $1,510
按类别划分的支出:
杂货: $644
购物: $900
公用事业: $886
餐饮: $450
交通: $380
## 🛠️ 技术栈
- **Python 3.14**
- **MCP SDK** - 模型上下文协议
- **Plaid API** - 银行连接和交易数据
- **Pandas** - 数据分析
- **Claude AI** - 自然语言接口
## 🔐 安全和隐私
- ✅ API密钥存储在 `.env`(从不提交)
- ✅ 所有数据本地处理
- ✅ 无外部日志记录或分析
- ✅ Plaid提供银行级别的加密
**⚠️ 重要:** 永远不要将您的 `.env` 文件或API密钥提交到GitHub!
## 🤝 贡献
欢迎贡献!请随意:
- 报告错误
- 建议功能
- 提交拉取请求
## 📝 许可证
MIT 许可证
## 🙏 致谢
- 使用 [Anthropic's MCP](https://modelcontextprotocol.io) 构建
- 由 [Plaid](https://plaid.com) 提供支持
---
**⭐ 如果您觉得这有帮助,请给仓库加星!**