fdic-mcp-server 1.27.0 → 1.29.0
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 +40 -6
- package/dist/server.js +40 -6
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -32,7 +32,7 @@ var import_types = require("@modelcontextprotocol/sdk/types.js");
|
|
|
32
32
|
var import_express2 = __toESM(require("express"));
|
|
33
33
|
|
|
34
34
|
// src/constants.ts
|
|
35
|
-
var VERSION = true ? "1.
|
|
35
|
+
var VERSION = true ? "1.29.0" : 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;
|
|
@@ -31963,6 +31963,21 @@ var CertSchema = import_zod.z.object({
|
|
|
31963
31963
|
// src/schemas/output.ts
|
|
31964
31964
|
var import_zod2 = require("zod");
|
|
31965
31965
|
var FdicRecord = import_zod2.z.record(import_zod2.z.unknown());
|
|
31966
|
+
var FdicFinancialRecord = import_zod2.z.object({
|
|
31967
|
+
CERT: import_zod2.z.number().int().optional(),
|
|
31968
|
+
NAME: import_zod2.z.string().optional(),
|
|
31969
|
+
REPDTE: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.number()]).optional(),
|
|
31970
|
+
ASSET: import_zod2.z.number().optional(),
|
|
31971
|
+
DEP: import_zod2.z.number().optional(),
|
|
31972
|
+
NETINC: import_zod2.z.number().optional(),
|
|
31973
|
+
ROA: import_zod2.z.number().optional(),
|
|
31974
|
+
ROE: import_zod2.z.number().optional(),
|
|
31975
|
+
IDT1CER: import_zod2.z.number().optional(),
|
|
31976
|
+
NCLNLSR: import_zod2.z.number().optional(),
|
|
31977
|
+
LNLSDEPR: import_zod2.z.number().optional(),
|
|
31978
|
+
NIMY: import_zod2.z.number().optional(),
|
|
31979
|
+
EEFFR: import_zod2.z.number().optional()
|
|
31980
|
+
}).passthrough();
|
|
31966
31981
|
var Pagination = {
|
|
31967
31982
|
total: import_zod2.z.number().int(),
|
|
31968
31983
|
offset: import_zod2.z.number().int(),
|
|
@@ -31970,10 +31985,10 @@ var Pagination = {
|
|
|
31970
31985
|
has_more: import_zod2.z.boolean(),
|
|
31971
31986
|
next_offset: import_zod2.z.number().int().optional()
|
|
31972
31987
|
};
|
|
31973
|
-
function paginatedSearchSchema(recordKey) {
|
|
31988
|
+
function paginatedSearchSchema(recordKey, recordSchema = FdicRecord) {
|
|
31974
31989
|
return import_zod2.z.object({
|
|
31975
31990
|
...Pagination,
|
|
31976
|
-
[recordKey]: import_zod2.z.array(
|
|
31991
|
+
[recordKey]: import_zod2.z.array(recordSchema),
|
|
31977
31992
|
truncated: import_zod2.z.boolean().optional()
|
|
31978
31993
|
});
|
|
31979
31994
|
}
|
|
@@ -31984,7 +31999,8 @@ var FdicFailuresSearchOutputSchema = paginatedSearchSchema("failures");
|
|
|
31984
31999
|
var FdicLocationsSearchOutputSchema = paginatedSearchSchema("locations");
|
|
31985
32000
|
var FdicHistorySearchOutputSchema = paginatedSearchSchema("events");
|
|
31986
32001
|
var FdicFinancialsSearchOutputSchema = paginatedSearchSchema(
|
|
31987
|
-
"financials"
|
|
32002
|
+
"financials",
|
|
32003
|
+
FdicFinancialRecord
|
|
31988
32004
|
);
|
|
31989
32005
|
var FdicSummarySearchOutputSchema = paginatedSearchSchema("summary");
|
|
31990
32006
|
var FdicSodSearchOutputSchema = paginatedSearchSchema("deposits");
|
|
@@ -32114,6 +32130,13 @@ var PeerHealthProxySummarySchema = import_zod2.z.object({
|
|
|
32114
32130
|
gaps: import_zod2.z.array(import_zod2.z.string())
|
|
32115
32131
|
})
|
|
32116
32132
|
});
|
|
32133
|
+
var DeprecationNoticeSchema = import_zod2.z.object({
|
|
32134
|
+
path: import_zod2.z.string(),
|
|
32135
|
+
status: import_zod2.z.literal("deprecated"),
|
|
32136
|
+
replacement: import_zod2.z.string(),
|
|
32137
|
+
removal_target: import_zod2.z.literal("future_major_release"),
|
|
32138
|
+
note: import_zod2.z.string()
|
|
32139
|
+
});
|
|
32117
32140
|
var FdicPeerHealthOutputSchema = import_zod2.z.object({
|
|
32118
32141
|
model: import_zod2.z.literal("public_camels_proxy_v1"),
|
|
32119
32142
|
official_status: import_zod2.z.literal("public off-site proxy, not official CAMELS"),
|
|
@@ -32127,6 +32150,7 @@ var FdicPeerHealthOutputSchema = import_zod2.z.object({
|
|
|
32127
32150
|
subject_rank: import_zod2.z.number().int().nullable(),
|
|
32128
32151
|
metrics: import_zod2.z.array(PeerHealthMetricRowSchema),
|
|
32129
32152
|
institutions: import_zod2.z.array(PeerHealthInstitutionSchema),
|
|
32153
|
+
deprecations: import_zod2.z.array(DeprecationNoticeSchema),
|
|
32130
32154
|
peer_context: import_zod2.z.object({
|
|
32131
32155
|
peer_count: import_zod2.z.number().int(),
|
|
32132
32156
|
peer_definition: import_zod2.z.string(),
|
|
@@ -35912,6 +35936,15 @@ function computePeerStats(subjectValue, peerValues, options) {
|
|
|
35912
35936
|
}
|
|
35913
35937
|
|
|
35914
35938
|
// src/tools/peerHealth.ts
|
|
35939
|
+
var PEER_HEALTH_DEPRECATIONS = [
|
|
35940
|
+
{
|
|
35941
|
+
path: "peer_context.subject_percentiles",
|
|
35942
|
+
status: "deprecated",
|
|
35943
|
+
replacement: "metrics",
|
|
35944
|
+
removal_target: "future_major_release",
|
|
35945
|
+
note: "Use metrics[] for new subject-vs-peer UI bindings. The legacy camelCase percentile map remains for backward compatibility until a coordinated major release."
|
|
35946
|
+
}
|
|
35947
|
+
];
|
|
35915
35948
|
var PEER_METRICS = [
|
|
35916
35949
|
// legacyKey preserves the original camelCase peer_context map keys for backward compatibility.
|
|
35917
35950
|
// New UI consumers should bind to the flat metrics[].name snake_case values instead.
|
|
@@ -35998,7 +36031,7 @@ Three usage modes:
|
|
|
35998
36031
|
|
|
35999
36032
|
Optionally provide cert to highlight a subject institution's position in the ranking.
|
|
36000
36033
|
|
|
36001
|
-
Output: structuredContent includes {model, official_status, report_date, institutions, metrics, peer_context, proxy_summary, proxy}. Institutions include proxy scores and name_source. When a subject cert is provided, metrics is
|
|
36034
|
+
Output: structuredContent includes {model, official_status, report_date, institutions, metrics, peer_context, proxy_summary, proxy, deprecations}. Institutions include proxy scores and name_source. When a subject cert is provided, metrics[] is the preferred subject-vs-peer array for new UI bindings and proxy_summary is a flattened subject proxy. peer_context.subject_percentiles is deprecated, remains for backward compatibility, and is targeted for removal only in a future coordinated major release. Auto-peer selection derives asset bands from report-date financials and broadens the cohort if fewer than 10 peers match.
|
|
36002
36035
|
|
|
36003
36036
|
NOTE: Public off-site analytical proxy \u2014 not official supervisory ratings.`,
|
|
36004
36037
|
inputSchema: PeerHealthInputSchema,
|
|
@@ -36396,7 +36429,8 @@ NOTE: Public off-site analytical proxy \u2014 not official supervisory ratings.`
|
|
|
36396
36429
|
subject_rank: subjectRank,
|
|
36397
36430
|
metrics: metricRows,
|
|
36398
36431
|
institutions: returned,
|
|
36399
|
-
peer_context: peerContext
|
|
36432
|
+
peer_context: peerContext,
|
|
36433
|
+
deprecations: PEER_HEALTH_DEPRECATIONS
|
|
36400
36434
|
}
|
|
36401
36435
|
};
|
|
36402
36436
|
} catch (err) {
|
package/dist/server.js
CHANGED
|
@@ -47,7 +47,7 @@ var import_types = require("@modelcontextprotocol/sdk/types.js");
|
|
|
47
47
|
var import_express2 = __toESM(require("express"));
|
|
48
48
|
|
|
49
49
|
// src/constants.ts
|
|
50
|
-
var VERSION = true ? "1.
|
|
50
|
+
var VERSION = true ? "1.29.0" : process.env.npm_package_version ?? "0.0.0-dev";
|
|
51
51
|
var FDIC_API_BASE_URL = "https://banks.data.fdic.gov/api";
|
|
52
52
|
var CHARACTER_LIMIT = 5e4;
|
|
53
53
|
var DEFAULT_FDIC_MAX_RESPONSE_BYTES = 5 * 1024 * 1024;
|
|
@@ -31978,6 +31978,21 @@ var CertSchema = import_zod.z.object({
|
|
|
31978
31978
|
// src/schemas/output.ts
|
|
31979
31979
|
var import_zod2 = require("zod");
|
|
31980
31980
|
var FdicRecord = import_zod2.z.record(import_zod2.z.unknown());
|
|
31981
|
+
var FdicFinancialRecord = import_zod2.z.object({
|
|
31982
|
+
CERT: import_zod2.z.number().int().optional(),
|
|
31983
|
+
NAME: import_zod2.z.string().optional(),
|
|
31984
|
+
REPDTE: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.number()]).optional(),
|
|
31985
|
+
ASSET: import_zod2.z.number().optional(),
|
|
31986
|
+
DEP: import_zod2.z.number().optional(),
|
|
31987
|
+
NETINC: import_zod2.z.number().optional(),
|
|
31988
|
+
ROA: import_zod2.z.number().optional(),
|
|
31989
|
+
ROE: import_zod2.z.number().optional(),
|
|
31990
|
+
IDT1CER: import_zod2.z.number().optional(),
|
|
31991
|
+
NCLNLSR: import_zod2.z.number().optional(),
|
|
31992
|
+
LNLSDEPR: import_zod2.z.number().optional(),
|
|
31993
|
+
NIMY: import_zod2.z.number().optional(),
|
|
31994
|
+
EEFFR: import_zod2.z.number().optional()
|
|
31995
|
+
}).passthrough();
|
|
31981
31996
|
var Pagination = {
|
|
31982
31997
|
total: import_zod2.z.number().int(),
|
|
31983
31998
|
offset: import_zod2.z.number().int(),
|
|
@@ -31985,10 +32000,10 @@ var Pagination = {
|
|
|
31985
32000
|
has_more: import_zod2.z.boolean(),
|
|
31986
32001
|
next_offset: import_zod2.z.number().int().optional()
|
|
31987
32002
|
};
|
|
31988
|
-
function paginatedSearchSchema(recordKey) {
|
|
32003
|
+
function paginatedSearchSchema(recordKey, recordSchema = FdicRecord) {
|
|
31989
32004
|
return import_zod2.z.object({
|
|
31990
32005
|
...Pagination,
|
|
31991
|
-
[recordKey]: import_zod2.z.array(
|
|
32006
|
+
[recordKey]: import_zod2.z.array(recordSchema),
|
|
31992
32007
|
truncated: import_zod2.z.boolean().optional()
|
|
31993
32008
|
});
|
|
31994
32009
|
}
|
|
@@ -31999,7 +32014,8 @@ var FdicFailuresSearchOutputSchema = paginatedSearchSchema("failures");
|
|
|
31999
32014
|
var FdicLocationsSearchOutputSchema = paginatedSearchSchema("locations");
|
|
32000
32015
|
var FdicHistorySearchOutputSchema = paginatedSearchSchema("events");
|
|
32001
32016
|
var FdicFinancialsSearchOutputSchema = paginatedSearchSchema(
|
|
32002
|
-
"financials"
|
|
32017
|
+
"financials",
|
|
32018
|
+
FdicFinancialRecord
|
|
32003
32019
|
);
|
|
32004
32020
|
var FdicSummarySearchOutputSchema = paginatedSearchSchema("summary");
|
|
32005
32021
|
var FdicSodSearchOutputSchema = paginatedSearchSchema("deposits");
|
|
@@ -32129,6 +32145,13 @@ var PeerHealthProxySummarySchema = import_zod2.z.object({
|
|
|
32129
32145
|
gaps: import_zod2.z.array(import_zod2.z.string())
|
|
32130
32146
|
})
|
|
32131
32147
|
});
|
|
32148
|
+
var DeprecationNoticeSchema = import_zod2.z.object({
|
|
32149
|
+
path: import_zod2.z.string(),
|
|
32150
|
+
status: import_zod2.z.literal("deprecated"),
|
|
32151
|
+
replacement: import_zod2.z.string(),
|
|
32152
|
+
removal_target: import_zod2.z.literal("future_major_release"),
|
|
32153
|
+
note: import_zod2.z.string()
|
|
32154
|
+
});
|
|
32132
32155
|
var FdicPeerHealthOutputSchema = import_zod2.z.object({
|
|
32133
32156
|
model: import_zod2.z.literal("public_camels_proxy_v1"),
|
|
32134
32157
|
official_status: import_zod2.z.literal("public off-site proxy, not official CAMELS"),
|
|
@@ -32142,6 +32165,7 @@ var FdicPeerHealthOutputSchema = import_zod2.z.object({
|
|
|
32142
32165
|
subject_rank: import_zod2.z.number().int().nullable(),
|
|
32143
32166
|
metrics: import_zod2.z.array(PeerHealthMetricRowSchema),
|
|
32144
32167
|
institutions: import_zod2.z.array(PeerHealthInstitutionSchema),
|
|
32168
|
+
deprecations: import_zod2.z.array(DeprecationNoticeSchema),
|
|
32145
32169
|
peer_context: import_zod2.z.object({
|
|
32146
32170
|
peer_count: import_zod2.z.number().int(),
|
|
32147
32171
|
peer_definition: import_zod2.z.string(),
|
|
@@ -35927,6 +35951,15 @@ function computePeerStats(subjectValue, peerValues, options) {
|
|
|
35927
35951
|
}
|
|
35928
35952
|
|
|
35929
35953
|
// src/tools/peerHealth.ts
|
|
35954
|
+
var PEER_HEALTH_DEPRECATIONS = [
|
|
35955
|
+
{
|
|
35956
|
+
path: "peer_context.subject_percentiles",
|
|
35957
|
+
status: "deprecated",
|
|
35958
|
+
replacement: "metrics",
|
|
35959
|
+
removal_target: "future_major_release",
|
|
35960
|
+
note: "Use metrics[] for new subject-vs-peer UI bindings. The legacy camelCase percentile map remains for backward compatibility until a coordinated major release."
|
|
35961
|
+
}
|
|
35962
|
+
];
|
|
35930
35963
|
var PEER_METRICS = [
|
|
35931
35964
|
// legacyKey preserves the original camelCase peer_context map keys for backward compatibility.
|
|
35932
35965
|
// New UI consumers should bind to the flat metrics[].name snake_case values instead.
|
|
@@ -36013,7 +36046,7 @@ Three usage modes:
|
|
|
36013
36046
|
|
|
36014
36047
|
Optionally provide cert to highlight a subject institution's position in the ranking.
|
|
36015
36048
|
|
|
36016
|
-
Output: structuredContent includes {model, official_status, report_date, institutions, metrics, peer_context, proxy_summary, proxy}. Institutions include proxy scores and name_source. When a subject cert is provided, metrics is
|
|
36049
|
+
Output: structuredContent includes {model, official_status, report_date, institutions, metrics, peer_context, proxy_summary, proxy, deprecations}. Institutions include proxy scores and name_source. When a subject cert is provided, metrics[] is the preferred subject-vs-peer array for new UI bindings and proxy_summary is a flattened subject proxy. peer_context.subject_percentiles is deprecated, remains for backward compatibility, and is targeted for removal only in a future coordinated major release. Auto-peer selection derives asset bands from report-date financials and broadens the cohort if fewer than 10 peers match.
|
|
36017
36050
|
|
|
36018
36051
|
NOTE: Public off-site analytical proxy \u2014 not official supervisory ratings.`,
|
|
36019
36052
|
inputSchema: PeerHealthInputSchema,
|
|
@@ -36411,7 +36444,8 @@ NOTE: Public off-site analytical proxy \u2014 not official supervisory ratings.`
|
|
|
36411
36444
|
subject_rank: subjectRank,
|
|
36412
36445
|
metrics: metricRows,
|
|
36413
36446
|
institutions: returned,
|
|
36414
|
-
peer_context: peerContext
|
|
36447
|
+
peer_context: peerContext,
|
|
36448
|
+
deprecations: PEER_HEALTH_DEPRECATIONS
|
|
36415
36449
|
}
|
|
36416
36450
|
};
|
|
36417
36451
|
} catch (err) {
|