@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.
- package/dist/cli.bundled.js +14 -10
- package/dist/cli.js +14 -10
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.bundled.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
|
-
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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({
|