it-tools-mcp 3.0.22 → 3.0.24

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.
@@ -2,7 +2,14 @@
2
2
 
3
3
  [![Docker Pulls](https://img.shields.io/docker/pulls/wrenchpilot/it-tools-mcp?refresh=1)](https://hub.docker.com/r/wrenchpilot/it-tools-mcp)
4
4
  [![Docker Image Size](https://img.shields.io/docker/image-size/wrenchpilot/it-tools-mcp/latest?refresh=1)](https://hub.docker.com/r/wrenchpilot/it-tools-mcp)
5
- [![Build Status](https://github.com/wrenchpilot/it-tools-mcp/workflows/Build%20and%20Push%20to%20Docker%20Hub/badge.svg)](https://github.com/wrenchpilot/it-tools-mcp/actions)
5
+ [![NPM Version](https://img.shields.io/npm/v/it-tools-mcp?color=blue)](https://www.npmjs.com/package/it-tools-mcp)
6
+ [![NPM Downloads](https://img.shields.io/npm/dm/it-tools-mcp?color=green)](https://www.npmjs.com/package/it-tools-mcp)
7
+ [![GitHub Release](https://img.shields.io/github/v/release/wrenchpilot/it-tools-mcp?include_prereleases&sort=semver)](https://github.com/wrenchpilot/it-tools-mcp/releases)
8
+ [![License](https://img.shields.io/github/license/wrenchpilot/it-tools-mcp)](https://github.com/wrenchpilot/it-tools-mcp/blob/main/LICENSE)
9
+ [![GitHub Issues](https://img.shields.io/github/issues/wrenchpilot/it-tools-mcp)](https://github.com/wrenchpilot/it-tools-mcp/issues)
10
+ [![GitHub Last Commit](https://img.shields.io/github/last-commit/wrenchpilot/it-tools-mcp)](https://github.com/wrenchpilot/it-tools-mcp/commits/main)
11
+ [![Docker Platform](https://img.shields.io/badge/platform-linux%2Famd64%20%7C%20linux%2Farm64-blue)](https://hub.docker.com/r/wrenchpilot/it-tools-mcp)
12
+ [![GitHub Stars](https://img.shields.io/github/stars/wrenchpilot/it-tools-mcp?style=social)](https://github.com/wrenchpilot/it-tools-mcp/stargazers)
6
13
 
7
14
  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
15
 
package/README.md CHANGED
@@ -2,7 +2,14 @@
2
2
 
3
3
  [![Docker Pulls](https://img.shields.io/docker/pulls/wrenchpilot/it-tools-mcp?refresh=1)](https://hub.docker.com/r/wrenchpilot/it-tools-mcp)
4
4
  [![Docker Image Size](https://img.shields.io/docker/image-size/wrenchpilot/it-tools-mcp/latest?refresh=1)](https://hub.docker.com/r/wrenchpilot/it-tools-mcp)
5
- [![Build Status](https://github.com/wrenchpilot/it-tools-mcp/workflows/Build%20and%20Push%20to%20Docker%20Hub/badge.svg)](https://github.com/wrenchpilot/it-tools-mcp/actions)
5
+ [![NPM Version](https://img.shields.io/npm/v/it-tools-mcp?color=blue)](https://www.npmjs.com/package/it-tools-mcp)
6
+ [![NPM Downloads](https://img.shields.io/npm/dm/it-tools-mcp?color=green)](https://www.npmjs.com/package/it-tools-mcp)
7
+ [![GitHub Release](https://img.shields.io/github/v/release/wrenchpilot/it-tools-mcp?include_prereleases&sort=semver)](https://github.com/wrenchpilot/it-tools-mcp/releases)
8
+ [![License](https://img.shields.io/github/license/wrenchpilot/it-tools-mcp)](https://github.com/wrenchpilot/it-tools-mcp/blob/main/LICENSE)
9
+ [![GitHub Issues](https://img.shields.io/github/issues/wrenchpilot/it-tools-mcp)](https://github.com/wrenchpilot/it-tools-mcp/issues)
10
+ [![GitHub Last Commit](https://img.shields.io/github/last-commit/wrenchpilot/it-tools-mcp)](https://github.com/wrenchpilot/it-tools-mcp/commits/main)
11
+ [![Docker Platform](https://img.shields.io/badge/platform-linux%2Famd64%20%7C%20linux%2Farm64-blue)](https://hub.docker.com/r/wrenchpilot/it-tools-mcp)
12
+ [![GitHub Stars](https://img.shields.io/github/stars/wrenchpilot/it-tools-mcp?style=social)](https://github.com/wrenchpilot/it-tools-mcp/stargazers)
6
13
 
7
14
  > **📝 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
15
 
@@ -256,7 +263,45 @@ src/
256
263
 
257
264
  ## 🤝 Contributing
258
265
 
259
- Contributions welcome! Please submit a Pull Request.
266
+ Contributions are welcome! Please follow the guidelines below:
267
+
268
+ ### Commit Message Format
269
+
270
+ This project uses **Conventional Commits** for clear, consistent commit messages.
271
+
272
+ **Version Management:**
273
+ - 🔧 **Manual version bumping** - Update `package.json` when you want to release
274
+ - 🤖 **Automatic publishing** - CI/CD detects changes and publishes automatically
275
+ - 🏷️ **Git tags** - Created automatically based on package.json version
276
+
277
+ **Examples:**
278
+ ```bash
279
+ git commit -m "feat: add new encryption tool"
280
+ git commit -m "fix: resolve base64 decoding issue"
281
+ git commit -m "docs: improve README examples"
282
+
283
+ # When ready to release, update package.json:
284
+ npm version patch # or minor, major
285
+ git commit -m "chore: bump version to v1.2.3"
286
+ git push
287
+ ```
288
+
289
+ 📖 See [COMMIT_TEMPLATE_SETUP.md](COMMIT_TEMPLATE_SETUP.md) for setup instructions.
290
+
291
+ ### Development Process
292
+
293
+ 1. Fork the repository
294
+ 2. Run `./setup-commit-template.sh` (recommended)
295
+ 3. Create a feature branch
296
+ 4. Make your changes following the project structure
297
+ 5. Use conventional commit messages
298
+ 6. Submit a Pull Request
299
+
300
+ The CI/CD pipeline will automatically:
301
+ - ✅ Build and test your changes
302
+ - 🏷️ Bump version based on commit messages (on merge to main)
303
+ - 📦 Publish to Docker Hub and NPM
304
+ - 🚀 Create GitHub releases
260
305
 
261
306
  ## 📄 License
262
307
 
@@ -903,7 +903,12 @@ Common issues:
903
903
  if (body && ["POST", "PUT", "PATCH"].includes(method)) {
904
904
  options.body = body;
905
905
  }
906
+ // Add timeout to prevent hanging in test environments
907
+ const controller = new AbortController();
908
+ const timeoutId = setTimeout(() => controller.abort(), 10000); // 10 second timeout
909
+ options.signal = controller.signal;
906
910
  const response = await fetchImpl(url, options);
911
+ clearTimeout(timeoutId);
907
912
  let contentType = '';
908
913
  if (response.headers && typeof response.headers.get === 'function') {
909
914
  contentType = response.headers.get('content-type') || '';
@@ -925,6 +930,9 @@ Common issues:
925
930
  };
926
931
  }
927
932
  catch (error) {
933
+ if (error instanceof Error && error.name === 'AbortError') {
934
+ return { content: [{ type: "text", text: `curl failed: Request timeout (10s)` }] };
935
+ }
928
936
  return { content: [{ type: "text", text: `curl failed: ${error instanceof Error ? error.message : error}` }] };
929
937
  }
930
938
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "it-tools-mcp",
3
- "version": "3.0.22",
3
+ "version": "3.0.24",
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",