使用说明
Pocketsmith MCP服务器
全面 模型上下文协议(MCP) 服务器 口袋匠 个人理财API。将您的AI助手转变为一个强大的财务管理工具,可以访问账户、预算、交易等。
个人项目——未发布到PyPI。从源代码安装(见下文)。
✨ 特性
💰 账户管理
- 查看所有账户余额(支票、储蓄、信用卡、投资)
- 通过交易历史获取详细的账户信息
- 跨多个账户跟踪净值
📊 预算与分析
- 获取任何时间段的预算摘要
- 分析每个类别的支出与预算
- 查看不同类别的支出趋势
- 比较实际与预测金额
💳 事务管理
- 列出、搜索和筛选交易记录
- 创建新交易(记录现金购买、手动输入)
- 更新交易详细信息(分类、添加注释、设置标签)
- 删除重复或不正确的交易记录
- 按帐户、类别、日期范围或审核状态筛选
📁 品类管理
- 列出所有具有层次结构的类别
- 创建新类别和子类别
- 设置自动分类规则
- 将支出组织到自定义类别中
🔄 循环交易
- 查看即将到来的账单和经常性费用
- 创建定期事件(租金、订阅、工资)
- 预测未来现金流
- 管理预算方案
🏷️ 标签和组织
- 列出并管理交易标签
- 标记交易以便于过滤
- 跟踪可减税费用、业务支出等。
📦 安装
从源代码安装
git clone https://github.com/dannyshaw/pocketsmith-mcp.git
cd pocketsmith-mcp
pip install -e .
或者直接与 uv 从源目录(无需安装)配置MCP客户端以调用:
uv --directory /path/to/pocketsmith-mcp run pocketsmith-mcp
🔑 配置
获取API密钥
- 登录 口袋匠
- 首选 设置→ API和开发人员
- 点击 生成新的API密钥
- 复制API密钥
⚠️ 安全: 将API密钥视为密码。它可以完全访问您的财务数据。
设置环境变量
export POCKETSMITH_API_KEY=your_api_key_here
或者创建一个 .env 文件:
echo "POCKETSMITH_API_KEY=your_api_key_here" > .env
🚀 用法
使用克劳德桌面
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"pocketsmith": {
"command": "uvx",
"args": ["pocketsmith-mcp"],
"env": {
"POCKETSMITH_API_KEY": "your_api_key_here"
}
}
}
}
使用克劳德代码
添加 ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"pocketsmith": {
"command": "pocketsmith-mcp",
"env": {
"POCKETSMITH_API_KEY": "your_api_key_here"
}
}
}
}
独立
直接运行服务器:
pocketsmith-mcp
💬 对话示例
配置后,您可以询问您的AI助手:
账户和预算查询
- “我的账户余额是多少?”
- “显示我的信用卡余额”
- “我这个月超出预算了吗?”
- “过去3个月我在杂货方面的支出趋势是什么?”
事务管理
- “列出本周我支票账户的交易”
- “在杂货店用50美元现金购物”
- “将该亚马逊交易归类为家庭”
- “删除交易#12345”
账单和经常性费用
- “这个月会有什么账单?”
- “创建每月2000美元的定期租金支付”
- “显示我的所有订阅”
类别和组织
- “创建一个名为“宠物费用”的新类别”
- “显示外出就餐类别中的所有交易”
- “制定一项规则,将星巴克自动归类为咖啡”
🛠️ 可用工具(共23个)
帐户工具
| 工具 | 说明 |
|---|---|
pocketsmith_list_accounts |
列出所有有余额的账户 |
pocketsmith_get_account |
获取详细的帐户信息 |
pocketsmith_list_transaction_accounts |
列出交易账户及其详细信息 |
预算和分析工具
| 工具 | 说明 |
|---|---|
pocketsmith_get_budget_summary |
获取日期范围的预算摘要 |
pocketsmith_list_budget |
按类别预算分析 |
pocketsmith_get_trend_analysis |
各类别的支出趋势 |
交易工具
| 工具 | 说明 |
|---|---|
pocketsmith_list_transactions |
使用筛选器列出交易记录 |
pocketsmith_list_transactions_by_account |
按账户筛选交易 |
pocketsmith_list_transactions_by_category |
按类别筛选交易 |
pocketsmith_get_transaction |
获取交易详情 |
pocketsmith_create_transaction |
创建新交易 |
pocketsmith_update_transaction |
更新交易详细信息 |
pocketsmith_delete_transaction |
删除交易 |
pocketsmith_search_transactions |
按关键字搜索 |
pocketsmith_categorize_transaction |
快速分类 |
分类工具
| 工具 | 说明 |
|---|---|
pocketsmith_list_categories |
列出所有类别 |
pocketsmith_create_category |
创建新类别 |
pocketsmith_list_category_rules |
列出自动分类规则 |
pocketsmith_create_category_rule |
创建分类规则 |
事件工具(经常性交易)
| 工具 | 说明 |
|---|---|
pocketsmith_list_events |
列出经常性交易 |
pocketsmith_create_event |
创建定期交易 |
其他工具
| 工具 | 说明 |
|---|---|
pocketsmith_list_labels |
列出所有交易标签 |
pocketsmith_get_status |
检查连接状态 |
🔒 安全
此服务器可以
- ✅ 读取您的所有财务数据(交易、账户、余额)
- ✅ 创建、更新和删除交易
- ✅ 修改类别并创建规则
- ✅ 访问预算和预测数据
安全最佳实践
- ✅ 将API键存储在环境变量中(从不存储在代码中)
- ✅ 使用不同的API密钥进行开发和生产
- ✅ 定期旋转API密钥
- ✅ 仅在安全机器上与受信任的AI助手一起使用
- ❌ 永远不要将API密钥提交到版本控制
- ❌ 永远不要公开共享API密钥
看 安全.md 获取详细的安全信息。
📊 API覆盖范围
44个Pocketsmith API终点中的20个(45%)
专注于个人财务管理最有用的端点:
- ✅ 用户和帐户管理
- ✅ 交易CRUD操作
- ✅ 预算和趋势分析
- ✅ 品类管理
- ✅ 经常性事件/账单
- ✅ 标签和组织
🧪 发展
设置
# Clone repository
git clone https://github.com/dannyshaw/pocketsmith-mcp.git
cd pocketsmith-mcp
# Install dependencies
uv sync
# Run tests
pytest
# Run tests with coverage
pytest --cov=src/pocketsmith_mcp
# Lint and format
ruff check .
ruff format .
# Type check
mypy src
测试
# Run all tests
pytest -v
# Run specific test file
pytest tests/test_client.py -v
# Run with coverage report
pytest --cov=src/pocketsmith_mcp --cov-report=html
项目结构
pocketsmith-mcp/
├── src/pocketsmith_mcp/
│ ├── __init__.py # Package initialization
│ ├── client.py # Pocketsmith API client
│ ├── config.py # Configuration settings
│ └── server.py # MCP server implementation
├── tests/
│ ├── conftest.py # Test fixtures
│ └── test_client.py # Client tests
├── pyproject.toml # Project configuration
├── README.md # This file
└── SECURITY.md # Security documentation
🤝 贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 为您的更改编写测试
- 确保所有测试通过(
pytest) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
看 贡献.md 详细指南。
📝 许可证
MIT许可证-请参阅 许可证 了解详情。
🙏 致谢
- 与 模型上下文协议
- 由 Pocketsmith API
- 设计用于 克劳德
📞 支持
🗺️ 路线图
未来的增强功能:
- []附件管理
- []机构联系管理
- []预算日历导出
- []支出分析和见解
- []多币种支持增强
- []批量交易操作
制作❤️ 个人财务管理