krs-poland-mcp-server 1.1.2 → 1.2.2

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.
Files changed (2) hide show
  1. package/build/index.mjs +30 -11
  2. package/package.json +1 -1
package/build/index.mjs CHANGED
@@ -4060,10 +4060,17 @@ function buildExtractUrl(opts) {
4060
4060
  const { type, rejestr, krs } = opts;
4061
4061
  return `${KRS_API_BASE}/${type}/${krs}?rejestr=${rejestr}&format=json`;
4062
4062
  }
4063
+ function buildExtractUrlPath(opts) {
4064
+ const { type, rejestr, krs } = opts;
4065
+ return `${KRS_API_BASE}/${type}/${rejestr}/${krs}?format=json`;
4066
+ }
4067
+ function buildExtractUrls(opts) {
4068
+ return [buildExtractUrlPath(opts), buildExtractUrl(opts)];
4069
+ }
4063
4070
  function sleep(ms) {
4064
4071
  return new Promise((resolve) => setTimeout(resolve, ms));
4065
4072
  }
4066
- async function makeKRSRequest(url) {
4073
+ async function makeKRSRequestSingle(url, logFailure) {
4067
4074
  const headers = { Accept: "application/json", "User-Agent": USER_AGENT };
4068
4075
  const maxAttempts = RETRY_DELAYS_MS.length + 1;
4069
4076
  for (let attempt = 0; attempt < maxAttempts; attempt++) {
@@ -4075,7 +4082,9 @@ async function makeKRSRequest(url) {
4075
4082
  return await res.json();
4076
4083
  } catch (err) {
4077
4084
  if (attempt === maxAttempts - 1) {
4078
- console.error("KRS request error:", err);
4085
+ if (logFailure) {
4086
+ console.error("KRS request error:", err);
4087
+ }
4079
4088
  return null;
4080
4089
  }
4081
4090
  console.error("KRS request error (will retry):", err);
@@ -4087,6 +4096,16 @@ async function makeKRSRequest(url) {
4087
4096
  }
4088
4097
  return null;
4089
4098
  }
4099
+ async function makeKRSRequest(urlOrUrls) {
4100
+ const urls = Array.isArray(urlOrUrls) ? urlOrUrls : [urlOrUrls];
4101
+ for (let index = 0; index < urls.length; index++) {
4102
+ const url = urls[index];
4103
+ const logFailure = index === urls.length - 1;
4104
+ const result = await makeKRSRequestSingle(url, logFailure);
4105
+ if (result) return result;
4106
+ }
4107
+ return null;
4108
+ }
4090
4109
 
4091
4110
  // src/utils/format.ts
4092
4111
  function formatCompanyHeadline(extract) {
@@ -4103,10 +4122,10 @@ var getKrsCurrentExtractTool = {
4103
4122
  krs: external_exports.string().regex(/^[0]\d{9}$/, "Numer KRS powinien mie\u0107 10 cyfr").describe("Numer KRS (10 cyfr)"),
4104
4123
  rejestr: external_exports.string().length(1, "Rejestr musi by\u0107 pojedynczym znakiem: P lub S").regex(/^[pPsS]$/, "Rejestr musi by\u0107 liter\u0105 P lub S (wielko\u015B\u0107 liter bez znaczenia)").transform((val) => val.toUpperCase()).describe("Rejestr: P \u2013 przedsi\u0119biorc\xF3w, S \u2013 stowarzysze\u0144 (P/S, wielko\u015B\u0107 liter bez znaczenia)")
4105
4124
  },
4106
- handler: async (args, _extra) => {
4125
+ handler: async (args) => {
4107
4126
  const { krs, rejestr } = args;
4108
- const url = buildExtractUrl({ type: "OdpisAktualny", rejestr, krs });
4109
- const extract = await makeKRSRequest(url);
4127
+ const urls = buildExtractUrls({ type: "OdpisAktualny", rejestr, krs });
4128
+ const extract = await makeKRSRequest(urls);
4110
4129
  if (!extract) {
4111
4130
  return {
4112
4131
  content: [
@@ -4142,10 +4161,10 @@ var getKrsFullExtractTool = {
4142
4161
  krs: external_exports.string().regex(/^[0]\d{9}$/, "Numer KRS powinien mie\u0107 10 cyfr").describe("Numer KRS (10 cyfr)"),
4143
4162
  rejestr: external_exports.string().length(1, "Rejestr musi by\u0107 pojedynczym znakiem: P lub S").regex(/^[pPsS]$/, "Rejestr musi by\u0107 liter\u0105 P lub S (wielko\u015B\u0107 liter bez znaczenia)").transform((val) => val.toUpperCase()).describe("Rejestr: P \u2013 przedsi\u0119biorc\xF3w, S \u2013 stowarzysze\u0144 (P/S, wielko\u015B\u0107 liter bez znaczenia)")
4144
4163
  },
4145
- handler: async (args, _extra) => {
4164
+ handler: async (args) => {
4146
4165
  const { krs, rejestr } = args;
4147
- const url = buildExtractUrl({ type: "OdpisPelny", rejestr, krs });
4148
- const extract = await makeKRSRequest(url);
4166
+ const urls = buildExtractUrls({ type: "OdpisPelny", rejestr, krs });
4167
+ const extract = await makeKRSRequest(urls);
4149
4168
  if (!extract) {
4150
4169
  return {
4151
4170
  content: [
@@ -4177,7 +4196,7 @@ ${JSON.stringify(extract, null, 2)}`,
4177
4196
  // src/server.ts
4178
4197
  var server = new McpServer({
4179
4198
  name: "KRS Poland MCP Server",
4180
- version: "1.0.17"
4199
+ version: "1.2.0"
4181
4200
  });
4182
4201
  server.registerTool(
4183
4202
  "Get_Current_KRS_Record",
@@ -4186,7 +4205,7 @@ server.registerTool(
4186
4205
  description: "Get current status of the entity in KRS",
4187
4206
  inputSchema: getKrsCurrentExtractTool.schema
4188
4207
  },
4189
- (params, extra) => getKrsCurrentExtractTool.handler(params, extra)
4208
+ (params) => getKrsCurrentExtractTool.handler(params)
4190
4209
  );
4191
4210
  server.registerTool(
4192
4211
  "Get_Full_KRS_Record",
@@ -4195,7 +4214,7 @@ server.registerTool(
4195
4214
  description: "Get full status of the entity in KRS",
4196
4215
  inputSchema: getKrsFullExtractTool.schema
4197
4216
  },
4198
- (params, extra) => getKrsFullExtractTool.handler(params, extra)
4217
+ (params) => getKrsFullExtractTool.handler(params)
4199
4218
  );
4200
4219
 
4201
4220
  // src/index.ts
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "mcpName": "io.github.pkolawa/krs-poland-mcp-server",
3
3
  "name": "krs-poland-mcp-server",
4
- "version": "1.1.2",
4
+ "version": "1.2.2",
5
5
  "description": "The MCP server for KRS Poland public API.",
6
6
  "main": "./build/index.mjs",
7
7
  "scripts": {