create_goal
Creates a new saving goal for the authenticated user.
Description
Creates a new saving goal for the authenticated user.
Required fields: name (amount is inferred when omitted).
amount and contributors[].contributorAmount are in CENTS, not dollars: $10,000 = 1000000.
MCP defaults when omitted:
• goalType defaults to GENERAL_SAVINGS (HOME_PURCHASE when the name implies property)
• amount inferred from purchase tier (vehicle, luxury asset, experience, etc.), an explicit $ amount in the name (e.g. "$50k"), or spending history for emergency funds
• maturityDate from relative phrases (e.g. "in 18 months"), purchase tier, or HOME_PURCHASE age/location benchmarks
• contributors defaults to the authenticated user as OWNER_ROLE with contributorAmount = amount
• HOME_PURCHASE without preferences: infers down payment from user age (or the stated timeline), location, and appreciation benchmarks; an explicit amount is used as the down payment
• Emergency-fund names without amount: infers ~3 months of average recent spending when available
accountId, when provided, must belong to the authenticated user (owner or collaborator).
Contributor userIds may only reference the authenticated user; other identities are rejected.
Use this when users want to save toward a target (yacht, car, wedding, house, emergency fund, etc.).
For HOME_PURCHASE or CAR_PURCHASE goals, include the matching preference object when you have explicit values.
After creation, use read_goal with response.savingGoalId or list_goals to verify.Input parameters
| Name | Type | Required | Description |
|---|---|---|---|
accountId | string | No | |
amount | number | No | |
carPurchasePreferences | object | No | |
contributors | array | No | |
debtPaymentRecurrenceRate | string | No | |
goalImageId | string | No | |
goalType | string | No | |
homePurchasePreferences | object | No | |
loanPreferences | object | No | |
maturityDate | string | No | |
name | string | Yes | |
numberOfChildren | integer | No | |
startSavingsDate | string | No | |
targetAmount | number | No | |
targetDate | string | No |