it-tools-mcp 4.1.2 → 4.1.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.
Files changed (2) hide show
  1. package/build/index.js +19 -2
  2. package/package.json +3 -1
package/build/index.js CHANGED
@@ -497,8 +497,13 @@ async function loadModularTools(server, category) {
497
497
  // Find the register function in the module
498
498
  const registerFunction = Object.values(toolModule).find((fn) => typeof fn === 'function' && fn.name.startsWith('register'));
499
499
  if (registerFunction) {
500
- registerFunction(server);
501
- console.error(`Loaded tool: ${category}/${toolDir}`);
500
+ try {
501
+ registerFunction(server);
502
+ console.error(`Loaded tool: ${category}/${toolDir}`);
503
+ }
504
+ catch (regError) {
505
+ console.error(`Failed to register tool ${category}/${toolDir}:`, regError instanceof Error ? regError.message : 'Unknown registration error');
506
+ }
502
507
  }
503
508
  else {
504
509
  console.warn(`No register function found in ${toolPath}`);
@@ -792,6 +797,14 @@ async function main() {
792
797
  console.error(" - Hot reload capabilities active");
793
798
  console.error(" - Debug information available");
794
799
  }
800
+ // Add error handling for unhandled rejections
801
+ process.on('unhandledRejection', (reason, promise) => {
802
+ console.error('Unhandled Rejection at:', promise, 'reason:', reason);
803
+ });
804
+ process.on('uncaughtException', (error) => {
805
+ console.error('Uncaught Exception:', error);
806
+ process.exit(1);
807
+ });
795
808
  await registerAllTools(server);
796
809
  const transport = new StdioServerTransport();
797
810
  await server.connect(transport);
@@ -809,6 +822,10 @@ async function main() {
809
822
  console.error(`🔗 Protocol: Model Context Protocol (MCP) via stdio`);
810
823
  console.error(`📦 Version: ${packageInfo.version}`);
811
824
  }
825
+ else {
826
+ // Production mode - simple ready message
827
+ console.error(`IT Tools MCP Server v${packageInfo.version} ready - ${await getToolCount()} tools loaded`);
828
+ }
812
829
  // Enhanced monitoring in development mode
813
830
  if (isDevelopment && !isTest) {
814
831
  // More frequent monitoring in dev mode (every minute)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "it-tools-mcp",
3
- "version": "4.1.2",
3
+ "version": "4.1.8",
4
4
  "description": "VS Code MCP-compliant server providing 116+ IT tools and utilities for developers - encoding, crypto, network tools, and more",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",
@@ -15,6 +15,8 @@
15
15
  "dev:build": "NODE_ENV=development tsc",
16
16
  "test": "clear;node tests/test-server.mjs",
17
17
  "test:all": "clear;node tests/all-tools-test.mjs",
18
+ "sync:manifest": "node scripts/sync-manifest.cjs",
19
+ "setup:hooks": "chmod +x .git/hooks/pre-commit",
18
20
  "docker:build": "docker buildx build --platform linux/amd64,linux/arm64 --provenance=true --sbom=true -t it-tools-mcp .",
19
21
  "docker:build:local": "docker build -t it-tools-mcp .",
20
22
  "docker:run": "docker-compose up --build",