fdic-mcp-server 1.2.6 → 1.2.8

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/index.js CHANGED
@@ -32,7 +32,7 @@ var import_types = require("@modelcontextprotocol/sdk/types.js");
32
32
  var import_express = __toESM(require("express"));
33
33
 
34
34
  // src/constants.ts
35
- var VERSION = true ? "1.2.6" : process.env.npm_package_version ?? "0.0.0-dev";
35
+ var VERSION = true ? "1.2.8" : process.env.npm_package_version ?? "0.0.0-dev";
36
36
  var FDIC_API_BASE_URL = "https://banks.data.fdic.gov/api";
37
37
  var CHARACTER_LIMIT = 5e4;
38
38
  var DEFAULT_FDIC_MAX_RESPONSE_BYTES = 5 * 1024 * 1024;
@@ -33218,10 +33218,14 @@ Returns concise comparison text plus structured deltas, derived metrics, and ins
33218
33218
  insightComparisons: sortedComparisons,
33219
33219
  limitCount: ranked.length
33220
33220
  });
33221
+ const textOutput = {
33222
+ ...output,
33223
+ insights: buildTopLevelInsights(ranked)
33224
+ };
33221
33225
  const text = truncateIfNeeded(
33222
33226
  [
33223
33227
  ...warnings.map((warning) => `Warning: ${warning}`),
33224
- formatComparisonText(output)
33228
+ formatComparisonText(textOutput)
33225
33229
  ].filter((value) => value !== null).join("\n\n"),
33226
33230
  CHARACTER_LIMIT,
33227
33231
  "Reduce the number of certs, narrow institution_filters, request fewer fields, or shorten the date range."
@@ -33303,6 +33307,20 @@ function computeMedian(values) {
33303
33307
  }
33304
33308
 
33305
33309
  // src/tools/peerGroup.ts
33310
+ var MONTH_NAMES = [
33311
+ "January",
33312
+ "February",
33313
+ "March",
33314
+ "April",
33315
+ "May",
33316
+ "June",
33317
+ "July",
33318
+ "August",
33319
+ "September",
33320
+ "October",
33321
+ "November",
33322
+ "December"
33323
+ ];
33306
33324
  function computeCompetitionRank(subjectValue, peerValues, higherIsBetter) {
33307
33325
  if (peerValues.length === 0) return null;
33308
33326
  const ascending = higherIsBetter === false;
@@ -33323,17 +33341,15 @@ function computeCompetitionRank(subjectValue, peerValues, higherIsBetter) {
33323
33341
  }
33324
33342
  function formatRepdteHuman(repdte) {
33325
33343
  if (repdte.length !== 8) return repdte;
33326
- const year = repdte.slice(0, 4);
33327
- const month = repdte.slice(4, 6);
33328
- const day = repdte.slice(6, 8);
33329
- const date = /* @__PURE__ */ new Date(`${year}-${month}-${day}T00:00:00Z`);
33344
+ const year = Number.parseInt(repdte.slice(0, 4), 10);
33345
+ const month = Number.parseInt(repdte.slice(4, 6), 10);
33346
+ const day = Number.parseInt(repdte.slice(6, 8), 10);
33347
+ const date = new Date(Date.UTC(year, month - 1, day));
33330
33348
  if (Number.isNaN(date.getTime())) return repdte;
33331
- return date.toLocaleDateString("en-US", {
33332
- year: "numeric",
33333
- month: "long",
33334
- day: "numeric",
33335
- timeZone: "UTC"
33336
- });
33349
+ if (date.getUTCFullYear() !== year || date.getUTCMonth() !== month - 1 || date.getUTCDate() !== day) {
33350
+ return repdte;
33351
+ }
33352
+ return `${MONTH_NAMES[month - 1]} ${day}, ${year}`;
33337
33353
  }
33338
33354
  var METRIC_KEYS = [
33339
33355
  "asset",
package/dist/server.js CHANGED
@@ -46,7 +46,7 @@ var import_types = require("@modelcontextprotocol/sdk/types.js");
46
46
  var import_express = __toESM(require("express"));
47
47
 
48
48
  // src/constants.ts
49
- var VERSION = true ? "1.2.6" : process.env.npm_package_version ?? "0.0.0-dev";
49
+ var VERSION = true ? "1.2.8" : process.env.npm_package_version ?? "0.0.0-dev";
50
50
  var FDIC_API_BASE_URL = "https://banks.data.fdic.gov/api";
51
51
  var CHARACTER_LIMIT = 5e4;
52
52
  var DEFAULT_FDIC_MAX_RESPONSE_BYTES = 5 * 1024 * 1024;
@@ -33232,10 +33232,14 @@ Returns concise comparison text plus structured deltas, derived metrics, and ins
33232
33232
  insightComparisons: sortedComparisons,
33233
33233
  limitCount: ranked.length
33234
33234
  });
33235
+ const textOutput = {
33236
+ ...output,
33237
+ insights: buildTopLevelInsights(ranked)
33238
+ };
33235
33239
  const text = truncateIfNeeded(
33236
33240
  [
33237
33241
  ...warnings.map((warning) => `Warning: ${warning}`),
33238
- formatComparisonText(output)
33242
+ formatComparisonText(textOutput)
33239
33243
  ].filter((value) => value !== null).join("\n\n"),
33240
33244
  CHARACTER_LIMIT,
33241
33245
  "Reduce the number of certs, narrow institution_filters, request fewer fields, or shorten the date range."
@@ -33317,6 +33321,20 @@ function computeMedian(values) {
33317
33321
  }
33318
33322
 
33319
33323
  // src/tools/peerGroup.ts
33324
+ var MONTH_NAMES = [
33325
+ "January",
33326
+ "February",
33327
+ "March",
33328
+ "April",
33329
+ "May",
33330
+ "June",
33331
+ "July",
33332
+ "August",
33333
+ "September",
33334
+ "October",
33335
+ "November",
33336
+ "December"
33337
+ ];
33320
33338
  function computeCompetitionRank(subjectValue, peerValues, higherIsBetter) {
33321
33339
  if (peerValues.length === 0) return null;
33322
33340
  const ascending = higherIsBetter === false;
@@ -33337,17 +33355,15 @@ function computeCompetitionRank(subjectValue, peerValues, higherIsBetter) {
33337
33355
  }
33338
33356
  function formatRepdteHuman(repdte) {
33339
33357
  if (repdte.length !== 8) return repdte;
33340
- const year = repdte.slice(0, 4);
33341
- const month = repdte.slice(4, 6);
33342
- const day = repdte.slice(6, 8);
33343
- const date = /* @__PURE__ */ new Date(`${year}-${month}-${day}T00:00:00Z`);
33358
+ const year = Number.parseInt(repdte.slice(0, 4), 10);
33359
+ const month = Number.parseInt(repdte.slice(4, 6), 10);
33360
+ const day = Number.parseInt(repdte.slice(6, 8), 10);
33361
+ const date = new Date(Date.UTC(year, month - 1, day));
33344
33362
  if (Number.isNaN(date.getTime())) return repdte;
33345
- return date.toLocaleDateString("en-US", {
33346
- year: "numeric",
33347
- month: "long",
33348
- day: "numeric",
33349
- timeZone: "UTC"
33350
- });
33363
+ if (date.getUTCFullYear() !== year || date.getUTCMonth() !== month - 1 || date.getUTCDate() !== day) {
33364
+ return repdte;
33365
+ }
33366
+ return `${MONTH_NAMES[month - 1]} ${day}, ${year}`;
33351
33367
  }
33352
33368
  var METRIC_KEYS = [
33353
33369
  "asset",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fdic-mcp-server",
3
- "version": "1.2.6",
3
+ "version": "1.2.8",
4
4
  "description": "MCP server for the FDIC BankFind Suite API",
5
5
  "mcpName": "io.github.jflamb/fdic-mcp-server",
6
6
  "main": "dist/server.js",
@@ -25,6 +25,7 @@
25
25
  "pack:check": "npm pack --dry-run",
26
26
  "registry:sync": "node scripts/sync-server-json.mjs",
27
27
  "fdic-schema:sync": "node scripts/sync-fdic-endpoint-metadata.mjs",
28
+ "issues:batch": "node scripts/prepare-issue-batches.mjs",
28
29
  "start": "node dist/index.js",
29
30
  "dev": "tsx src/cli.ts",
30
31
  "deploy:local": "bash scripts/deploy-local.sh"