it-tools-mcp 3.0.20 → 3.0.22

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/README.md CHANGED
@@ -118,7 +118,7 @@ Examples of using the IT Tools MCP server with VS Code Copilot Chat for secure p
118
118
  | `json-to-toml` | Convert JSON to TOML | `json: string` |
119
119
  | `markdown-to-html` | Convert Markdown to HTML | `markdown: string` |
120
120
  | `phone-format` | Parse and format phone numbers | `phoneNumber: string`, `countryCode?: string` |
121
- | `sql-format` | Format SQL | `sql: string` |
121
+ | `sql-format` | Format SQL | `sql: string`, `dialect?: 'sql' \| 'mysql' \| 'postgresql' \| 'sqlite' \| 'mariadb' \| 'db2' \| 'plsql' \| 'n1ql' \| 'redshift' \| 'spark' \| 'tsql' \| 'trino' \| 'bigquery'` (optional, default: 'sql') |
122
122
  | `toml-to-json` | Convert TOML to JSON | `toml: string` |
123
123
  | `xml-format` | Format XML | `xml: string`, `indent?: number` |
124
124
  | `yaml-format` | Format YAML | `yaml: string` |
@@ -258,22 +258,23 @@ ${formatted}
258
258
  // SQL formatter tool
259
259
  server.tool("sql-format", "Format and prettify SQL queries", {
260
260
  sql: z.string().describe("SQL query to format"),
261
- }, async ({ sql }) => {
261
+ dialect: z.string().optional().describe("SQL dialect to use for formatting (e.g., 'sql', 'mysql', 'postgresql', 'sqlite', 'mariadb', 'db2', 'plsql', 'n1ql', 'redshift', 'spark', 'tsql', 'trino', 'bigquery'). Default is 'sql'."),
262
+ }, async ({ sql, dialect = "sql" }) => {
262
263
  try {
263
264
  const { format: formatSQL } = await import("sql-formatter");
265
+ // Validate dialect and cast to correct type
266
+ const supportedDialects = [
267
+ "sql", "mysql", "postgresql", "sqlite", "mariadb", "db2", "plsql", "n1ql", "redshift", "spark", "tsql", "trino", "bigquery"
268
+ ];
269
+ const language = supportedDialects.includes(dialect) ? dialect : "sql";
264
270
  const formatted = formatSQL(sql, {
265
- language: "sql"
271
+ language
266
272
  });
267
273
  return {
268
274
  content: [
269
275
  {
270
276
  type: "text",
271
- text: `Formatted SQL:
272
-
273
- ${formatted}
274
-
275
- ✅ SQL formatted successfully
276
- 🎯 Features: uppercase keywords, proper indentation, clean structure`,
277
+ text: `Formatted SQL (dialect: ${language}):\n\n${formatted}\n\n✅ SQL formatted successfully\n🎯 Features: uppercase keywords, proper indentation, clean structure`,
277
278
  },
278
279
  ],
279
280
  };
@@ -283,13 +284,7 @@ ${formatted}
283
284
  content: [
284
285
  {
285
286
  type: "text",
286
- text: `Error formatting SQL: ${error instanceof Error ? error.message : 'Unknown error'}
287
-
288
- 💡 Common SQL issues:
289
- • Check syntax for missing semicolons
290
- • Ensure proper table and column names
291
- • Validate string quoting (single quotes for strings)
292
- • Check for balanced parentheses in subqueries`,
287
+ text: `Error formatting SQL: ${error instanceof Error ? error.message : 'Unknown error'}\n\n💡 Common SQL issues:\n• Check syntax for missing semicolons\n• Ensure proper table and column names\n• Validate string quoting (single quotes for strings)\n• Check for balanced parentheses in subqueries`,
293
288
  },
294
289
  ],
295
290
  };
@@ -894,7 +894,7 @@ Common issues:
894
894
  fetchImpl = globalThis.fetch;
895
895
  }
896
896
  else {
897
- fetchImpl = (await import('node-fetch')).default;
897
+ throw new Error('Native fetch is not available. Please upgrade Node.js to v18 or later.');
898
898
  }
899
899
  const options = {
900
900
  method,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "it-tools-mcp",
3
- "version": "3.0.20",
3
+ "version": "3.0.22",
4
4
  "description": "MCP server providing access to various IT tools and utilities for developers",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",
@@ -53,7 +53,7 @@
53
53
  "@types/iban": "^0.0.35",
54
54
  "@types/marked": "^5.0.2",
55
55
  "@types/mime-types": "^3.0.1",
56
- "@types/node": "^22.15.32",
56
+ "@types/node": "^24.0.7",
57
57
  "@types/ping": "^0.4.4",
58
58
  "@types/shell-escape": "^0.2.3",
59
59
  "@types/speakeasy": "^2.0.10",
@@ -65,7 +65,7 @@
65
65
  },
66
66
  "dependencies": {
67
67
  "@iarna/toml": "^2.2.5",
68
- "@modelcontextprotocol/sdk": "^1.12.3",
68
+ "@modelcontextprotocol/sdk": "^1.13.2",
69
69
  "@types/js-yaml": "^4.0.9",
70
70
  "@types/papaparse": "^5.3.16",
71
71
  "@types/qrcode": "^1.5.5",
@@ -80,10 +80,9 @@
80
80
  "iban": "^0.0.14",
81
81
  "js-yaml": "^4.1.0",
82
82
  "libphonenumber-js": "^1.12.9",
83
- "marked": "^15.0.12",
83
+ "marked": "^16.0.0",
84
84
  "mathjs": "^14.5.2",
85
85
  "mime-types": "^3.0.1",
86
- "node-fetch": "^3.3.2",
87
86
  "papaparse": "^5.5.3",
88
87
  "ping": "^0.4.4",
89
88
  "ps-list": "^8.1.1",
@@ -91,7 +90,7 @@
91
90
  "read-last-lines": "^1.8.0",
92
91
  "shell-escape": "^0.2.0",
93
92
  "speakeasy": "^2.0.0",
94
- "sql-formatter": "^15.6.5",
93
+ "sql-formatter": "^15.6.6",
95
94
  "ssh2": "^1.16.0",
96
95
  "telnet-client": "^2.2.5",
97
96
  "turndown": "^7.2.0",