MCP server for ProjectionLab — export, snapshot, and restore financial plans with a built-in FIRE advisor knowledge base.
ProjectionLab MCP has clear tool names and reasonable descriptions, but exhibits significant gaps in schema completeness and parameter documentation. All 5 tools have descriptions (10-200 chars baseline met), but input schemas lack formal type definitions and constraints. The pl_setup tool's 'validationResult' parameter is typed as 'unknown', a red flag. Error handling is minimal; no recovery guidance or actionable error messages. Security design is sound (API key never exposed as parameter), but tool composition could be tighter. Average per-tool score: 62.
Returns a JavaScript string that exports all ProjectionLab data via the Plugin API. Execute this script in the browser using the Playwright or chrome devtools MCP. The script reads the API key from sessionStorage, set during pl_setup. If the browser tab was closed since setup, run pl_setup again first.
List all saved local snapshots, sorted newest first. Returns filename, path, creation time, and size.
Read a local snapshot file and return JavaScript strings to restore the data via the Plugin API. Execute each script in the browser using the Playwright or chrome devtools MCP. The scripts read the API key from sessionStorage, set during pl_setup. If the browser tab was closed since setup, run pl_setup again first. Important: take a snapshot of the current state BEFORE restoring (run pl_export in the browser, then call pl_snapshot with the result).
Guided setup for the ProjectionLab Plugin API key. Two-step flow: 1. Call with no args — returns instructions and a browser script that extracts, stores, and validates the key entirely in the browser. 2. Call with validationResult — confirms the key is valid and setup is complete. The API key NEVER leaves the browser. The extractScript reads it from the DOM, stores it in sessionStorage, and validates it — all client-side. The only value that comes back to the conversation is a success/failure boolean. The extractScript should be executed in the browser via the Playwright or chrome devtools MCP.
pl_setup 'validationResult' parameter typed as 'unknown', LLM cannot infer valid input structure or constraints. Should be 'object' with documented fields (e.g., success: boolean, error?: string).
No input schemas visible for pl_export and pl_list_snapshots (both accept empty input {}). Schemas should be explicit with type: 'object', properties: {}, required: [] to signal intentional no-parameter design.
pl_snapshot 'data' parameter lacks type definition and format constraints. Should specify: type: 'object', description with required fields (plans, accounts, etc.), and validation rules.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., snapshot filename, file path, list structure). Descriptions mention return values but lack formal schema.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Save ProjectionLab export data as a local snapshot file. Pass the data you got from running the pl_export script in the browser. API keys are redacted before writing.
Error handling is implicit. No guidance on recovery (e.g., 'If API key not set, run pl_setup again' is in server instructions but not in tool error responses). Tools should return actionable error messages with next steps.