About Myrsu
Myrsu is an MCP server for tech workers who receive RSUs, calculating concentration risk tied to employer stock and income. It returns risk measures, historical drawdowns, action items, and dashboard links, with stateless calculations and no data persistence.
Key features
- 01Concentration-risk analysis
- 02Risk score and wealth-at-risk estimates
- 03Employer presets and drawdown history
- 04Country-specific currencies and account labels
- 05Stateless operation with no persistence
Use cases
- 01Assess exposure to employer stock and RSUs
- 02Compare holdings with historical drawdowns
- 03Review diversification steps and concentration caps
- 04Run analysis locally over stdio
MCP support
It exposes `myrsu_analyze_risk` for portfolio concentration analysis and `myrsu_get_employer` for employer presets and drawdown data. Clients can connect through HTTP or run the server locally over stdio.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://myrsu-mcp.vidhidev.workers.dev/mcpclaude mcp add --transport http myrsu https://myrsu-mcp.vidhidev.workers.dev/mcp{"mcpServers":{"myrsu":{"type":"http","url":"https://myrsu-mcp.vidhidev.workers.dev/mcp"}}}Open in Cursor{"servers":{"myrsu":{"type":"http","url":"https://myrsu-mcp.vidhidev.workers.dev/mcp"}}}Open in VS Code{"mcpServers":{"myrsu":{"type":"http","url":"https://myrsu-mcp.vidhidev.workers.dev/mcp"}}}{"mcpServers":{"myrsu":{"serverUrl":"https://myrsu-mcp.vidhidev.workers.dev/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
2| Parameter | Type | Required | Description |
|---|---|---|---|
| cash | number | No | Cash, savings, money market funds, CDs (in the user's local currency). |
| country | enum | No | Country code for response terminology. Affects retirement-account names referenced (401k vs RRSP vs ISA vs EPF vs Super), tax-aware diversification suggestions, and currency symbol. Default 'US'. The risk math is identical for all countries.US | IN | CA | UK | EU | AU | OTHER |
| mortgage | number | No | Outstanding mortgage balance ($). Used for the homeowner stress test. |
| cost_basis | number | No | Average cost basis of vested stock (price the user acquired at). |
| home_value | number | No | Today's estimated market value of the home (gross, NOT equity). Leave 0 if user rents. |
| other_debt | number | No | |
| include_nii | boolean | No | US-only: include the 3.8% Net Investment Income surcharge (applies if AGI > $200K single / $250K married). Leave false outside the US. |
| other_assets | number | No | Crypto, cars, business stake, collectibles. |
| other_income | number | No | Annual income that does NOT depend on the employer: spouse, side hustle, dividends from other companies, rentals. |
| employer_type | enum | No | Affects how correlated the user's income is with the stock. Public company is the safer default.public_company | high_growth_tech | startup |
| state_tax_pct | number | No | Local/state/provincial capital gains tax rate as a percent. US: 0 in TX/FL/WA, ~13.3 in CA. Use 0 if your country has no sub-national capital gains tax. |
| student_loans | number | No | |
| unvested_rsus | number | No | Future RSU shares at today's price. Note: forfeited if user loses job. |
| currency_symbol | string | No | Override currency symbol for formatted output (e.g. '$', '₹', '€', '£', 'C$', 'A$'). If omitted, derived from `country` (US→$, IN→₹, UK→£, EU→€, CA→C$, AU→A$). |
| employer_income | number | No | Annual income from the employer: salary + bonus + RSU vesting. |
| employer_ticker | string | No | Stock ticker or company name (e.g. 'NVDA', 'NVIDIA', 'Tesla'). Used to look up annual volatility. If not in the preset list, supply employer_volatility_pct instead. |
| credit_card_debt | number | No | |
| federal_ltcg_pct | number | No | National long-term capital gains rate as a percent (US: 15-20; UK basic: 10; UK higher: 20; India LTCG over ₹1L: 10; Canada: 50% inclusion × marginal rate; AU: marginal rate w/ 50% discount if held 12mo+). |
| retirement_accounts | number | No | Retirement / tax-advantaged accounts: 401(k)/IRA (US), RRSP/TFSA (Canada), ISA/SIPP (UK), EPF/PPF/NPS (India), Superannuation (Australia), etc. Counted full for Net Worth but discounted to 70% in the stress test. |
| vested_company_stock | number | No | Employer shares the user already owns outright ($, current market value). |
| diversified_investments | number | No | Taxable brokerage account: ETFs, index funds, bonds, OTHER companies' stocks. Non-retirement. |
| employer_volatility_pct | number | No | Annual volatility (σ) as a percent (e.g. 50 for 50%). Override if employer_ticker isn't recognized. |
Details
From the project READMEMyRSU MCP
An MCP server that lets your AI assistant analyze single-company concentration risk for tech workers with RSU comp.
When you ask Claude "I have $700K in NVDA stock — am I dangerously concentrated?", this server gives Claude real numbers instead of generic advice: a 0-100 Risk Score, your specific Wealth-at-Risk in dollars, historical drawdowns of your employer's stock, prioritized action items, and a pre-filled dashboard URL.
Privacy-first. Stateless. Zero logging. No persistence. Calculations run on Cloudflare's edge (or locally via stdio) with nothing stored.
Companion to: myrsu.app — the free interactive web dashboard.
Install in 30 seconds
Claude Desktop / Web / any HTTP-MCP client
In your client's "Add custom connector" dialog, paste:
https://myrsu-mcp.vidhidev.workers.dev/mcp
That's it. No local install, no Node required.
Claude Code / Cursor / Continue / Cline (stdio)
claude mcp add myrsu -- npx -y myrsu-mcp
Or in your client's config file:
{
"mcpServers": {
"myrsu": {
"command": "npx",
"args": ["-y", "myrsu-mcp"]
}
}
}
What it does
Two tools available to the AI:
myrsu_analyze_risk
Full concentration-risk analysis. Inputs: any combination of cash, brokerage, retirement, vested stock, unvested RSUs, home value, mortgage, income, employer, tax rates. Outputs: Risk Score (0–100), concentration %, Wealth-at-Risk, diversification gap, homeowner stress test (months of runway if you lose your job AND the stock crashes 50%), top 3-5 action items, historical drawdown context, pre-filled dashboard URL.
International support. Pass country (US, IN, CA, UK, EU, AU, OTHER) and the response uses the right currency symbol ($/₹/€/£/C$/A$) and the right retirement-account terminology (401(k)/IRA, RRSP/TFSA, ISA/SIPP, EPF/PPF/NPS, Superannuation, etc.). The risk math is identical for all countries — only labels change.
myrsu_get_employer
Quick lookup for 40+ tech-employer presets. Returns annual volatility (σ), historical peak-to-trough drawdowns (NVDA 2022 −66%, META 2022 −76%, etc.), and recommended safe-concentration cap.
Covers NVDA, TSLA, MSFT, GOOGL, META, AAPL, AMZN + enterprise SaaS, cloud/data/security, semiconductors, consumer internet, fintech/crypto, marketplaces/mobility.
Example conversation
User: I work at NVIDIA. I have about $700K in NVDA stock (split $400K vested + $300K unvested RSUs), $300K liquid in cash and ETFs, and earn $250K/yr. No mortgage, no debt. Am I dangerously concentrated?
Claude: (calls
myrsu_analyze_riskin the background)Yes — you're meaningfully concentrated. Risk Score: 73.5 / 100 — Dangerous.
70% of your $1M net worth is tied to a single stock that's also your employer and your income source. That triple overlap is the core problem.
Historical reference: NVDA dropped 85% in the 2008 financial crisis. A repeat would take your $700K to ~$105K — cutting your net worth nearly in half to ~$405K.
Your situation is riskier than most because:
- Income is correlated to NVDA — if the stock falls, layoffs often follow
- $300K unvested disappears if you lose your job during a downturn
Practical path forward:
- Recommended cap for σ=50% stocks is
25% of NW ($250K). You're $450K overweight.- At $100K/yr sell pace, you reach safe concentration in ~4.5 years
- Sell RSUs on vest day — treat each vest as a cash bonus, not a re-investment
Full interactive dashboard: https://myrsu.app/?s=eyJj...
Why this exists
Tech workers with concentrated RSU comp face a real risk that's hard to quantify in their head: most of their wealth AND their income depend on a single company's stock. When Claude is asked about this, the default answer is generic ("consider diversifying, talk to a CPA"). With this MCP loaded, Claude can do the actual math and give a tailored answer.
Privacy
This server is designed to be honest about how user data is handled:
- Stateless — same inputs always produce the same outputs. No session state.
- No logging — server does not write inputs, outputs, or identifiers to any log.
- No persistence — no database, no cache.
- No third-party calls — calculation is pure math, runs locally in the Worker process.
- Open source — you can audit every line.
When you call this MCP, your inputs (wealth values, employer, income) transit through Cloudflare's network once and are not retained.
If you prefer to run it entirely on your own machine, install the stdio version (npx -y myrsu-mcp) — calculations happen on your hardware, never leaving your device.
Development
# Clone
git clone https://github.com/YOUR_USERNAME/myrsu-mcp
cd myrsu-mcp
npm install
# Run the stdio MCP locally
npm run dev
# Test with the MCP Inspector (visual UI)
npm run inspect
# Build production output
npm run build
# Deploy the HTTP/Streamable transport to Cloudflare
npx wrangler login
npx wrangler deploy
Project layout
src/
├── index.ts # Stdio MCP entry (Claude Code, Cursor, Continue, Cline)
├── index-http.ts # HTTP/Streamable MCP entry (Cloudflare Worker, Claude Desktop)
├── metrics.ts # Risk calculation + action item generation
├── presets.ts # 40+ employer presets (σ + historical drawdowns)
└── tools/
├── analyze_risk.ts # myrsu_analyze_risk handler
└── get_employer.ts # myrsu_get_employer handler
Both transports import the same business logic from metrics.ts and presets.ts. The math is identical regardless of how the AI client connects.
License
Apache 2.0 — see LICENSE.
Disclaimer
Not financial advice. Volatility presets and historical drawdowns are approximations sourced from public market data. Past performance is not predictive. Tax calculations use simplified models that don't account for AMT, NII, or RSU-vesting ordinary income. Use as a directional signal, not as a substitute for a licensed financial advisor or CPA.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.