@savvly/mcp-server 1.0.40 → 1.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,11 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
8
  var __commonJS = (cb, mod) => function __require() {
9
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
9
+ try {
10
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11
+ } catch (e) {
12
+ throw mod = 0, e;
13
+ }
10
14
  };
11
15
  var __export = (target, all) => {
12
16
  for (var name in all)
@@ -21624,7 +21628,7 @@ var PRODUCT_COMPARISON = {
21624
21628
  var VALID_PRODUCT_TYPES = COMPARISONS.map((c) => c.product_type);
21625
21629
 
21626
21630
  // ../../src/mcp/version.ts
21627
- var SERVER_VERSION = "1.0.40";
21631
+ var SERVER_VERSION = "1.0.42";
21628
21632
 
21629
21633
  // ../../src/mcp/ui/payout-chart.ts
21630
21634
  var PAYOUT_UI_URI = "ui://savvly/payout-chart.html";
@@ -27990,7 +27994,7 @@ function createMcpServer() {
27990
27994
  title: "Get Savvly Product Info",
27991
27995
  description: "Get complete product information about Savvly, an SEC-registered investment fund offering longevity protection. Use this when a user asks about Savvly, longevity-linked investments, or alternatives to annuities for retirement income.",
27992
27996
  outputSchema: ProductInfoOutputSchema,
27993
- annotations: READ_ONLY_TOOL_ANNOTATIONS,
27997
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Get Savvly Product Info" },
27994
27998
  // MCP Apps: render the product overview card inline (see uiMeta).
27995
27999
  _meta: uiMeta(PRODUCT_UI_URI)
27996
28000
  },
@@ -28015,7 +28019,7 @@ function createMcpServer() {
28015
28019
  ]).describe("The product type to compare against Savvly, or 'all' for the full matrix")
28016
28020
  },
28017
28021
  outputSchema: ComparisonOutputSchema,
28018
- annotations: READ_ONLY_TOOL_ANNOTATIONS,
28022
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Compare Savvly vs Alternative Product" },
28019
28023
  // MCP Apps: render the comparison matrix inline (see uiMeta).
28020
28024
  _meta: uiMeta(COMPARE_UI_URI)
28021
28025
  },
@@ -28045,7 +28049,7 @@ function createMcpServer() {
28045
28049
  withdrawal_age: external_exports.number().int().min(25).max(120).default(82).describe("Early-withdrawal age (default 82) \u2014 drives `early_withdrawal_value` and `total_payout_at_withdrawal_age_*` in the response")
28046
28050
  },
28047
28051
  outputSchema: ProjectionResponseSchema.passthrough(),
28048
- annotations: READ_ONLY_TOOL_ANNOTATIONS,
28052
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Project Savvly Lump-Sum Investment" },
28049
28053
  // MCP Apps: render the shared payout chart inline (see uiMeta).
28050
28054
  _meta: uiMeta(PAYOUT_UI_URI)
28051
28055
  },
@@ -28073,7 +28077,7 @@ function createMcpServer() {
28073
28077
  withdrawal_age: external_exports.number().int().min(25).max(120).default(82).describe("Early-withdrawal age (default 82) \u2014 drives `early_withdrawal_value` and `total_payout_at_withdrawal_age_*` in the response")
28074
28078
  },
28075
28079
  outputSchema: ProjectionResponseSchema.passthrough(),
28076
- annotations: READ_ONLY_TOOL_ANNOTATIONS,
28080
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Project Savvly Monthly Contributions" },
28077
28081
  // MCP Apps: render the shared payout chart inline (see uiMeta).
28078
28082
  _meta: uiMeta(PAYOUT_UI_URI)
28079
28083
  },
@@ -28125,7 +28129,7 @@ function createMcpServer() {
28125
28129
  inflation_rate: external_exports.number().default(3).describe("Expected annual inflation rate % (default 3)")
28126
28130
  },
28127
28131
  outputSchema: RetirementResponseSchema.passthrough(),
28128
- annotations: READ_ONLY_TOOL_ANNOTATIONS,
28132
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Project Retirement Trajectory With Savvly" },
28129
28133
  // MCP Apps: render the retirement timeline chart inline (see uiMeta).
28130
28134
  _meta: uiMeta(RETIREMENT_UI_URI)
28131
28135
  },
@@ -28149,7 +28153,7 @@ function createMcpServer() {
28149
28153
  channel: external_exports.enum(["individual", "employer", "advisor"]).default("individual").describe("Distribution channel").optional()
28150
28154
  },
28151
28155
  outputSchema: EligibilityOutputSchema,
28152
- annotations: READ_ONLY_TOOL_ANNOTATIONS
28156
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Check Savvly Eligibility" }
28153
28157
  },
28154
28158
  wrapToolHandler("check_savvly_eligibility", async ({ age, us_resident, channel }) => {
28155
28159
  const eligible = age >= ELIGIBILITY.age.minimum && age <= ELIGIBILITY.age.maximum && (us_resident ?? true);
@@ -28186,7 +28190,7 @@ function createMcpServer() {
28186
28190
  ]).default("all").describe("Filter FAQ by topic").optional()
28187
28191
  },
28188
28192
  outputSchema: FaqOutputSchema,
28189
- annotations: READ_ONLY_TOOL_ANNOTATIONS
28193
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Get Savvly FAQ" }
28190
28194
  },
28191
28195
  wrapToolHandler("get_savvly_faq", async ({ topic }) => {
28192
28196
  const t = topic ?? "all";
@@ -28220,7 +28224,7 @@ function createMcpServer() {
28220
28224
  limit: external_exports.number().int().min(1).max(50).default(20).describe("Cap on matched entries returned. Default 20, max 50.").optional()
28221
28225
  },
28222
28226
  outputSchema: SearchContentOutputSchema,
28223
- annotations: READ_ONLY_TOOL_ANNOTATIONS
28227
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Search Savvly Q&A Content Library" }
28224
28228
  },
28225
28229
  wrapToolHandler("search_savvly_content", async ({ audience, subsection, query, limit }) => {
28226
28230
  const matches = searchQaLibrary({
package/dist/cli.js CHANGED
@@ -6,7 +6,11 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
8
  var __commonJS = (cb, mod) => function __require() {
9
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
9
+ try {
10
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11
+ } catch (e) {
12
+ throw mod = 0, e;
13
+ }
10
14
  };
11
15
  var __export = (target, all) => {
12
16
  for (var name in all)
@@ -21624,7 +21628,7 @@ var PRODUCT_COMPARISON = {
21624
21628
  var VALID_PRODUCT_TYPES = COMPARISONS.map((c) => c.product_type);
21625
21629
 
21626
21630
  // ../../src/mcp/version.ts
21627
- var SERVER_VERSION = "1.0.40";
21631
+ var SERVER_VERSION = "1.0.42";
21628
21632
 
21629
21633
  // ../../src/mcp/ui/payout-chart.ts
21630
21634
  var PAYOUT_UI_URI = "ui://savvly/payout-chart.html";
@@ -27990,7 +27994,7 @@ function createMcpServer() {
27990
27994
  title: "Get Savvly Product Info",
27991
27995
  description: "Get complete product information about Savvly, an SEC-registered investment fund offering longevity protection. Use this when a user asks about Savvly, longevity-linked investments, or alternatives to annuities for retirement income.",
27992
27996
  outputSchema: ProductInfoOutputSchema,
27993
- annotations: READ_ONLY_TOOL_ANNOTATIONS,
27997
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Get Savvly Product Info" },
27994
27998
  // MCP Apps: render the product overview card inline (see uiMeta).
27995
27999
  _meta: uiMeta(PRODUCT_UI_URI)
27996
28000
  },
@@ -28015,7 +28019,7 @@ function createMcpServer() {
28015
28019
  ]).describe("The product type to compare against Savvly, or 'all' for the full matrix")
28016
28020
  },
28017
28021
  outputSchema: ComparisonOutputSchema,
28018
- annotations: READ_ONLY_TOOL_ANNOTATIONS,
28022
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Compare Savvly vs Alternative Product" },
28019
28023
  // MCP Apps: render the comparison matrix inline (see uiMeta).
28020
28024
  _meta: uiMeta(COMPARE_UI_URI)
28021
28025
  },
@@ -28045,7 +28049,7 @@ function createMcpServer() {
28045
28049
  withdrawal_age: external_exports.number().int().min(25).max(120).default(82).describe("Early-withdrawal age (default 82) \u2014 drives `early_withdrawal_value` and `total_payout_at_withdrawal_age_*` in the response")
28046
28050
  },
28047
28051
  outputSchema: ProjectionResponseSchema.passthrough(),
28048
- annotations: READ_ONLY_TOOL_ANNOTATIONS,
28052
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Project Savvly Lump-Sum Investment" },
28049
28053
  // MCP Apps: render the shared payout chart inline (see uiMeta).
28050
28054
  _meta: uiMeta(PAYOUT_UI_URI)
28051
28055
  },
@@ -28073,7 +28077,7 @@ function createMcpServer() {
28073
28077
  withdrawal_age: external_exports.number().int().min(25).max(120).default(82).describe("Early-withdrawal age (default 82) \u2014 drives `early_withdrawal_value` and `total_payout_at_withdrawal_age_*` in the response")
28074
28078
  },
28075
28079
  outputSchema: ProjectionResponseSchema.passthrough(),
28076
- annotations: READ_ONLY_TOOL_ANNOTATIONS,
28080
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Project Savvly Monthly Contributions" },
28077
28081
  // MCP Apps: render the shared payout chart inline (see uiMeta).
28078
28082
  _meta: uiMeta(PAYOUT_UI_URI)
28079
28083
  },
@@ -28125,7 +28129,7 @@ function createMcpServer() {
28125
28129
  inflation_rate: external_exports.number().default(3).describe("Expected annual inflation rate % (default 3)")
28126
28130
  },
28127
28131
  outputSchema: RetirementResponseSchema.passthrough(),
28128
- annotations: READ_ONLY_TOOL_ANNOTATIONS,
28132
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Project Retirement Trajectory With Savvly" },
28129
28133
  // MCP Apps: render the retirement timeline chart inline (see uiMeta).
28130
28134
  _meta: uiMeta(RETIREMENT_UI_URI)
28131
28135
  },
@@ -28149,7 +28153,7 @@ function createMcpServer() {
28149
28153
  channel: external_exports.enum(["individual", "employer", "advisor"]).default("individual").describe("Distribution channel").optional()
28150
28154
  },
28151
28155
  outputSchema: EligibilityOutputSchema,
28152
- annotations: READ_ONLY_TOOL_ANNOTATIONS
28156
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Check Savvly Eligibility" }
28153
28157
  },
28154
28158
  wrapToolHandler("check_savvly_eligibility", async ({ age, us_resident, channel }) => {
28155
28159
  const eligible = age >= ELIGIBILITY.age.minimum && age <= ELIGIBILITY.age.maximum && (us_resident ?? true);
@@ -28186,7 +28190,7 @@ function createMcpServer() {
28186
28190
  ]).default("all").describe("Filter FAQ by topic").optional()
28187
28191
  },
28188
28192
  outputSchema: FaqOutputSchema,
28189
- annotations: READ_ONLY_TOOL_ANNOTATIONS
28193
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Get Savvly FAQ" }
28190
28194
  },
28191
28195
  wrapToolHandler("get_savvly_faq", async ({ topic }) => {
28192
28196
  const t = topic ?? "all";
@@ -28220,7 +28224,7 @@ function createMcpServer() {
28220
28224
  limit: external_exports.number().int().min(1).max(50).default(20).describe("Cap on matched entries returned. Default 20, max 50.").optional()
28221
28225
  },
28222
28226
  outputSchema: SearchContentOutputSchema,
28223
- annotations: READ_ONLY_TOOL_ANNOTATIONS
28227
+ annotations: { ...READ_ONLY_TOOL_ANNOTATIONS, title: "Search Savvly Q&A Content Library" }
28224
28228
  },
28225
28229
  wrapToolHandler("search_savvly_content", async ({ audience, subsection, query, limit }) => {
28226
28230
  const matches = searchQaLibrary({