it-tools-mcp 5.8.3 → 5.8.6

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 (118) hide show
  1. package/build/index.js +1 -5
  2. package/build/tools/ansible/decrypt_ansible_vault/index.js +1 -0
  3. package/build/tools/ansible/encrypt_ansible_vault/index.js +1 -0
  4. package/build/tools/ansible/generate_ansible_inventory/index.js +1 -0
  5. package/build/tools/ansible/parse_ansible_inventory/index.js +1 -0
  6. package/build/tools/ansible/show_ansible_reference/index.js +1 -0
  7. package/build/tools/ansible/validate_ansible_playbook/index.js +1 -0
  8. package/build/tools/color/convert_hex_to_rgb/index.js +1 -0
  9. package/build/tools/color/convert_rgb_to_hex/index.js +1 -0
  10. package/build/tools/crypto/decode_jwt/index.js +1 -0
  11. package/build/tools/crypto/generate_basic_auth/index.js +1 -0
  12. package/build/tools/crypto/generate_bip39/index.js +1 -0
  13. package/build/tools/crypto/generate_hmac/index.js +1 -0
  14. package/build/tools/crypto/generate_otp/index.js +1 -0
  15. package/build/tools/crypto/generate_password/index.js +1 -0
  16. package/build/tools/crypto/generate_token/index.js +1 -0
  17. package/build/tools/crypto/hash_bcrypt/index.js +1 -0
  18. package/build/tools/crypto/hash_md5/index.js +1 -0
  19. package/build/tools/crypto/hash_sha1/index.js +1 -0
  20. package/build/tools/crypto/hash_sha256/index.js +1 -0
  21. package/build/tools/crypto/hash_sha512/index.js +1 -0
  22. package/build/tools/data_format/compare_json/index.js +1 -0
  23. package/build/tools/data_format/convert_html_to_markdown/index.js +1 -0
  24. package/build/tools/data_format/convert_json_to_csv/index.js +1 -0
  25. package/build/tools/data_format/convert_json_to_toml/index.js +1 -0
  26. package/build/tools/data_format/convert_markdown_to_html/index.js +1 -0
  27. package/build/tools/data_format/convert_toml_to_json/index.js +1 -0
  28. package/build/tools/data_format/format_json/index.js +1 -0
  29. package/build/tools/data_format/format_phone/index.js +1 -0
  30. package/build/tools/data_format/format_sql/index.js +1 -0
  31. package/build/tools/data_format/format_xml/index.js +1 -0
  32. package/build/tools/data_format/format_yaml/index.js +1 -0
  33. package/build/tools/data_format/minify_json/index.js +1 -0
  34. package/build/tools/development/convert_list/index.js +1 -0
  35. package/build/tools/development/format_html/index.js +1 -0
  36. package/build/tools/development/format_javascript/index.js +1 -0
  37. package/build/tools/development/generate_crontab/index.js +1 -0
  38. package/build/tools/development/generate_markdown_toc/index.js +1 -0
  39. package/build/tools/development/test_regex/index.js +1 -0
  40. package/build/tools/docker/convert_docker_compose_to_run/index.js +1 -0
  41. package/build/tools/docker/convert_docker_run_to_compose/index.js +1 -0
  42. package/build/tools/docker/generate_traefik_compose/index.js +1 -0
  43. package/build/tools/docker/show_docker_reference/index.js +1 -0
  44. package/build/tools/docker/validate_docker_compose/index.js +1 -0
  45. package/build/tools/encoding/convert_text_to_binary/index.js +1 -0
  46. package/build/tools/encoding/decode_base64/index.js +1 -0
  47. package/build/tools/encoding/decode_html/index.js +1 -0
  48. package/build/tools/encoding/decode_url/index.js +1 -0
  49. package/build/tools/encoding/encode_base64/index.js +1 -0
  50. package/build/tools/encoding/encode_html/index.js +1 -0
  51. package/build/tools/encoding/encode_html_entities/index.js +1 -0
  52. package/build/tools/encoding/encode_url/index.js +1 -0
  53. package/build/tools/forensic/decode_safelink/index.js +1 -0
  54. package/build/tools/forensic/fang_url/index.js +1 -0
  55. package/build/tools/forensic/identify_file_type/index.js +1 -0
  56. package/build/tools/id_generators/generate_qr_code/index.js +1 -0
  57. package/build/tools/id_generators/generate_svg_placeholder/index.js +1 -0
  58. package/build/tools/id_generators/generate_ulid/index.js +1 -0
  59. package/build/tools/id_generators/generate_uuid/index.js +1 -0
  60. package/build/tools/math/calculate_percentage/index.js +1 -0
  61. package/build/tools/math/convert_number_base/index.js +1 -0
  62. package/build/tools/math/convert_roman_numerals/index.js +1 -0
  63. package/build/tools/math/convert_temperature/index.js +1 -0
  64. package/build/tools/math/convert_unix_timestamp/index.js +1 -0
  65. package/build/tools/math/evaluate_math/index.js +1 -0
  66. package/build/tools/network/calculate_ip_subnet/index.js +1 -0
  67. package/build/tools/network/calculate_ipv4_subnet/index.js +1 -0
  68. package/build/tools/network/calculate_ipv6_subnet/index.js +1 -0
  69. package/build/tools/network/cat/index.js +1 -0
  70. package/build/tools/network/convert_cidr_to_ip_range/index.js +1 -0
  71. package/build/tools/network/convert_ip_range_to_cidr/index.js +1 -0
  72. package/build/tools/network/curl/index.js +1 -0
  73. package/build/tools/network/dig/index.js +1 -0
  74. package/build/tools/network/generate_ipv6_ula/index.js +1 -0
  75. package/build/tools/network/generate_mac_address/index.js +1 -0
  76. package/build/tools/network/generate_random_port/index.js +1 -0
  77. package/build/tools/network/grep/index.js +1 -0
  78. package/build/tools/network/head/index.js +1 -0
  79. package/build/tools/network/nslookup/index.js +1 -0
  80. package/build/tools/network/parse_url/index.js +1 -0
  81. package/build/tools/network/ping/index.js +1 -0
  82. package/build/tools/network/ps/index.js +1 -0
  83. package/build/tools/network/scp/index.js +1 -0
  84. package/build/tools/network/ssh/index.js +1 -0
  85. package/build/tools/network/tail/index.js +1 -0
  86. package/build/tools/network/telnet/index.js +1 -0
  87. package/build/tools/network/top/index.js +1 -0
  88. package/build/tools/network/validate_iban/index.js +1 -0
  89. package/build/tools/physics/convert_angle/index.js +1 -0
  90. package/build/tools/physics/convert_energy/index.js +1 -0
  91. package/build/tools/physics/convert_power/index.js +1 -0
  92. package/build/tools/text/analyze_distinct_words/index.js +1 -0
  93. package/build/tools/text/analyze_text_stats/index.js +1 -0
  94. package/build/tools/text/capitalize_text/index.js +1 -0
  95. package/build/tools/text/compare_text/index.js +1 -0
  96. package/build/tools/text/convert_text_to_camelcase/index.js +1 -0
  97. package/build/tools/text/convert_text_to_kebabcase/index.js +1 -0
  98. package/build/tools/text/convert_text_to_lowercase/index.js +1 -0
  99. package/build/tools/text/convert_text_to_nato/index.js +1 -0
  100. package/build/tools/text/convert_text_to_pascalcase/index.js +1 -0
  101. package/build/tools/text/convert_text_to_unicode/index.js +1 -0
  102. package/build/tools/text/convert_text_to_uppercase/index.js +1 -0
  103. package/build/tools/text/generate_ascii_art/index.js +1 -0
  104. package/build/tools/text/generate_lorem_ipsum/index.js +1 -0
  105. package/build/tools/text/generate_numeronym/index.js +1 -0
  106. package/build/tools/text/obfuscate_string/index.js +1 -0
  107. package/build/tools/text/search_emoji/index.js +1 -0
  108. package/build/tools/text/show_unicode_names/index.js +1 -0
  109. package/build/tools/text/slugify_text/index.js +1 -0
  110. package/build/tools/text/text_snakecase/index.js +1 -0
  111. package/build/tools/utility/convert_rem_px/index.js +1 -0
  112. package/build/tools/utility/format_css/index.js +1 -0
  113. package/build/tools/utility/lookup_http_status/index.js +1 -0
  114. package/build/tools/utility/lookup_mime_types/index.js +1 -0
  115. package/build/tools/utility/lookup_port_numbers/index.js +1 -0
  116. package/build/tools/utility/normalize_email/index.js +1 -0
  117. package/build/tools/utility/show_device_info/index.js +1 -0
  118. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerIpv4SubnetCalc(server) {
3
3
  server.registerTool("calculate_ipv4_subnet", {
4
+ description: "Calculate IPv4 subnet information",
4
5
  inputSchema: {
5
6
  cidr: z.string().describe("IPv4 CIDR notation (e.g., 192.168.1.0/24)"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerIpv6SubnetCalculator(server) {
3
3
  server.registerTool("calculate_ipv6_subnet", {
4
+ description: "Calculate IPv6 subnet information",
4
5
  inputSchema: {
5
6
  ipv6: z.string().describe("IPv6 address and prefix (e.g., 2001:db8::/32)"),
6
7
  newPrefix: z.number().optional().describe("New prefix length for subnetting")
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import fs from "fs";
3
3
  export function registerCat(server) {
4
4
  server.registerTool("cat", {
5
+ description: "Display content of a file",
5
6
  inputSchema: {
6
7
  file: z.string().describe("File path")
7
8
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerCidrToIpRange(server) {
3
3
  server.registerTool("convert_cidr_to_ip_range", {
4
+ description: "Convert CIDR notation to IP address range",
4
5
  inputSchema: {
5
6
  cidr: z.string().describe("CIDR notation (e.g., 192.168.1.0/24)")
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerIpRangeToCidr(server) {
3
3
  server.registerTool("convert_ip_range_to_cidr", {
4
+ description: "Convert IP address range to CIDR notation(s)",
4
5
  inputSchema: {
5
6
  startIP: z.string().describe("Starting IP address"),
6
7
  endIP: z.string().describe("Ending IP address")
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerCurl(server) {
3
3
  server.registerTool("curl", {
4
+ description: "Make HTTP requests to web endpoints. Example: GET request to an API or POST data to a server",
4
5
  inputSchema: {
5
6
  url: z.string().describe("URL to request"),
6
7
  method: z.enum(["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD"]).default("GET").describe("HTTP method"),
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import dns from "dns";
3
3
  export function registerDig(server) {
4
4
  server.registerTool("dig", {
5
+ description: "Perform DNS lookup with dig command",
5
6
  inputSchema: {
6
7
  target: z.string().describe("Hostname or IP address"),
7
8
  type: z.string().default("A").describe("DNS record type")
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerIpv6UlaGenerator(server) {
3
3
  server.registerTool("generate_ipv6_ula", {
4
+ description: "Generate IPv6 Unique Local Address (ULA) prefix",
4
5
  inputSchema: {
5
6
  globalId: z.string().optional().describe("Global ID (40 bits in hex, auto-generated if not provided)"),
6
7
  },
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import * as crypto from "crypto";
3
3
  export function registerMacAddressGenerate(server) {
4
4
  server.registerTool("generate_mac_address", {
5
+ description: "Generate random MAC address",
5
6
  inputSchema: {
6
7
  prefix: z.string().optional().describe("MAC address prefix (e.g., '00:1B:44')"),
7
8
  separator: z.enum([":", "-"]).describe("Separator character").optional(),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerRandomPort(server) {
3
3
  server.registerTool("generate_random_port", {
4
+ description: "Generate random port numbers",
4
5
  inputSchema: {
5
6
  count: z.number().describe("Number of ports to generate").optional(),
6
7
  min: z.number().describe("Minimum port number").optional(),
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import fs from "fs";
3
3
  export function registerGrep(server) {
4
4
  server.registerTool("grep", {
5
+ description: "Search for patterns in files",
5
6
  inputSchema: {
6
7
  pattern: z.string().describe("Pattern to search for"),
7
8
  file: z.string().describe("File path")
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import fs from "fs";
3
3
  export function registerHead(server) {
4
4
  server.registerTool("head", {
5
+ description: "Display the beginning of a file",
5
6
  inputSchema: {
6
7
  file: z.string().describe("File path"),
7
8
  lines: z.number().default(10).describe("Number of lines")
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import dns from "dns";
3
3
  export function registerNslookup(server) {
4
4
  server.registerTool("nslookup", {
5
+ description: "Perform DNS lookup on a hostname or IP address",
5
6
  inputSchema: {
6
7
  target: z.string().describe("Hostname or IP address")
7
8
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerUrlParse(server) {
3
3
  server.registerTool("parse_url", {
4
+ description: "Parse URL into components",
4
5
  inputSchema: {
5
6
  url: z.string().describe("URL to parse"),
6
7
  },
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import ping from "ping";
3
3
  export function registerPing(server) {
4
4
  server.registerTool("ping", {
5
+ description: "Test network connectivity to a host. Example: ping google.com to check if it's reachable",
5
6
  inputSchema: {
6
7
  target: z.string().describe("Host to ping"),
7
8
  count: z.number().default(4).describe("Number of ping attempts")
@@ -1,6 +1,7 @@
1
1
  import psList from "ps-list";
2
2
  export function registerPs(server) {
3
3
  server.registerTool("ps", {
4
+ description: "List running processes",
4
5
  inputSchema: {},
5
6
  // VS Code compliance annotations
6
7
  annotations: {
@@ -38,6 +38,7 @@ function resolvePrivateKey(privateKeyArg) {
38
38
  }
39
39
  export function registerScp(server) {
40
40
  server.registerTool("scp", {
41
+ description: "Copy files to or from a remote host using SFTP (SCP-like)",
41
42
  inputSchema: {
42
43
  target: z.string().describe("Target host"),
43
44
  user: z.string().describe("Username"),
@@ -39,6 +39,7 @@ function resolvePrivateKey(privateKeyArg) {
39
39
  }
40
40
  export function registerSsh(server) {
41
41
  server.registerTool("ssh", {
42
+ description: "Connect to a target via SSH",
42
43
  inputSchema: {
43
44
  target: z.string().describe("Target host"),
44
45
  user: z.string().describe("Username"),
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import readLastLines from "read-last-lines";
3
3
  export function registerTail(server) {
4
4
  server.registerTool("tail", {
5
+ description: "Display the end of a file",
5
6
  inputSchema: {
6
7
  file: z.string().describe("File path"),
7
8
  lines: z.number().default(10).describe("Number of lines")
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTelnet(server) {
3
3
  server.registerTool("telnet", {
4
+ description: "Test TCP connectivity to a host and port",
4
5
  inputSchema: {
5
6
  target: z.string().describe("Host to connect to"),
6
7
  port: z.number().describe("Port number")
@@ -1,6 +1,7 @@
1
1
  import psList from "ps-list";
2
2
  export function registerTop(server) {
3
3
  server.registerTool("top", {
4
+ description: "Display system processes (snapshot)",
4
5
  inputSchema: {},
5
6
  // VS Code compliance annotations
6
7
  annotations: {
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerIbanValidate(server) {
3
3
  server.registerTool("validate_iban", {
4
+ description: "Validate and parse IBAN (International Bank Account Number)",
4
5
  inputSchema: {
5
6
  iban: z.string().describe("IBAN to validate and parse"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerAngleConverter(server) {
3
3
  server.registerTool("convert_angle", {
4
+ description: "Convert between different angle units",
4
5
  inputSchema: {
5
6
  value: z.number().describe("Angle value to convert"),
6
7
  fromUnit: z.enum([
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerEnergyConverter(server) {
3
3
  server.registerTool("convert_energy", {
4
+ description: "Convert between different energy units",
4
5
  inputSchema: {
5
6
  value: z.number().describe("Energy value to convert"),
6
7
  fromUnit: z.enum([
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerPowerConverter(server) {
3
3
  server.registerTool("convert_power", {
4
+ description: "Convert between different power units",
4
5
  inputSchema: {
5
6
  value: z.number().describe("Power value to convert"),
6
7
  fromUnit: z.enum([
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerDistinctWords(server) {
3
3
  server.registerTool("analyze_distinct_words", {
4
+ description: "Count distinct words in text and show their frequency",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to analyze for distinct words")
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTextStats(server) {
3
3
  server.registerTool("analyze_text_stats", {
4
+ description: "Get statistics about text (character count, word count, etc.)",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to analyze"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTextCapitalize(server) {
3
3
  server.registerTool("capitalize_text", {
4
+ description: "Capitalize first letter of each word",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to capitalize"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTextDiff(server) {
3
3
  server.registerTool("compare_text", {
4
+ description: "Compare two texts and show differences",
4
5
  inputSchema: {
5
6
  text1: z.string().describe("First text to compare"),
6
7
  text2: z.string().describe("Second text to compare"),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTextCamelcase(server) {
3
3
  server.registerTool("convert_text_to_camelcase", {
4
+ description: "Convert text to camelCase format. Example: 'hello world' → 'helloWorld', 'my-variable-name' → 'myVariableName'",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to convert to camelCase"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTextKebabcase(server) {
3
3
  server.registerTool("convert_text_to_kebabcase", {
4
+ description: "Convert text to kebab-case",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to convert to kebab-case"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTextLowercase(server) {
3
3
  server.registerTool("convert_text_to_lowercase", {
4
+ description: "Convert text to lowercase",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to convert to lowercase"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTextToNatoAlphabet(server) {
3
3
  server.registerTool("convert_text_to_nato", {
4
+ description: "Convert text to NATO phonetic alphabet",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to convert to NATO phonetic alphabet"),
6
7
  language: z.string().optional().default("International").describe("Language/country variant (International, France, Germany, etc.)")
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTextPascalcase(server) {
3
3
  server.registerTool("convert_text_to_pascalcase", {
4
+ description: "Convert text to PascalCase",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to convert to PascalCase"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTextToUnicode(server) {
3
3
  server.registerTool("convert_text_to_unicode", {
4
+ description: "Convert text to Unicode code points and vice versa",
4
5
  inputSchema: {
5
6
  input: z.string().describe("Text to convert to Unicode or Unicode to convert to text"),
6
7
  operation: z.enum(["encode", "decode"]).describe("Operation: encode text to Unicode or decode Unicode to text"),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTextUppercase(server) {
3
3
  server.registerTool("convert_text_to_uppercase", {
4
+ description: "Convert text to uppercase",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to convert to uppercase"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerAsciiArtText(server) {
3
3
  server.registerTool("generate_ascii_art", {
4
+ description: "Generate ASCII art text using figlet fonts. Example: 'Hello' → stylized ASCII text art, supports 295+ fonts",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to convert to ASCII art, or use 'LIST_FONTS' to get all available font names"),
6
7
  font: z.string().describe("ASCII art font style. Supports all 295+ figlet fonts. Use 'standard' if unsure.").optional(),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerLoremIpsumGenerator(server) {
3
3
  server.registerTool("generate_lorem_ipsum", {
4
+ description: "Generate Lorem Ipsum placeholder text",
4
5
  inputSchema: {
5
6
  count: z.number().describe("Number of items to generate").optional(),
6
7
  type: z.enum(["words", "sentences", "paragraphs"]).describe("Type of content to generate").optional(),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerNumeronymGenerator(server) {
3
3
  server.registerTool("generate_numeronym", {
4
+ description: "Generate numeronyms (abbreviations with numbers) from text",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to convert to numeronym"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerStringObfuscator(server) {
3
3
  server.registerTool("obfuscate_string", {
4
+ description: "Obfuscate text by replacing characters with their HTML entities or other representations",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to obfuscate"),
6
7
  method: z.enum(["html-entities", "unicode", "base64"]).describe("Obfuscation method").optional(),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerEmojiSearch(server) {
3
3
  server.registerTool("search_emoji", {
4
+ description: "Search for emojis by name or category",
4
5
  inputSchema: {
5
6
  query: z.string().describe("Search term for emoji (name, category, or keyword)"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTextToUnicodeNames(server) {
3
3
  server.registerTool("show_unicode_names", {
4
+ description: "Convert text to Unicode character names",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to convert to Unicode names")
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerSlugifyString(server) {
3
3
  server.registerTool("slugify_text", {
4
+ description: "Convert text to URL-friendly slug format",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to convert to slug"),
6
7
  separator: z.string().describe("Character to use as separator").optional(),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerTextSnakecase(server) {
3
3
  server.registerTool("text_snakecase", {
4
+ description: "Convert text to snake_case",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to convert to snake_case"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerRemPxConverter(server) {
3
3
  server.registerTool("convert_rem_px", {
4
+ description: "Convert between REM and PX units for CSS. Example: Convert 1.5rem to pixels, or 24px to rem units.",
4
5
  inputSchema: {
5
6
  value: z.number().min(0).describe("Value to convert (e.g., 1.5 for 1.5rem or 24 for 24px)"),
6
7
  fromUnit: z.enum(["rem", "px"]).describe("Source unit - either 'rem' or 'px'"),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerCssPrettifier(server) {
3
3
  server.registerTool("format_css", {
4
+ description: "Format and prettify CSS code",
4
5
  inputSchema: {
5
6
  css: z.string().describe("CSS code to format"),
6
7
  indentSize: z.number().optional().describe("Number of spaces for indentation (default: 2)")
@@ -27,6 +27,7 @@ function getUsageHint(code) {
27
27
  }
28
28
  export function registerHttpStatusCodes(server) {
29
29
  server.registerTool("lookup_http_status", {
30
+ description: "Get information about HTTP status codes",
30
31
  inputSchema: {
31
32
  code: z.number().optional().describe("HTTP status code to look up (optional)"),
32
33
  },
@@ -34,6 +34,7 @@ function getMimeDescription(mimeType) {
34
34
  }
35
35
  export function registerMimeTypes(server) {
36
36
  server.registerTool("lookup_mime_types", {
37
+ description: "Look up MIME types for file extensions",
37
38
  inputSchema: {
38
39
  input: z.string().describe("File extension (e.g., 'txt') or MIME type (e.g., 'text/plain')"),
39
40
  lookupType: z.enum(["extension-to-mime", "mime-to-extension"]).describe("Lookup direction").optional(),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerPortNumbers(server) {
3
3
  server.registerTool("lookup_port_numbers", {
4
+ description: "Look up common TCP/UDP port numbers and their services",
4
5
  inputSchema: {
5
6
  query: z.string().describe("Port number or service name to look up")
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerEmailNormalizer(server) {
3
3
  server.registerTool("normalize_email", {
4
+ description: "Normalize email addresses (remove dots, plus aliases, etc.)",
4
5
  inputSchema: {
5
6
  email: z.string().describe("Email address to normalize"),
6
7
  },
@@ -1,5 +1,6 @@
1
1
  export function registerDeviceInfo(server) {
2
2
  server.registerTool("show_device_info", {
3
+ description: "Get basic device/system information",
3
4
  inputSchema: {},
4
5
  // VS Code compliance annotations
5
6
  annotations: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "it-tools-mcp",
3
- "version": "5.8.3",
3
+ "version": "5.8.6",
4
4
  "description": "MCP-compliant server access to over 100 IT tools and utilities commonly used by developers, system administrators, and IT professionals.",
5
5
  "mcpName": "io.github.wrenchpilot/it-tools-mcp",
6
6
  "type": "module",