陶朱账本 (zhangben) MCP 技能
通过 https://moneydata.cn/mcp 的 MCP 接口管理个人财务。
§1 连接与认证
- 身份标识ID (32位): 根据 MAC 地址 MD5 生成,⚠️ 更换会导致历史数据丢失! 必须保存
- Token 获取:
POST https://moneydata.cn/api/user/token,body:{"code": "<code>"} - code 构造:
身份标识ID + 10位时间戳 + f5138595b7b93cd08b8c03bbaa825ddb - Token 过期后用同一身份标识ID + 新时间戳即可换新 token
- 配置保存: 生成的身份标识ID和Token必须在配置文件中保存,方便调用MCP服务使用
§2 参数陷阱(必读!)
| 工具 | ❌ 易错写法 | ✅ 正确写法 |
|---|---|---|
buy_asset |
code: "600519" |
price_code: "600519" |
buy_asset |
price: 1268 |
cost_unit_price: 1268 |
buy_asset |
不传币种 | pay_currency: "CNY" (必填!) |
sell_asset |
不传币种 | deposit_currency: "CNY" (必填!) |
income/expense |
不传币种 | currency: "CNY" (必填!) |
borrow/repay |
不传币种 | from_currency/to_currency: "CNY" (必填!) |
get_income_expense_category |
direction: "income" |
direction: 1 (int) |
| 各工具数字参数 | "101" (string) |
101 (number) |
§3 操作速查
> 完整参数 schema 见 references/mcp-api.md,平台ID见 references/platform-ids.md,分类代码见 references/category-codes.md
记录收入
income(sub_category=2, amount=1000, platform_id=101, currency="CNY")
- 工具名是
income,不是record_income record_date: 可选 YYYY-MM-DD
记录支出
expense(sub_category=44, platform_id=101, amount=2000, currency="CNY", pay_mode="balance", remark="买手机")
pay_mode枚举:balance(余额) |credit(信用卡),其他值报 [30018]- 信用消费不扣活期余额,记为信用卡欠款,通过
repay还款
买入资产
buy_asset(sub_type=1, price_code="600519", quantity=2, cost_unit_price=1268,
platform_id=1, from_platform_id=101, pay_currency="CNY")
platform_id: 存放平台(券商),from_platform_id: 扣款平台(银行),不传则同 platform_id- price_code: A股
600519/SH600519均可,基金F000051,黄金UDFGOLD001
卖出资产
sell_asset(sub_type=1, price_code="SH600519", platform_id=1, quantity=1,
sell_unit_price=1300, deposit_currency="CNY", to_platform_id=101)
- price_code 最佳实践: 用
get_asset_list返回的格式(A股SH600519,港股HK00700) - 返回:
remaining_quantity(剩余持有)、realized_profit(盈亏)、deposit_asset_id
借款/还款
borrow(from_sub_type=46, from_platform_id=101, from_currency="CNY",
to_sub_type=21, to_platform_id=105, to_currency="CNY", quantity=100000)
repay(from_sub_type=21, from_platform_id=101, from_currency="CNY",
to_sub_type=49, to_platform_id=101, to_currency="CNY", quantity=100)
- borrow: from_sub_type=46(房贷)/47(车贷)/48(消费贷)/49(信用贷),to_sub_type=仅21(活期)
- repay: from_sub_type=仅21(活期),to_sub_type=46/47/48/49
查询工具
| 工具 | 用途 | 关键提醒 |
|---|---|---|
get_asset_list |
资产列表 | 证券 category=0(非10);看 base(CNY) 非 original;include_cleared(bool)含已清仓 |
get_liability_list |
负债列表 | 看 remaining_amount,⚠️ base.total_value 可能=0 |
get_transaction_list |
交易记录 | biz_type: buy_asset/sell_asset/income/expense/repay/borrow/transfer |
get_dashboard_summary |
财富看板 | 总资产/总负债/净资产/月年变化 |
get_income_summary |
收入汇总 | 传 category 按二级汇总,不传按一级 |
get_expense_summary |
支出汇总 | 同上 |
get_platform_list |
平台列表 | 可按 sub_type 过滤 |
get_income_expense_category |
收支分类 | direction=1(收入)/2(支出),int 非 string |
§4 重要提醒
- 跨币种买入: 买港股必须传
pay_currency="CNY",系统自动按汇率折算扣款 - 负债查询: 看
remaining_amount(待还金额) - 数量单位: 股票=股,基金=份,黄金=克
- 错误码速查: 30014(余额不足) 31002(必填缺失) — 完整列表见
references/errorcode.md