it-tools-mcp 3.6.0 → 4.1.1

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 (120) hide show
  1. package/README.dockerhub.md +1 -1
  2. package/README.md +105 -104
  3. package/build/index.js +426 -19
  4. package/build/tools/ansible/{ansible-vault-decrypt → decrypt_ansible_vault}/index.js +8 -2
  5. package/build/tools/ansible/{ansible-vault-encrypt → encrypt_ansible_vault}/index.js +8 -2
  6. package/build/tools/ansible/generate_ansible_inventory/index.js +221 -0
  7. package/build/tools/ansible/{ansible-inventory-generator → parse_ansible_inventory}/index.js +7 -1
  8. package/build/tools/ansible/{ansible-reference → show_ansible_reference}/index.js +9 -3
  9. package/build/tools/ansible/{ansible-playbook-validator → validate_ansible_playbook}/index.js +8 -2
  10. package/build/tools/color/{color-hex-to-rgb → convert_hex_to_rgb}/index.js +8 -2
  11. package/build/tools/color/{color-rgb-to-hex → convert_rgb_to_hex}/index.js +8 -2
  12. package/build/tools/crypto/{jwt-decode → decode_jwt}/index.js +8 -2
  13. package/build/tools/crypto/{basic-auth-generator → generate_basic_auth}/index.js +8 -2
  14. package/build/tools/crypto/{bip39-generate → generate_bip39}/index.js +8 -2
  15. package/build/tools/crypto/{hmac-generator → generate_hmac}/index.js +8 -2
  16. package/build/tools/crypto/{otp-code-generator → generate_otp}/index.js +8 -2
  17. package/build/tools/crypto/{password-generate → generate_password}/index.js +8 -2
  18. package/build/tools/crypto/{token-generator → generate_token}/index.js +8 -2
  19. package/build/tools/crypto/{bcrypt-hash → hash_bcrypt}/index.js +8 -2
  20. package/build/tools/crypto/{hash-md5 → hash_md5}/index.js +7 -1
  21. package/build/tools/crypto/{hash-sha1 → hash_sha1}/index.js +7 -1
  22. package/build/tools/crypto/{hash-sha256 → hash_sha256}/index.js +7 -1
  23. package/build/tools/crypto/{hash-sha512 → hash_sha512}/index.js +7 -1
  24. package/build/tools/{dataFormat/json-diff → data_format/compare_json}/index.js +8 -2
  25. package/build/tools/{dataFormat/html-to-markdown → data_format/convert_html_to_markdown}/index.js +8 -2
  26. package/build/tools/{dataFormat/json-to-csv → data_format/convert_json_to_csv}/index.js +8 -2
  27. package/build/tools/{dataFormat/json-to-toml → data_format/convert_json_to_toml}/index.js +8 -2
  28. package/build/tools/{dataFormat/markdown-to-html → data_format/convert_markdown_to_html}/index.js +8 -2
  29. package/build/tools/{dataFormat/toml-to-json → data_format/convert_toml_to_json}/index.js +8 -2
  30. package/build/tools/{dataFormat/json-format → data_format/format_json}/index.js +9 -3
  31. package/build/tools/{dataFormat/phone-format → data_format/format_phone}/index.js +8 -2
  32. package/build/tools/{dataFormat/sql-format → data_format/format_sql}/index.js +8 -2
  33. package/build/tools/{dataFormat/xml-format → data_format/format_xml}/index.js +8 -2
  34. package/build/tools/{dataFormat/yaml-format → data_format/format_yaml}/index.js +8 -2
  35. package/build/tools/{dataFormat/json-minify → data_format/minify_json}/index.js +9 -3
  36. package/build/tools/development/{list-converter → convert_list}/index.js +8 -2
  37. package/build/tools/development/{html-prettifier → format_html}/index.js +8 -2
  38. package/build/tools/development/{javascript-prettifier → format_javascript}/index.js +8 -2
  39. package/build/tools/development/{crontab-generate → generate_crontab}/index.js +8 -2
  40. package/build/tools/development/{markdown-toc-generator → generate_markdown_toc}/index.js +8 -2
  41. package/build/tools/development/{regex-tester → test_regex}/index.js +8 -2
  42. package/build/tools/docker/{docker-compose-to-docker-run → convert_docker_compose_to_run}/index.js +7 -1
  43. package/build/tools/docker/{docker-run-to-docker-compose → convert_docker_run_to_compose}/index.js +7 -1
  44. package/build/tools/docker/{traefik-compose-generator → generate_traefik_compose}/index.js +8 -2
  45. package/build/tools/docker/{docker-reference → show_docker_reference}/index.js +9 -3
  46. package/build/tools/docker/{docker-compose-validator → validate_docker_compose}/index.js +9 -3
  47. package/build/tools/encoding/{text-to-binary → convert_text_to_binary}/index.js +8 -2
  48. package/build/tools/encoding/{base64-decode → decode_base64}/index.js +8 -2
  49. package/build/tools/encoding/{html-decode → decode_html}/index.js +8 -2
  50. package/build/tools/encoding/{url-decode → decode_url}/index.js +8 -2
  51. package/build/tools/encoding/{base64-encode → encode_base64}/index.js +8 -2
  52. package/build/tools/encoding/{html-encode → encode_html}/index.js +8 -2
  53. package/build/tools/encoding/{html-entities-extended → encode_html_entities}/index.js +8 -2
  54. package/build/tools/encoding/{url-encode → encode_url}/index.js +8 -2
  55. package/build/tools/forensic/{safelink-decoder → decode_safelink}/index.js +8 -2
  56. package/build/tools/forensic/{url-fanger → fang_url}/index.js +8 -2
  57. package/build/tools/forensic/{file-type-identifier → identify_file_type}/index.js +8 -2
  58. package/build/tools/{idGenerators/qr-generate → id_generators/generate_qr_code}/index.js +8 -2
  59. package/build/tools/{idGenerators/svg-placeholder-generator → id_generators/generate_svg_placeholder}/index.js +8 -2
  60. package/build/tools/{idGenerators/ulid-generate → id_generators/generate_ulid}/index.js +10 -4
  61. package/build/tools/{idGenerators/uuid-generate → id_generators/generate_uuid}/index.js +9 -3
  62. package/build/tools/math/{percentage-calculator → calculate_percentage}/index.js +8 -2
  63. package/build/tools/math/{number-base-converter → convert_number_base}/index.js +8 -2
  64. package/build/tools/math/{roman-numeral-converter → convert_roman_numerals}/index.js +8 -2
  65. package/build/tools/math/{temperature-converter → convert_temperature}/index.js +8 -2
  66. package/build/tools/math/{unix-timestamp-converter → convert_unix_timestamp}/index.js +7 -1
  67. package/build/tools/math/{math-evaluate → evaluate_math}/index.js +8 -2
  68. package/build/tools/network/{ip-subnet-calculator → calculate_ip_subnet}/index.js +7 -1
  69. package/build/tools/network/{ipv4-subnet-calc → calculate_ipv4_subnet}/index.js +7 -1
  70. package/build/tools/network/{ipv6-subnet-calculator → calculate_ipv6_subnet}/index.js +7 -1
  71. package/build/tools/network/cat/index.js +6 -0
  72. package/build/tools/network/{cidr-to-ip-range → convert_cidr_to_ip_range}/index.js +7 -1
  73. package/build/tools/network/{ip-range-to-cidr → convert_ip_range_to_cidr}/index.js +7 -1
  74. package/build/tools/network/curl/index.js +6 -0
  75. package/build/tools/network/dig/index.js +6 -0
  76. package/build/tools/network/{ipv6-ula-generator → generate_ipv6_ula}/index.js +7 -1
  77. package/build/tools/network/{mac-address-generate → generate_mac_address}/index.js +7 -1
  78. package/build/tools/network/{random-port → generate_random_port}/index.js +7 -1
  79. package/build/tools/network/grep/index.js +6 -0
  80. package/build/tools/network/head/index.js +6 -0
  81. package/build/tools/network/nslookup/index.js +6 -0
  82. package/build/tools/network/{url-parse → parse_url}/index.js +7 -1
  83. package/build/tools/network/ping/index.js +6 -0
  84. package/build/tools/network/ps/index.js +7 -1
  85. package/build/tools/network/scp/index.js +6 -0
  86. package/build/tools/network/ssh/index.js +6 -0
  87. package/build/tools/network/tail/index.js +6 -0
  88. package/build/tools/network/telnet/index.js +6 -0
  89. package/build/tools/network/top/index.js +7 -1
  90. package/build/tools/network/{iban-validate → validate_iban}/index.js +7 -1
  91. package/build/tools/physics/{angle-converter → convert_angle}/index.js +7 -1
  92. package/build/tools/physics/{energy-converter → convert_energy}/index.js +7 -1
  93. package/build/tools/physics/{power-converter → convert_power}/index.js +7 -1
  94. package/build/tools/text/{distinct-words → analyze_distinct_words}/index.js +7 -1
  95. package/build/tools/text/{text-stats → analyze_text_stats}/index.js +7 -1
  96. package/build/tools/text/{text-capitalize → capitalize_text}/index.js +7 -1
  97. package/build/tools/text/{text-diff → compare_text}/index.js +7 -1
  98. package/build/tools/text/{text-camelcase → convert_text_to_camelcase}/index.js +8 -2
  99. package/build/tools/text/{text-kebabcase → convert_text_to_kebabcase}/index.js +7 -1
  100. package/build/tools/text/{text-lowercase → convert_text_to_lowercase}/index.js +7 -1
  101. package/build/tools/text/{text-to-nato-alphabet → convert_text_to_nato}/index.js +7 -1
  102. package/build/tools/text/{text-pascalcase → convert_text_to_pascalcase}/index.js +7 -1
  103. package/build/tools/text/{text-to-unicode → convert_text_to_unicode}/index.js +7 -1
  104. package/build/tools/text/{text-uppercase → convert_text_to_uppercase}/index.js +7 -1
  105. package/build/tools/text/{ascii-art-text → generate_ascii_art}/index.js +8 -2
  106. package/build/tools/text/{lorem-ipsum-generator → generate_lorem_ipsum}/index.js +7 -1
  107. package/build/tools/text/{numeronym-generator → generate_numeronym}/index.js +7 -1
  108. package/build/tools/text/{string-obfuscator → obfuscate_string}/index.js +7 -1
  109. package/build/tools/text/{emoji-search → search_emoji}/index.js +7 -1
  110. package/build/tools/text/{text-to-unicode-names → show_unicode_names}/index.js +7 -1
  111. package/build/tools/text/{slugify-string → slugify_text}/index.js +7 -1
  112. package/build/tools/text/{text-snakecase → text_snakecase}/index.js +7 -1
  113. package/build/tools/utility/{rem-px-converter → convert_rem_px}/index.js +7 -1
  114. package/build/tools/utility/{css-prettifier → format_css}/index.js +7 -1
  115. package/build/tools/utility/{http-status-codes → lookup_http_status}/index.js +7 -1
  116. package/build/tools/utility/{mime-types → lookup_mime_types}/index.js +7 -1
  117. package/build/tools/utility/{port-numbers → lookup_port_numbers}/index.js +7 -1
  118. package/build/tools/utility/{email-normalizer → normalize_email}/index.js +7 -1
  119. package/build/tools/utility/{device-info → show_device_info}/index.js +8 -2
  120. package/package.json +50 -6
@@ -1,9 +1,15 @@
1
1
  import { z } from "zod";
2
- export function registerTomlToJson(server) {
3
- server.registerTool("toml-to-json", {
2
+ export function registerConvertTomlJson(server) {
3
+ server.registerTool("convert_toml_to_json", {
4
4
  description: "Convert TOML to JSON format",
5
5
  inputSchema: {
6
6
  toml: z.string().describe("TOML string to convert"),
7
+ },
8
+ // VS Code compliance annotations
9
+ annotations: {
10
+ title: "Convert Toml To Json",
11
+ description: "Convert TOML to JSON format",
12
+ readOnlyHint: false
7
13
  }
8
14
  }, async ({ toml: tomlString }) => {
9
15
  try {
@@ -1,10 +1,16 @@
1
1
  import { z } from "zod";
2
- export function registerJsonFormat(server) {
3
- server.registerTool("json-format", {
4
- description: 'Format and prettify JSON with proper indentation. Example: {"a":1,"b":2} → formatted JSON',
2
+ export function registerFormatJson(server) {
3
+ server.registerTool("format_json", {
4
+ description: 'Format and prettify JSON with proper indentation. Example: {"a":1,"b":2} → formatted JSON with customizable spacing',
5
5
  inputSchema: {
6
6
  json: z.string().describe("JSON string to format"),
7
7
  indent: z.number().describe("Number of spaces for indentation").optional(),
8
+ },
9
+ // VS Code compliance annotations
10
+ annotations: {
11
+ title: "Format JSON",
12
+ description: "Format and prettify JSON with proper indentation and customizable spacing",
13
+ readOnlyHint: false
8
14
  }
9
15
  }, async ({ json, indent = 2 }) => {
10
16
  try {
@@ -1,10 +1,16 @@
1
1
  import { z } from "zod";
2
- export function registerPhoneFormat(server) {
3
- server.registerTool("phone-format", {
2
+ export function registerFormatPhone(server) {
3
+ server.registerTool("format_phone", {
4
4
  description: "Parse and format phone numbers",
5
5
  inputSchema: {
6
6
  phoneNumber: z.string().describe("Phone number to parse and format"),
7
7
  countryCode: z.string().optional().describe("Country code (e.g., 'US', 'GB', 'FR')"),
8
+ },
9
+ // VS Code compliance annotations
10
+ annotations: {
11
+ title: "Format Phone",
12
+ description: "Parse and format phone numbers",
13
+ readOnlyHint: false
8
14
  }
9
15
  }, async ({ phoneNumber, countryCode }) => {
10
16
  try {
@@ -1,10 +1,16 @@
1
1
  import { z } from "zod";
2
- export function registerSqlFormat(server) {
3
- server.registerTool("sql-format", {
2
+ export function registerFormatSql(server) {
3
+ server.registerTool("format_sql", {
4
4
  description: "Format and prettify SQL queries",
5
5
  inputSchema: {
6
6
  sql: z.string().describe("SQL query to format"),
7
7
  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'."),
8
+ },
9
+ // VS Code compliance annotations
10
+ annotations: {
11
+ title: "Format Sql",
12
+ description: "Format and prettify SQL queries",
13
+ readOnlyHint: false
8
14
  }
9
15
  }, async ({ sql, dialect = "sql" }) => {
10
16
  try {
@@ -1,10 +1,16 @@
1
1
  import { z } from "zod";
2
- export function registerXmlFormat(server) {
3
- server.registerTool("xml-format", {
2
+ export function registerFormatXml(server) {
3
+ server.registerTool("format_xml", {
4
4
  description: "Format and prettify XML",
5
5
  inputSchema: {
6
6
  xml: z.string().describe("XML string to format"),
7
7
  indent: z.number().describe("Number of spaces for indentation").optional(),
8
+ },
9
+ // VS Code compliance annotations
10
+ annotations: {
11
+ title: "Format Xml",
12
+ description: "Format and prettify XML",
13
+ readOnlyHint: false
8
14
  }
9
15
  }, async ({ xml, indent = 2 }) => {
10
16
  try {
@@ -1,9 +1,15 @@
1
1
  import { z } from "zod";
2
- export function registerYamlFormat(server) {
3
- server.registerTool("yaml-format", {
2
+ export function registerFormatYaml(server) {
3
+ server.registerTool("format_yaml", {
4
4
  description: "Format and prettify YAML",
5
5
  inputSchema: {
6
6
  yaml: z.string().describe("YAML string to format"),
7
+ },
8
+ // VS Code compliance annotations
9
+ annotations: {
10
+ title: "Format Yaml",
11
+ description: "Format and prettify YAML",
12
+ readOnlyHint: false
7
13
  }
8
14
  }, async ({ yaml }) => {
9
15
  try {
@@ -1,9 +1,15 @@
1
1
  import { z } from "zod";
2
- export function registerJsonMinify(server) {
3
- server.registerTool("json-minify", {
4
- description: "Minify JSON by removing whitespace",
2
+ export function registerMinifyJson(server) {
3
+ server.registerTool("minify_json", {
4
+ description: "Minify JSON by removing whitespace and unnecessary characters. Example: formatted JSON → compact single-line JSON",
5
5
  inputSchema: {
6
6
  json: z.string().describe("JSON string to minify"),
7
+ },
8
+ // VS Code compliance annotations
9
+ annotations: {
10
+ title: "Minify JSON",
11
+ description: "Remove whitespace and minify JSON to compact format",
12
+ readOnlyHint: false
7
13
  }
8
14
  }, async ({ json }) => {
9
15
  try {
@@ -1,12 +1,18 @@
1
1
  import { z } from "zod";
2
- export function registerListConverter(server) {
3
- server.registerTool("list-converter", {
2
+ export function registerConvertList(server) {
3
+ server.registerTool("convert_list", {
4
4
  description: "Convert between different list formats (comma-separated, line-separated, etc.)",
5
5
  inputSchema: {
6
6
  list: z.string().describe("Input list to convert"),
7
7
  inputFormat: z.enum(["comma", "semicolon", "newline", "space", "pipe"]).describe("Input format"),
8
8
  outputFormat: z.enum(["comma", "semicolon", "newline", "space", "pipe", "json", "quoted"]).describe("Output format"),
9
9
  trim: z.boolean().describe("Trim whitespace from items").optional(),
10
+ },
11
+ // VS Code compliance annotations
12
+ annotations: {
13
+ title: "Convert List",
14
+ description: "Convert between different list formats (comma-separated, line-separated, etc",
15
+ readOnlyHint: false
10
16
  }
11
17
  }, async ({ list, inputFormat, outputFormat, trim = true }) => {
12
18
  try {
@@ -1,10 +1,16 @@
1
1
  import { z } from "zod";
2
- export function registerHtmlPrettifier(server) {
3
- server.registerTool("html-prettifier", {
2
+ export function registerPrettifyHtml(server) {
3
+ server.registerTool("format_html", {
4
4
  description: "Format and beautify HTML code",
5
5
  inputSchema: {
6
6
  html: z.string().describe("HTML code to prettify"),
7
7
  indentSize: z.number().optional().default(2).describe("Number of spaces for indentation")
8
+ },
9
+ // VS Code compliance annotations
10
+ annotations: {
11
+ title: "Format Html",
12
+ description: "Format and beautify HTML code",
13
+ readOnlyHint: false
8
14
  }
9
15
  }, async ({ html, indentSize }) => {
10
16
  try {
@@ -1,11 +1,17 @@
1
1
  import { z } from "zod";
2
- export function registerJavascriptPrettifier(server) {
3
- server.registerTool("javascript-prettifier", {
2
+ export function registerPrettifyJavascript(server) {
3
+ server.registerTool("format_javascript", {
4
4
  description: "Format and beautify JavaScript/CSS code",
5
5
  inputSchema: {
6
6
  code: z.string().describe("JavaScript or CSS code to prettify"),
7
7
  type: z.enum(["javascript", "css"]).describe("Type of code to format"),
8
8
  indentSize: z.number().optional().default(2).describe("Number of spaces for indentation")
9
+ },
10
+ // VS Code compliance annotations
11
+ annotations: {
12
+ title: "Format Javascript",
13
+ description: "Format and beautify JavaScript/CSS code",
14
+ readOnlyHint: false
9
15
  }
10
16
  }, async ({ code, type, indentSize }) => {
11
17
  try {
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { CronExpressionParser } from 'cron-parser';
3
- export function registerCrontabGenerate(server) {
4
- server.registerTool("crontab-generate", {
3
+ export function registerGenerateCrontab(server) {
4
+ server.registerTool("generate_crontab", {
5
5
  description: "Generate crontab expressions",
6
6
  inputSchema: {
7
7
  minute: z.string().describe("Minute (0-59, *, */n, n-m)").optional(),
@@ -9,6 +9,12 @@ export function registerCrontabGenerate(server) {
9
9
  dayOfMonth: z.string().describe("Day of month (1-31, *, */n, n-m)").optional(),
10
10
  month: z.string().describe("Month (1-12, *, */n, n-m)").optional(),
11
11
  dayOfWeek: z.string().describe("Day of week (0-7, *, */n, n-m)").optional(),
12
+ },
13
+ // VS Code compliance annotations
14
+ annotations: {
15
+ title: "Generate Crontab",
16
+ description: "Generate crontab expressions",
17
+ readOnlyHint: false
12
18
  }
13
19
  }, async ({ minute = "*", hour = "*", dayOfMonth = "*", month = "*", dayOfWeek = "*" }) => {
14
20
  try {
@@ -1,11 +1,17 @@
1
1
  import { z } from "zod";
2
- export function registerMarkdownTocGenerator(server) {
3
- server.registerTool("markdown-toc-generator", {
2
+ export function registerGenerateMarkdownToc(server) {
3
+ server.registerTool("generate_markdown_toc", {
4
4
  description: "Generate a table of contents from Markdown headers",
5
5
  inputSchema: {
6
6
  markdown: z.string().describe("Markdown content to generate TOC from"),
7
7
  maxLevel: z.number().optional().default(6).describe("Maximum header level to include (1-6)"),
8
8
  generateAnchors: z.boolean().optional().default(true).describe("Whether to generate anchor links")
9
+ },
10
+ // VS Code compliance annotations
11
+ annotations: {
12
+ title: "Generate Markdown Toc",
13
+ description: "Generate a table of contents from Markdown headers",
14
+ readOnlyHint: false
9
15
  }
10
16
  }, async ({ markdown, maxLevel, generateAnchors }) => {
11
17
  // Extract headers from markdown
@@ -1,11 +1,17 @@
1
1
  import { z } from "zod";
2
- export function registerRegexTester(server) {
3
- server.registerTool("regex-tester", {
2
+ export function registerTestRegex(server) {
3
+ server.registerTool("test_regex", {
4
4
  description: "Test regular expressions against text",
5
5
  inputSchema: {
6
6
  pattern: z.string().describe("Regular expression pattern"),
7
7
  text: z.string().describe("Text to test against the regex"),
8
8
  flags: z.string().optional().describe("Regex flags (g, i, m, s, u, y)"),
9
+ },
10
+ // VS Code compliance annotations
11
+ annotations: {
12
+ title: "Test Regex",
13
+ description: "Test regular expressions against text",
14
+ readOnlyHint: false
9
15
  }
10
16
  }, async ({ pattern, text, flags }) => {
11
17
  try {
@@ -1,10 +1,16 @@
1
1
  import { z } from "zod";
2
2
  import yaml from "js-yaml";
3
3
  export function registerDockerComposeToRun(server) {
4
- server.registerTool("docker-compose-to-docker-run", {
4
+ server.registerTool("convert_docker_compose_to_run", {
5
5
  description: "Convert Docker Compose files to docker run commands",
6
6
  inputSchema: {
7
7
  content: z.string().describe("Docker Compose file content to convert"),
8
+ },
9
+ // VS Code compliance annotations
10
+ annotations: {
11
+ title: "Convert Docker Compose To Run",
12
+ description: "Convert Docker Compose files to docker run commands",
13
+ readOnlyHint: false
8
14
  }
9
15
  }, async ({ content }) => {
10
16
  if (!content?.trim()) {
@@ -1,10 +1,16 @@
1
1
  import { z } from "zod";
2
2
  import yaml from "js-yaml";
3
3
  export function registerDockerRunToCompose(server) {
4
- server.registerTool("docker-run-to-docker-compose", {
4
+ server.registerTool("convert_docker_run_to_compose", {
5
5
  description: "Convert docker run commands to Docker Compose format",
6
6
  inputSchema: {
7
7
  commands: z.string().describe("Docker run commands to convert (one per line)"),
8
+ },
9
+ // VS Code compliance annotations
10
+ annotations: {
11
+ title: "Convert Docker Run To Compose",
12
+ description: "Convert docker run commands to Docker Compose format",
13
+ readOnlyHint: false
8
14
  }
9
15
  }, async ({ commands }) => {
10
16
  if (!commands?.trim()) {
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import yaml from "js-yaml";
3
- export function registerTraefikComposeGenerator(server) {
4
- server.registerTool("traefik-compose-generator", {
3
+ export function registerGenerateTraefik(server) {
4
+ server.registerTool("generate_traefik_compose", {
5
5
  description: "Generate Traefik Docker Compose configuration",
6
6
  inputSchema: {
7
7
  domain: z.string().optional().describe("Domain for Traefik services (default: example.com)"),
@@ -9,6 +9,12 @@ export function registerTraefikComposeGenerator(server) {
9
9
  network: z.string().optional().describe("Docker network name (default: traefik)"),
10
10
  serviceName: z.string().optional().describe("Example service name (default: webapp)"),
11
11
  serviceImage: z.string().optional().describe("Example service image (default: nginx:latest)"),
12
+ },
13
+ // VS Code compliance annotations
14
+ annotations: {
15
+ title: "Generate Traefik Compose",
16
+ description: "Generate Traefik Docker Compose configuration",
17
+ readOnlyHint: false
12
18
  }
13
19
  }, async ({ domain = 'example.com', email = 'admin@example.com', network = 'traefik', serviceName = 'webapp', serviceImage = 'nginx:latest' }) => {
14
20
  try {
@@ -1,7 +1,13 @@
1
- export function registerDockerReference(server) {
2
- server.registerTool("docker-reference", {
1
+ export function registerReferenceDocker(server) {
2
+ server.registerTool("show_docker_reference", {
3
3
  description: "Get Docker commands reference and cheatsheet",
4
- inputSchema: {}
4
+ inputSchema: {},
5
+ // VS Code compliance annotations
6
+ annotations: {
7
+ title: "Show Docker Reference",
8
+ description: "Get Docker commands reference and cheatsheet",
9
+ readOnlyHint: true
10
+ }
5
11
  }, async () => {
6
12
  const reference = `# Docker Quick Reference
7
13
 
@@ -1,10 +1,16 @@
1
1
  import { z } from "zod";
2
2
  import yaml from "js-yaml";
3
- export function registerDockerComposeValidator(server) {
4
- server.registerTool("docker-compose-validator", {
5
- description: "Validate Docker Compose files for syntax and compatibility",
3
+ export function registerValidateCompose(server) {
4
+ server.registerTool("validate_docker_compose", {
5
+ description: "Validate Docker Compose files for syntax errors, compatibility issues, and best practices. Example: check YAML syntax, service configuration, network setup",
6
6
  inputSchema: {
7
7
  content: z.string().describe("Docker Compose file content to validate"),
8
+ },
9
+ // VS Code compliance annotations
10
+ annotations: {
11
+ title: "Validate Docker Compose",
12
+ description: "Validate Docker Compose syntax and configuration",
13
+ readOnlyHint: false
8
14
  }
9
15
  }, async ({ content }) => {
10
16
  if (!content?.trim()) {
@@ -1,10 +1,16 @@
1
1
  import { z } from "zod";
2
- export function registerTextToBinary(server) {
3
- server.registerTool("text-to-binary", {
2
+ export function registerConvertTextBinary(server) {
3
+ server.registerTool("convert_text_to_binary", {
4
4
  description: "Convert text to binary and vice versa",
5
5
  inputSchema: {
6
6
  input: z.string().describe("Text to convert to binary, or binary to convert to text"),
7
7
  operation: z.enum(["encode", "decode"]).describe("Operation: encode text to binary or decode binary to text"),
8
+ },
9
+ // VS Code compliance annotations
10
+ annotations: {
11
+ title: "Convert Text To Binary",
12
+ description: "Convert text to binary and vice versa",
13
+ readOnlyHint: false
8
14
  }
9
15
  }, async ({ input, operation }) => {
10
16
  try {
@@ -1,9 +1,15 @@
1
1
  import { z } from "zod";
2
- export function registerBase64Decode(server) {
3
- server.registerTool("base64-decode", {
2
+ export function registerDecodeBase64(server) {
3
+ server.registerTool("decode_base64", {
4
4
  description: 'Decode Base64 text back to original text. Example: "SGVsbG8gV29ybGQ=" → "Hello World"',
5
5
  inputSchema: {
6
6
  text: z.string().min(1).regex(/^[A-Za-z0-9+/]*={0,2}$/, "Invalid Base64 format").describe("Base64 text to decode"),
7
+ },
8
+ // VS Code compliance annotations
9
+ annotations: {
10
+ title: "Decode Base64",
11
+ description: "Decode Base64 text back to original text",
12
+ readOnlyHint: false
7
13
  }
8
14
  }, async ({ text }) => {
9
15
  try {
@@ -1,9 +1,15 @@
1
1
  import { z } from "zod";
2
- export function registerHtmlDecode(server) {
3
- server.registerTool("html-decode", {
2
+ export function registerDecodeHtml(server) {
3
+ server.registerTool("decode_html", {
4
4
  description: "Decode HTML entities",
5
5
  inputSchema: {
6
6
  text: z.string().describe("HTML encoded text to decode"),
7
+ },
8
+ // VS Code compliance annotations
9
+ annotations: {
10
+ title: "Decode Html",
11
+ description: "Decode HTML entities",
12
+ readOnlyHint: false
7
13
  }
8
14
  }, async ({ text }) => {
9
15
  const decoded = text
@@ -1,9 +1,15 @@
1
1
  import { z } from "zod";
2
- export function registerUrlDecode(server) {
3
- server.registerTool("url-decode", {
2
+ export function registerDecodeUrl(server) {
3
+ server.registerTool("decode_url", {
4
4
  description: "URL decode text",
5
5
  inputSchema: {
6
6
  text: z.string().describe("URL encoded text to decode"),
7
+ },
8
+ // VS Code compliance annotations
9
+ annotations: {
10
+ title: "Decode Url",
11
+ description: "URL decode text",
12
+ readOnlyHint: false
7
13
  }
8
14
  }, async ({ text }) => {
9
15
  try {
@@ -1,9 +1,15 @@
1
1
  import { z } from "zod";
2
- export function registerBase64Encode(server) {
3
- server.registerTool("base64-encode", {
2
+ export function registerEncodeBase64(server) {
3
+ server.registerTool("encode_base64", {
4
4
  description: 'Encode text to Base64 format. Example: "Hello World" → "SGVsbG8gV29ybGQ="',
5
5
  inputSchema: {
6
6
  text: z.string().min(1).describe("Text to encode to Base64"),
7
+ },
8
+ // VS Code compliance annotations
9
+ annotations: {
10
+ title: "Encode Base64",
11
+ description: "Encode text to Base64 format",
12
+ readOnlyHint: false
7
13
  }
8
14
  }, async ({ text }) => {
9
15
  try {
@@ -1,9 +1,15 @@
1
1
  import { z } from "zod";
2
- export function registerHtmlEncode(server) {
3
- server.registerTool("html-encode", {
2
+ export function registerEncodeHtml(server) {
3
+ server.registerTool("encode_html", {
4
4
  description: "Encode HTML entities",
5
5
  inputSchema: {
6
6
  text: z.string().describe("Text to HTML encode"),
7
+ },
8
+ // VS Code compliance annotations
9
+ annotations: {
10
+ title: "Encode Html",
11
+ description: "Encode HTML entities",
12
+ readOnlyHint: false
7
13
  }
8
14
  }, async ({ text }) => {
9
15
  const encoded = text
@@ -1,10 +1,16 @@
1
1
  import { z } from "zod";
2
- export function registerHtmlEntitiesExtended(server) {
3
- server.registerTool("html-entities-extended", {
2
+ export function registerEncodeHtmlEntities(server) {
3
+ server.registerTool("encode_html_entities", {
4
4
  description: "Extended HTML entity encoding/decoding",
5
5
  inputSchema: {
6
6
  text: z.string().describe("Text to encode or decode"),
7
7
  operation: z.enum(["encode", "decode"]).describe("Operation to perform"),
8
+ },
9
+ // VS Code compliance annotations
10
+ annotations: {
11
+ title: "Encode Html Entities",
12
+ description: "Extended HTML entity encoding/decoding",
13
+ readOnlyHint: false
8
14
  }
9
15
  }, async ({ text, operation }) => {
10
16
  try {
@@ -1,9 +1,15 @@
1
1
  import { z } from "zod";
2
- export function registerUrlEncode(server) {
3
- server.registerTool("url-encode", {
2
+ export function registerEncodeUrl(server) {
3
+ server.registerTool("encode_url", {
4
4
  description: "URL encode text",
5
5
  inputSchema: {
6
6
  text: z.string().describe("Text to URL encode"),
7
+ },
8
+ // VS Code compliance annotations
9
+ annotations: {
10
+ title: "Encode Url",
11
+ description: "URL encode text",
12
+ readOnlyHint: false
7
13
  }
8
14
  }, async ({ text }) => {
9
15
  const encoded = encodeURIComponent(text);
@@ -1,9 +1,15 @@
1
1
  import { z } from "zod";
2
- export function registerSafelinkDecoder(server) {
3
- server.registerTool("safelink-decoder", {
2
+ export function registerDecodeSafelink(server) {
3
+ server.registerTool("decode_safelink", {
4
4
  description: "Decode Microsoft Outlook SafeLink URLs",
5
5
  inputSchema: {
6
6
  safelink: z.string().describe("SafeLink URL to decode")
7
+ },
8
+ // VS Code compliance annotations
9
+ annotations: {
10
+ title: "Decode Safelink",
11
+ description: "Decode Microsoft Outlook SafeLink URLs",
12
+ readOnlyHint: false
7
13
  }
8
14
  }, async ({ safelink }) => {
9
15
  try {
@@ -1,10 +1,16 @@
1
1
  import { z } from "zod";
2
- export function registerUrlFanger(server) {
3
- server.registerTool("url-fanger", {
2
+ export function registerFangUrl(server) {
3
+ server.registerTool("fang_url", {
4
4
  description: "Defang or refang URLs for safe sharing (security analysis)",
5
5
  inputSchema: {
6
6
  text: z.string().describe("Text containing URLs to fang/defang"),
7
7
  operation: z.enum(["defang", "refang"]).describe("Whether to defang (make safe) or refang (restore) URLs")
8
+ },
9
+ // VS Code compliance annotations
10
+ annotations: {
11
+ title: "Fang Url",
12
+ description: "Defang or refang URLs for safe sharing (security analysis)",
13
+ readOnlyHint: false
8
14
  }
9
15
  }, async ({ text, operation }) => {
10
16
  try {
@@ -1,11 +1,17 @@
1
1
  import { z } from "zod";
2
2
  import { Buffer } from 'buffer';
3
- export function registerFileTypeIdentifier(server) {
4
- server.registerTool("file-type-identifier", {
3
+ export function registerIdentifyFileType(server) {
4
+ server.registerTool("identify_file_type", {
5
5
  description: "Identify file type based on magic numbers/file signatures",
6
6
  inputSchema: {
7
7
  data: z.string().describe("Hex data or base64 data of file header"),
8
8
  format: z.enum(["hex", "base64"]).describe("Format of the input data")
9
+ },
10
+ // VS Code compliance annotations
11
+ annotations: {
12
+ title: "Identify File Type",
13
+ description: "Identify file type based on magic numbers/file signatures",
14
+ readOnlyHint: false
9
15
  }
10
16
  }, async ({ data, format }) => {
11
17
  try {
@@ -1,10 +1,16 @@
1
1
  import { z } from "zod";
2
- export function registerQrGenerate(server) {
3
- server.registerTool("qr-generate", {
2
+ export function registerGenerateQr(server) {
3
+ server.registerTool("generate_qr_code", {
4
4
  description: "Generate QR code for any text including URLs, WiFi networks, contact info, etc.",
5
5
  inputSchema: {
6
6
  text: z.string().describe("Text to encode in QR code (URLs, WiFi: WIFI:T:WPA;S:network;P:password;;, contact info, etc.)"),
7
7
  size: z.number().describe("Size multiplier (1-3)").optional(),
8
+ },
9
+ // VS Code compliance annotations
10
+ annotations: {
11
+ title: "Generate Qr Code",
12
+ description: "Generate QR code for any text including URLs, WiFi networks, contact info, etc",
13
+ readOnlyHint: false
8
14
  }
9
15
  }, async ({ text, size = 1 }) => {
10
16
  try {
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
- export function registerSvgPlaceholderGenerator(server) {
3
- server.registerTool("svg-placeholder-generator", {
2
+ export function registerGenerateSvgPlaceholder(server) {
3
+ server.registerTool("generate_svg_placeholder", {
4
4
  description: "Generate SVG placeholder images",
5
5
  inputSchema: {
6
6
  width: z.number().describe("Width in pixels").optional(),
@@ -8,6 +8,12 @@ export function registerSvgPlaceholderGenerator(server) {
8
8
  backgroundColor: z.string().describe("Background color (hex)").optional(),
9
9
  textColor: z.string().describe("Text color (hex)").optional(),
10
10
  text: z.string().optional().describe("Custom text (default: dimensions)"),
11
+ },
12
+ // VS Code compliance annotations
13
+ annotations: {
14
+ title: "Generate Svg Placeholder",
15
+ description: "Generate SVG placeholder images",
16
+ readOnlyHint: false
11
17
  }
12
18
  }, async ({ width = 300, height = 200, backgroundColor = "#cccccc", textColor = "#666666", text }) => {
13
19
  try {