@aashari/boilerplate-mcp-server 1.11.2 → 1.11.3

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/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## [1.11.3](https://github.com/aashari/boilerplate-mcp-server/compare/v1.11.2...v1.11.3) (2025-08-02)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * resolve TypeScript compilation errors and improve compatibility ([873c3f6](https://github.com/aashari/boilerplate-mcp-server/commit/873c3f63c4ec384ffa13adf94b54f6b6bb4fdbdc))
7
+ * resolve TypeScript/ESLint version conflict and linting issues ([fa0486a](https://github.com/aashari/boilerplate-mcp-server/commit/fa0486adb67fa449fa038937fb56521f877d4ad4))
8
+
1
9
  ## [1.11.2](https://github.com/aashari/boilerplate-mcp-server/compare/v1.11.1...v1.11.2) (2025-06-22)
2
10
 
3
11
 
@@ -69,7 +69,7 @@ async function get(ipAddress, options = {}) {
69
69
  methodLogger.error(`Service error fetching IP data`, error);
70
70
  // Handle Zod validation errors
71
71
  if (error instanceof zod_1.z.ZodError) {
72
- throw (0, error_util_js_1.createApiError)(`API response validation failed: ${error.errors
72
+ throw (0, error_util_js_1.createApiError)(`API response validation failed: ${error.issues
73
73
  .map((e) => `${e.path.join('.')}: ${e.message}`)
74
74
  .join(', ')}`, 500, // Use 500 for validation errors as it's a server-side issue
75
75
  error);
@@ -24,49 +24,7 @@ export declare const IPDetailSchema: z.ZodObject<{
24
24
  mobile: z.ZodOptional<z.ZodBoolean>;
25
25
  proxy: z.ZodOptional<z.ZodBoolean>;
26
26
  hosting: z.ZodOptional<z.ZodBoolean>;
27
- }, "strip", z.ZodTypeAny, {
28
- status: string;
29
- message?: string | undefined;
30
- query?: string | undefined;
31
- country?: string | undefined;
32
- countryCode?: string | undefined;
33
- region?: string | undefined;
34
- regionName?: string | undefined;
35
- city?: string | undefined;
36
- zip?: string | undefined;
37
- lat?: number | undefined;
38
- lon?: number | undefined;
39
- timezone?: string | undefined;
40
- isp?: string | undefined;
41
- org?: string | undefined;
42
- as?: string | undefined;
43
- asname?: string | undefined;
44
- reverse?: string | undefined;
45
- mobile?: boolean | undefined;
46
- proxy?: boolean | undefined;
47
- hosting?: boolean | undefined;
48
- }, {
49
- status: string;
50
- message?: string | undefined;
51
- query?: string | undefined;
52
- country?: string | undefined;
53
- countryCode?: string | undefined;
54
- region?: string | undefined;
55
- regionName?: string | undefined;
56
- city?: string | undefined;
57
- zip?: string | undefined;
58
- lat?: number | undefined;
59
- lon?: number | undefined;
60
- timezone?: string | undefined;
61
- isp?: string | undefined;
62
- org?: string | undefined;
63
- as?: string | undefined;
64
- asname?: string | undefined;
65
- reverse?: string | undefined;
66
- mobile?: boolean | undefined;
67
- proxy?: boolean | undefined;
68
- hosting?: boolean | undefined;
69
- }>;
27
+ }, z.core.$strip>;
70
28
  /**
71
29
  * TypeScript type inferred from the IPDetailSchema.
72
30
  * Represents the expected structure of a successful ip-api.com response.
@@ -19,6 +19,10 @@ const GetIpDetailsToolSchema = zod_1.z.object({
19
19
  .describe('IP address to lookup (omit for current IP)'),
20
20
  ...ipaddress_types_js_1.IpAddressToolArgs.shape, // Merge options schema
21
21
  });
22
+ /**
23
+ * TypeScript type inferred from the combined tool arguments schema.
24
+ */
25
+ // type GetIpDetailsToolArgsType = z.infer<typeof GetIpDetailsToolSchema>;
22
26
  /**
23
27
  * @function handleGetIpDetails
24
28
  * @description MCP Tool handler to retrieve details for a given IP address (or the current IP).
@@ -59,8 +63,7 @@ async function handleGetIpDetails(args) {
59
63
  function registerTools(server) {
60
64
  const methodLogger = logger_util_js_1.Logger.forContext('tools/ipaddress.tool.ts', 'registerTools');
61
65
  methodLogger.debug(`Registering IP address tools...`);
62
- server.tool('ip_get_details', `Retrieves detailed geolocation and network information for a public IP address (\`ipAddress\`). If no IP is provided, automatically uses the server's current public IP. Returns comprehensive location data including country, region, city, coordinates, timezone, and network details like ISP and organization. Use \`includeExtendedData\` to get additional information such as ASN, mobile/proxy detection (requires API token). **Note:** Cannot lookup private IPs (e.g., 192.168.x.x, 10.x.x.x). Powered by ip-api.com. Enable \`useHttps\` for secure connections (required for paid tier).`, GetIpDetailsToolSchema.shape, // Use the combined schema for validation
63
- handleGetIpDetails);
66
+ server.tool('ip_get_details', `Retrieves detailed geolocation and network information for a public IP address (\`ipAddress\`). If no IP is provided, automatically uses the server's current public IP. Returns comprehensive location data including country, region, city, coordinates, timezone, and network details like ISP and organization. Use \`includeExtendedData\` to get additional information such as ASN, mobile/proxy detection (requires API token). **Note:** Cannot lookup private IPs (e.g., 192.168.x.x, 10.x.x.x). Powered by ip-api.com. Enable \`useHttps\` for secure connections (required for paid tier).`, GetIpDetailsToolSchema.shape, handleGetIpDetails);
64
67
  methodLogger.debug('Successfully registered ip_get_details tool.');
65
68
  }
66
69
  exports.default = { registerTools };
@@ -5,13 +5,7 @@ import { z } from 'zod';
5
5
  export declare const IpAddressToolArgs: z.ZodObject<{
6
6
  includeExtendedData: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
7
7
  useHttps: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8
- }, "strict", z.ZodTypeAny, {
9
- useHttps: boolean;
10
- includeExtendedData: boolean;
11
- }, {
12
- useHttps?: boolean | undefined;
13
- includeExtendedData?: boolean | undefined;
14
- }>;
8
+ }, z.core.$strict>;
15
9
  /**
16
10
  * TypeScript type inferred from the IpAddressToolArgs Zod schema.
17
11
  * This represents the optional arguments passed to the tool handler and controller.
@@ -8,7 +8,7 @@
8
8
  * Current application version
9
9
  * This should match the version in package.json
10
10
  */
11
- export declare const VERSION = "1.11.2";
11
+ export declare const VERSION = "1.11.3";
12
12
  /**
13
13
  * Package name with scope
14
14
  * Used for initialization and identification
@@ -11,7 +11,7 @@ exports.CLI_NAME = exports.PACKAGE_NAME = exports.VERSION = void 0;
11
11
  * Current application version
12
12
  * This should match the version in package.json
13
13
  */
14
- exports.VERSION = '1.11.2';
14
+ exports.VERSION = '1.11.3';
15
15
  /**
16
16
  * Package name with scope
17
17
  * Used for initialization and identification
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aashari/boilerplate-mcp-server",
3
- "version": "1.11.2",
3
+ "version": "1.11.3",
4
4
  "description": "TypeScript MCP server boilerplate with STDIO and HTTP transport support, CLI tools, and extensible architecture",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,11 +23,11 @@
23
23
  "update:deps": "npx npm-check-updates -u && npm install --legacy-peer-deps",
24
24
  "format": "prettier --write 'src/**/*.ts' 'scripts/**/*.js'",
25
25
  "cli": "npm run build && node dist/index.js",
26
- "mcp:stdio": "TRANSPORT_MODE=stdio npm run build && node dist/index.js",
27
- "mcp:http": "TRANSPORT_MODE=http npm run build && node dist/index.js",
28
- "mcp:inspect": "TRANSPORT_MODE=http npm run build && (node dist/index.js &) && sleep 2 && npx @modelcontextprotocol/inspector http://localhost:3000/mcp",
26
+ "mcp:stdio": "npm run build && TRANSPORT_MODE=stdio node dist/index.js",
27
+ "mcp:http": "npm run build && TRANSPORT_MODE=http node dist/index.js",
28
+ "mcp:inspect": "npm run build && (TRANSPORT_MODE=http node dist/index.js &) && sleep 2 && npx @modelcontextprotocol/inspector http://localhost:3000/mcp",
29
29
  "dev:stdio": "npm run build && npx @modelcontextprotocol/inspector -e TRANSPORT_MODE=stdio -e DEBUG=true node dist/index.js",
30
- "dev:http": "DEBUG=true TRANSPORT_MODE=http npm run build && node dist/index.js"
30
+ "dev:http": "npm run build && DEBUG=true TRANSPORT_MODE=http node dist/index.js"
31
31
  },
32
32
  "keywords": [
33
33
  "mcp",
@@ -51,35 +51,35 @@
51
51
  "node": ">=18.0.0"
52
52
  },
53
53
  "devDependencies": {
54
- "@eslint/js": "^9.29.0",
54
+ "@eslint/js": "^9.32.0",
55
55
  "@semantic-release/changelog": "^6.0.3",
56
56
  "@semantic-release/exec": "^7.1.0",
57
57
  "@semantic-release/git": "^10.0.1",
58
58
  "@semantic-release/github": "^11.0.3",
59
- "@semantic-release/npm": "^12.0.1",
59
+ "@semantic-release/npm": "^12.0.2",
60
60
  "@types/cors": "^2.8.19",
61
61
  "@types/express": "^5.0.3",
62
62
  "@types/jest": "^30.0.0",
63
- "@types/node": "^24.0.3",
64
- "@typescript-eslint/eslint-plugin": "^8.34.1",
65
- "@typescript-eslint/parser": "^8.34.1",
66
- "eslint": "^9.29.0",
67
- "eslint-config-prettier": "^10.1.5",
68
- "eslint-plugin-prettier": "^5.5.0",
69
- "jest": "^30.0.2",
70
- "prettier": "^3.5.3",
71
- "semantic-release": "^24.2.5",
63
+ "@types/node": "^24.1.0",
64
+ "@typescript-eslint/eslint-plugin": "^8.38.0",
65
+ "@typescript-eslint/parser": "^8.38.0",
66
+ "eslint": "^9.32.0",
67
+ "eslint-config-prettier": "^10.1.8",
68
+ "eslint-plugin-prettier": "^5.5.3",
69
+ "jest": "^30.0.5",
70
+ "prettier": "^3.6.2",
71
+ "semantic-release": "^24.2.7",
72
72
  "ts-jest": "^29.4.0",
73
- "typescript": "^5.8.3",
74
- "typescript-eslint": "^8.34.1"
73
+ "typescript": "5.8.3",
74
+ "typescript-eslint": "^8.38.0"
75
75
  },
76
76
  "dependencies": {
77
- "@modelcontextprotocol/sdk": "^1.13.0",
77
+ "@modelcontextprotocol/sdk": "^1.17.1",
78
78
  "commander": "^14.0.0",
79
79
  "cors": "^2.8.5",
80
- "dotenv": "^16.5.0",
80
+ "dotenv": "^17.2.1",
81
81
  "express": "^5.1.0",
82
- "zod": "^3.25.67"
82
+ "zod": "^4.0.14"
83
83
  },
84
84
  "publishConfig": {
85
85
  "registry": "https://registry.npmjs.org/",
package/package.json.bak CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aashari/boilerplate-mcp-server",
3
- "version": "1.11.1",
3
+ "version": "1.11.2",
4
4
  "description": "TypeScript MCP server boilerplate with STDIO and HTTP transport support, CLI tools, and extensible architecture",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,11 +23,11 @@
23
23
  "update:deps": "npx npm-check-updates -u && npm install --legacy-peer-deps",
24
24
  "format": "prettier --write 'src/**/*.ts' 'scripts/**/*.js'",
25
25
  "cli": "npm run build && node dist/index.js",
26
- "mcp:stdio": "TRANSPORT_MODE=stdio npm run build && node dist/index.js",
27
- "mcp:http": "TRANSPORT_MODE=http npm run build && node dist/index.js",
28
- "mcp:inspect": "TRANSPORT_MODE=http npm run build && (node dist/index.js &) && sleep 2 && npx @modelcontextprotocol/inspector http://localhost:3000/mcp",
26
+ "mcp:stdio": "npm run build && TRANSPORT_MODE=stdio node dist/index.js",
27
+ "mcp:http": "npm run build && TRANSPORT_MODE=http node dist/index.js",
28
+ "mcp:inspect": "npm run build && (TRANSPORT_MODE=http node dist/index.js &) && sleep 2 && npx @modelcontextprotocol/inspector http://localhost:3000/mcp",
29
29
  "dev:stdio": "npm run build && npx @modelcontextprotocol/inspector -e TRANSPORT_MODE=stdio -e DEBUG=true node dist/index.js",
30
- "dev:http": "DEBUG=true TRANSPORT_MODE=http npm run build && node dist/index.js"
30
+ "dev:http": "npm run build && DEBUG=true TRANSPORT_MODE=http node dist/index.js"
31
31
  },
32
32
  "keywords": [
33
33
  "mcp",
@@ -51,35 +51,35 @@
51
51
  "node": ">=18.0.0"
52
52
  },
53
53
  "devDependencies": {
54
- "@eslint/js": "^9.29.0",
54
+ "@eslint/js": "^9.32.0",
55
55
  "@semantic-release/changelog": "^6.0.3",
56
56
  "@semantic-release/exec": "^7.1.0",
57
57
  "@semantic-release/git": "^10.0.1",
58
58
  "@semantic-release/github": "^11.0.3",
59
- "@semantic-release/npm": "^12.0.1",
59
+ "@semantic-release/npm": "^12.0.2",
60
60
  "@types/cors": "^2.8.19",
61
61
  "@types/express": "^5.0.3",
62
62
  "@types/jest": "^30.0.0",
63
- "@types/node": "^24.0.3",
64
- "@typescript-eslint/eslint-plugin": "^8.34.1",
65
- "@typescript-eslint/parser": "^8.34.1",
66
- "eslint": "^9.29.0",
67
- "eslint-config-prettier": "^10.1.5",
68
- "eslint-plugin-prettier": "^5.5.0",
69
- "jest": "^30.0.2",
70
- "prettier": "^3.5.3",
71
- "semantic-release": "^24.2.5",
63
+ "@types/node": "^24.1.0",
64
+ "@typescript-eslint/eslint-plugin": "^8.38.0",
65
+ "@typescript-eslint/parser": "^8.38.0",
66
+ "eslint": "^9.32.0",
67
+ "eslint-config-prettier": "^10.1.8",
68
+ "eslint-plugin-prettier": "^5.5.3",
69
+ "jest": "^30.0.5",
70
+ "prettier": "^3.6.2",
71
+ "semantic-release": "^24.2.7",
72
72
  "ts-jest": "^29.4.0",
73
- "typescript": "^5.8.3",
74
- "typescript-eslint": "^8.34.1"
73
+ "typescript": "5.8.3",
74
+ "typescript-eslint": "^8.38.0"
75
75
  },
76
76
  "dependencies": {
77
- "@modelcontextprotocol/sdk": "^1.13.0",
77
+ "@modelcontextprotocol/sdk": "^1.17.1",
78
78
  "commander": "^14.0.0",
79
79
  "cors": "^2.8.5",
80
- "dotenv": "^16.5.0",
80
+ "dotenv": "^17.2.1",
81
81
  "express": "^5.1.0",
82
- "zod": "^3.25.67"
82
+ "zod": "^4.0.14"
83
83
  },
84
84
  "publishConfig": {
85
85
  "registry": "https://registry.npmjs.org/",