@nguyening/projectionlab-mcp
v1.5.1
Published
MCP server for ProjectionLab financial planning data
Maintainers
Readme
projectionlab-mcp
An MCP (Model Context Protocol) server for ProjectionLab financial planning data. This allows AI assistants like Claude to read and modify your ProjectionLab export files.
Usage
Add to your MCP settings:
{
"mcpServers": {
"projectionlab": {
"command": "npx",
"args": ["@nguyening/projectionlab-mcp"]
}
}
}Usage
- Export your data from ProjectionLab (Settings > Export Data)
- Start a conversation with Claude and use the
set_data_filetool to point to your export file - Ask questions or make modifications to your financial data
Example Prompts
- "Load my ProjectionLab data from ~/Documents/projectionlab-export.json and give me an overview"
- "What's my current net worth?"
- "List all my investment accounts"
- "Show me the income sources in my retirement plan"
- "Update my 401k balance to $150,000"
- "What are my monthly expenses?"
Available Tools
Setup
set_data_file- Set the path to your ProjectionLab export JSON file
Overview & Plans
get_overview- High-level summary including net worth, plan count, and personal infolist_plans- List all financial plansget_plan- Get detailed information about a specific plan
Accounts
list_accounts- List all savings and investment accountsget_account- Get details of a specific accountupdate_account_balance- Update an account's balancerename_account- Rename an accountadd_account- Add a new savings or investment account
Debts
list_debts- List all debtsget_debt- Get details of a specific debtupdate_debt- Update debt properties (amount, interest rate, monthly payment)add_debt- Add a new debt (student loans, credit card, personal loan, etc.)
Assets
list_assets- List all physical assets (real estate, vehicles, etc.)get_asset- Get details of a specific assetupdate_asset- Update asset value or loan balanceadd_asset- Add a new physical asset (real estate, car, etc.)
Plan Income
list_income- List all income events in a planget_income- Get details of a specific income eventupdate_income- Update income properties (amount, name, frequency, start/end timing, withhold, taxWithholding, isDividendIncome, yearlyChange)add_income- Add a new income event (supports yearlyChange for inflation/growth)
Plan Expenses
list_expenses- List all expense events in a planget_expense- Get details of a specific expense eventupdate_expense- Update expense properties (amount, name, frequency, start/end timing, owner, yearlyChange)add_expense- Add a new expense event (supports owner and yearlyChange for inflation/growth)
Cash Flow Priorities
list_priorities- List cash flow priorities (401k contributions, debt payments, etc.)get_priority- Get details of a specific priorityupdate_priority- Update priority contribution settingsadd_priority- Add a new cash flow priority (401k, IRA, debt payment, savings goal)delete_priority- Delete a priority from a plan
Milestones
list_milestones- List plan milestones (retirement, FIRE, etc.)get_milestone- Get details of a specific milestoneupdate_milestone- Update milestone propertiesadd_milestone- Add a new milestone (retirement, FIRE, career change, etc.)delete_milestone- Delete a milestone from a plan
Plan Configuration
get_plan_variables- Get plan assumptions and tax settingsupdate_plan_variables- Update investment return, inflation, tax rates, etc.get_withdrawal_strategy- Get withdrawal strategy settingsupdate_withdrawal_strategy- Update withdrawal strategyget_montecarlo_settings- Get Monte Carlo simulation settingsupdate_montecarlo_settings- Update Monte Carlo settings
Progress Tracking
get_progress- Get historical net worth tracking dataadd_progress_snapshot- Add a new progress snapshot
Delete Operations
delete_account- Delete a savings or investment accountdelete_debt- Delete a debtdelete_asset- Delete an assetdelete_income- Delete an income event from a plandelete_expense- Delete an expense event from a plan
Plan Management
duplicate_plan- Create a copy of an existing plan with a new namedelete_plan- Delete a plan (prevents deleting the last plan)
DateReference Format
Many tools that work with timing (income, expenses, priorities) use a DateReference object for start and end properties. This object specifies when something begins or ends.
Structure
{
"type": "keyword" | "milestone" | "date" | "year",
"value": "<string>",
"modifier": "include" | "exclude" | <number> // optional
}Types and Values
| Type | Value Format | Example |
|------|--------------|---------|
| keyword | now, endOfPlan, beforeCurrentYear, never | { "type": "keyword", "value": "now" } |
| year | 4-digit year string | { "type": "year", "value": "2059" } |
| date | ISO date string | { "type": "date", "value": "2029-06-01" } |
| milestone | Milestone ID (e.g., retirement, fire, or UUID) | { "type": "milestone", "value": "retirement" } |
Modifier
"include"/"exclude"- Whether to include or exclude the boundary- Number - Year offset (e.g.,
5to add 5 years)
Examples
// Start now, end at retirement
{ "start": { "type": "keyword", "value": "now" }, "end": { "type": "milestone", "value": "retirement" } }
// Start in 2030, end when plan ends
{ "start": { "type": "year", "value": "2030" }, "end": { "type": "keyword", "value": "endOfPlan" } }
// Start at specific date, never end
{ "start": { "type": "date", "value": "2025-09-01" }, "end": { "type": "keyword", "value": "never" } }Data Safety
- All changes are written to your local export file
- The
lastUpdatedtimestamp is automatically updated on saves - Keep backups of your export file before making bulk changes
- You can re-import modified data back into ProjectionLab
License
ISC
