it-tools-mcp 3.0.16 → 3.0.17
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.dockerhub.md +3 -3
- package/README.md +3 -3
- package/build/tools/network.js +48 -0
- package/package.json +2 -1
package/README.dockerhub.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://hub.docker.com/r/wrenchpilot/it-tools-mcp)
|
|
5
5
|
[](https://github.com/wrenchpilot/it-tools-mcp/actions)
|
|
6
6
|
|
|
7
|
-
A comprehensive Model Context Protocol (MCP) server that provides access to **
|
|
7
|
+
A comprehensive Model Context Protocol (MCP) server that provides access to **88 IT tools and utilities** commonly used by developers, system administrators, and IT professionals. This server exposes a complete set of tools for encoding/decoding, text manipulation, hashing, network utilities, and many other common development and IT tasks.
|
|
8
8
|
|
|
9
9
|
## Using with VS Code
|
|
10
10
|
|
|
@@ -56,7 +56,7 @@ Add to your VS Code `settings.json`:
|
|
|
56
56
|
}
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
See the complete list of all
|
|
59
|
+
See the complete list of all 88 tools with detailed parameters on [GitHub](https://github.com/wrenchpilot/it-tools-mcp#available-tools)
|
|
60
60
|
|
|
61
61
|
## 📸 Examples in Action
|
|
62
62
|
|
|
@@ -78,7 +78,7 @@ Built with **TypeScript**, **Zod** validation, and **MCP SDK** for robust, type-
|
|
|
78
78
|
|
|
79
79
|
This project was developed using **VS Code**, **Copilot Chat Agent**, **Playwright MCP**, and the **Claude Sonnet 4 Model**, showcasing modern AI-assisted software development:
|
|
80
80
|
|
|
81
|
-
- 🔧 **All
|
|
81
|
+
- 🔧 **All 88 tools** designed and implemented with AI assistance
|
|
82
82
|
- 📦 **Complete Docker setup** with GitHub Actions CI/CD pipeline
|
|
83
83
|
- 🔍 **Schema optimization** with systematic validation cleanup
|
|
84
84
|
- 📚 **Comprehensive documentation** and tool catalogs
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
> **📝 Note**: A condensed version of this README is automatically synced to [Docker Hub](https://hub.docker.com/r/wrenchpilot/it-tools-mcp) due to character limits.
|
|
8
8
|
|
|
9
|
-
A comprehensive Model Context Protocol (MCP) server that provides access to
|
|
9
|
+
A comprehensive Model Context Protocol (MCP) server that provides access to 87 IT tools and utilities commonly used by developers, system administrators, and IT professionals. This server exposes a complete set of tools for encoding/decoding, text manipulation, hashing, network utilities, and many other common development and IT tasks.
|
|
10
10
|
|
|
11
11
|
## 📦 Installation & Setup
|
|
12
12
|
|
|
@@ -80,13 +80,13 @@ echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"base64-enc
|
|
|
80
80
|
|
|
81
81
|
## 🛠️ Tool Categories
|
|
82
82
|
|
|
83
|
-
This MCP server provides **
|
|
83
|
+
This MCP server provides **87 tools** across **8 categories**:
|
|
84
84
|
|
|
85
85
|
- **🔧 Encoding & Decoding** (9 tools): Base64, URL, HTML entities, text-to-binary, Unicode
|
|
86
86
|
- **📝 Data Format** (11 tools): JSON, XML, YAML, SQL, TOML, Markdown ↔ HTML conversion
|
|
87
87
|
- **🔐 Security & Crypto** (12 tools): Hashing (MD5, SHA1-512), HMAC, JWT, bcrypt, passwords, tokens
|
|
88
88
|
- **✨ Text Processing** (16 tools): Case conversion, stats, diff, ASCII art, NATO alphabet, slugify
|
|
89
|
-
- **🌐 Network & System** (
|
|
89
|
+
- **🌐 Network & System** (20 tools): IPv4/IPv6 subnets, URL parsing, MAC addresses, phone formatting, ps, top, cat, head, tail, grep, ping, nslookup, telnet, dig, ssh, random-port, mac-address-generate, ip/ipv6 calculators, curl
|
|
90
90
|
- **🔢 Math & Calculations** (6 tools): Expression evaluation, base conversion, temperature, percentages
|
|
91
91
|
- **🆔 ID & Code Generators** (4 tools: UUID, ULID, QR codes, SVG placeholders
|
|
92
92
|
- **🛠️ Utility Tools** (9 tools): Color, MIME, HTTP, device info, email normalization, etc.
|
package/build/tools/network.js
CHANGED
|
@@ -882,4 +882,52 @@ Common issues:
|
|
|
882
882
|
return { content: [{ type: "text", text: `SCP fatal error: ${fatalErr.message || fatalErr}` }] };
|
|
883
883
|
}
|
|
884
884
|
});
|
|
885
|
+
// curl Tool (HTTP client)
|
|
886
|
+
server.tool("curl", "Make HTTP requests (GET, POST, etc.) like curl", {
|
|
887
|
+
url: z.string().describe("URL to request"),
|
|
888
|
+
method: z.enum(["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD"]).default("GET").describe("HTTP method"),
|
|
889
|
+
headers: z.record(z.string()).optional().describe("Request headers (object of key-value pairs)"),
|
|
890
|
+
body: z.string().optional().describe("Request body (for POST/PUT/PATCH)")
|
|
891
|
+
}, async ({ url, method, headers, body }) => {
|
|
892
|
+
try {
|
|
893
|
+
// Use native fetch if available (Node 18+), fallback to node-fetch
|
|
894
|
+
let fetchImpl;
|
|
895
|
+
if (typeof globalThis.fetch === 'function') {
|
|
896
|
+
fetchImpl = globalThis.fetch;
|
|
897
|
+
}
|
|
898
|
+
else {
|
|
899
|
+
fetchImpl = (await import('node-fetch')).default;
|
|
900
|
+
}
|
|
901
|
+
const options = {
|
|
902
|
+
method,
|
|
903
|
+
headers: headers || {},
|
|
904
|
+
};
|
|
905
|
+
if (body && ["POST", "PUT", "PATCH"].includes(method)) {
|
|
906
|
+
options.body = body;
|
|
907
|
+
}
|
|
908
|
+
const response = await fetchImpl(url, options);
|
|
909
|
+
let contentType = '';
|
|
910
|
+
if (response.headers && typeof response.headers.get === 'function') {
|
|
911
|
+
contentType = response.headers.get('content-type') || '';
|
|
912
|
+
}
|
|
913
|
+
let responseBody;
|
|
914
|
+
if (contentType.includes('application/json')) {
|
|
915
|
+
responseBody = await response.json();
|
|
916
|
+
responseBody = JSON.stringify(responseBody, null, 2);
|
|
917
|
+
}
|
|
918
|
+
else {
|
|
919
|
+
responseBody = await response.text();
|
|
920
|
+
}
|
|
921
|
+
return {
|
|
922
|
+
content: [
|
|
923
|
+
{ type: "text", text: `Status: ${response.status} ${response.statusText}` },
|
|
924
|
+
{ type: "text", text: `Headers:\n${JSON.stringify(Object.fromEntries(response.headers.entries()), null, 2)}` },
|
|
925
|
+
{ type: "text", text: `Body:\n${responseBody}` }
|
|
926
|
+
]
|
|
927
|
+
};
|
|
928
|
+
}
|
|
929
|
+
catch (error) {
|
|
930
|
+
return { content: [{ type: "text", text: `curl failed: ${error instanceof Error ? error.message : error}` }] };
|
|
931
|
+
}
|
|
932
|
+
});
|
|
885
933
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "it-tools-mcp",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.17",
|
|
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",
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
"marked": "^15.0.12",
|
|
85
85
|
"mathjs": "^14.5.2",
|
|
86
86
|
"mime-types": "^3.0.1",
|
|
87
|
+
"node-fetch": "^3.3.2",
|
|
87
88
|
"papaparse": "^5.5.3",
|
|
88
89
|
"ping": "^0.4.4",
|
|
89
90
|
"ps-list": "^8.1.1",
|