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 +1 -1
- package/build/tools/dataFormat.js +10 -15
- package/build/tools/network.js +1 -1
- package/package.json +5 -6
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
|
-
|
|
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
|
|
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
|
};
|
package/build/tools/network.js
CHANGED
|
@@ -894,7 +894,7 @@ Common issues:
|
|
|
894
894
|
fetchImpl = globalThis.fetch;
|
|
895
895
|
}
|
|
896
896
|
else {
|
|
897
|
-
|
|
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.
|
|
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": "^
|
|
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.
|
|
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": "^
|
|
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.
|
|
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",
|