it-tools-mcp 5.8.5 → 5.8.7

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 +200 -4
  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 registerDecodeUrl(server) {
3
3
  server.registerTool("decode_url", {
4
+ description: "URL decode text",
4
5
  inputSchema: {
5
6
  text: z.string().describe("URL encoded text to decode"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerEncodeBase64(server) {
3
3
  server.registerTool("encode_base64", {
4
+ description: 'Encode text to Base64 format. Example: "Hello World" → "SGVsbG8gV29ybGQ="',
4
5
  inputSchema: {
5
6
  text: z.string().min(1).describe("Text to encode to Base64"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerEncodeHtml(server) {
3
3
  server.registerTool("encode_html", {
4
+ description: "Encode HTML entities",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to HTML encode"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerEncodeHtmlEntities(server) {
3
3
  server.registerTool("encode_html_entities", {
4
+ description: "Extended HTML entity encoding/decoding",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to encode or decode"),
6
7
  operation: z.enum(["encode", "decode"]).describe("Operation to perform"),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerEncodeUrl(server) {
3
3
  server.registerTool("encode_url", {
4
+ description: "URL encode text",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to URL encode"),
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerDecodeSafelink(server) {
3
3
  server.registerTool("decode_safelink", {
4
+ description: "Decode Microsoft Outlook SafeLink URLs",
4
5
  inputSchema: {
5
6
  safelink: z.string().describe("SafeLink URL to decode")
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerFangUrl(server) {
3
3
  server.registerTool("fang_url", {
4
+ description: "Defang or refang URLs for safe sharing (security analysis)",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text containing URLs to fang/defang"),
6
7
  operation: z.enum(["defang", "refang"]).describe("Whether to defang (make safe) or refang (restore) URLs")
@@ -2,6 +2,7 @@ import { z } from "zod";
2
2
  import { Buffer } from 'buffer';
3
3
  export function registerIdentifyFileType(server) {
4
4
  server.registerTool("identify_file_type", {
5
+ description: "Identify file type based on magic numbers/file signatures",
5
6
  inputSchema: {
6
7
  data: z.string().describe("Hex data or base64 data of file header"),
7
8
  format: z.enum(["hex", "base64"]).describe("Format of the input data")
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerGenerateQr(server) {
3
3
  server.registerTool("generate_qr_code", {
4
+ description: "Generate QR code for any text including URLs, WiFi networks, contact info, etc.",
4
5
  inputSchema: {
5
6
  text: z.string().describe("Text to encode in QR code (URLs, WiFi: WIFI:T:WPA;S:network;P:password;;, contact info, etc.)"),
6
7
  size: z.number().describe("Size multiplier (1-3)").optional(),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerGenerateSvgPlaceholder(server) {
3
3
  server.registerTool("generate_svg_placeholder", {
4
+ description: "Generate SVG placeholder images",
4
5
  inputSchema: {
5
6
  width: z.number().describe("Width in pixels").optional(),
6
7
  height: z.number().describe("Height in pixels").optional(),
@@ -1,5 +1,6 @@
1
1
  export function registerGenerateUlid(server) {
2
2
  server.registerTool("generate_ulid", {
3
+ description: "Generate Universally Unique Lexicographically Sortable Identifier (ULID). Example: creates time-sortable unique IDs like '01ARZ3NDEKTSV4RRFFQ69G5FAV'",
3
4
  inputSchema: {},
4
5
  // VS Code compliance annotations
5
6
  annotations: {
@@ -1,6 +1,7 @@
1
1
  import { randomUUID } from "crypto";
2
2
  export function registerGenerateUuid(server) {
3
3
  server.registerTool("generate_uuid", {
4
+ description: 'Generate a universally unique identifier (UUID). Example: generates "550e8400-e29b-41d4-a716-446655440000"',
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 registerCalculatePercentage(server) {
3
3
  server.registerTool("calculate_percentage", {
4
+ description: "Calculate percentages, percentage of a number, or percentage change",
4
5
  inputSchema: {
5
6
  operation: z.enum(["percentage-of", "what-percentage", "percentage-change"]).describe("Type of percentage calculation"),
6
7
  value1: z.number().describe("First value"),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerConvertNumberBase(server) {
3
3
  server.registerTool("convert_number_base", {
4
+ description: "Convert numbers between different bases (binary, octal, decimal, hexadecimal)",
4
5
  inputSchema: {
5
6
  number: z.string().describe("Number to convert"),
6
7
  fromBase: z.number().describe("Source base (2-36)"),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerConvertRomanNumeral(server) {
3
3
  server.registerTool("convert_roman_numerals", {
4
+ description: "Convert between Arabic numbers and Roman numerals",
4
5
  inputSchema: {
5
6
  input: z.string().describe("Number to convert (Arabic number 1-3999 or Roman numeral)")
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerConvertTemperature(server) {
3
3
  server.registerTool("convert_temperature", {
4
+ description: "Convert temperatures between Celsius, Fahrenheit, and Kelvin",
4
5
  inputSchema: {
5
6
  temperature: z.number().describe("Temperature value to convert"),
6
7
  from: z.enum(["celsius", "fahrenheit", "kelvin"]).describe("Source temperature unit"),
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerUnixTimestampConverter(server) {
3
3
  server.registerTool("convert_unix_timestamp", {
4
+ description: "Convert between Unix timestamps and human-readable dates",
4
5
  inputSchema: {
5
6
  input: z.string().describe("Unix timestamp (seconds) or ISO date string")
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerEvaluateMath(server) {
3
3
  server.registerTool("evaluate_math", {
4
+ description: "Safely evaluate mathematical expressions",
4
5
  inputSchema: {
5
6
  expression: z.string().describe("Mathematical expression to evaluate (e.g., '2 + 3 * 4')")
6
7
  },
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export function registerIpSubnetCalculator(server) {
3
3
  server.registerTool("calculate_ip_subnet", {
4
+ description: "Calculate subnet information for IPv4",
4
5
  inputSchema: {
5
6
  ip: z.string().describe("IPv4 address (e.g., 192.168.1.1)"),
6
7
  cidr: z.number().describe("CIDR notation (e.g., 24)"),
@@ -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(),