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.
- package/README.dockerhub.md +1 -1
- package/README.md +105 -104
- package/build/index.js +426 -19
- package/build/tools/ansible/{ansible-vault-decrypt → decrypt_ansible_vault}/index.js +8 -2
- package/build/tools/ansible/{ansible-vault-encrypt → encrypt_ansible_vault}/index.js +8 -2
- package/build/tools/ansible/generate_ansible_inventory/index.js +221 -0
- package/build/tools/ansible/{ansible-inventory-generator → parse_ansible_inventory}/index.js +7 -1
- package/build/tools/ansible/{ansible-reference → show_ansible_reference}/index.js +9 -3
- package/build/tools/ansible/{ansible-playbook-validator → validate_ansible_playbook}/index.js +8 -2
- package/build/tools/color/{color-hex-to-rgb → convert_hex_to_rgb}/index.js +8 -2
- package/build/tools/color/{color-rgb-to-hex → convert_rgb_to_hex}/index.js +8 -2
- package/build/tools/crypto/{jwt-decode → decode_jwt}/index.js +8 -2
- package/build/tools/crypto/{basic-auth-generator → generate_basic_auth}/index.js +8 -2
- package/build/tools/crypto/{bip39-generate → generate_bip39}/index.js +8 -2
- package/build/tools/crypto/{hmac-generator → generate_hmac}/index.js +8 -2
- package/build/tools/crypto/{otp-code-generator → generate_otp}/index.js +8 -2
- package/build/tools/crypto/{password-generate → generate_password}/index.js +8 -2
- package/build/tools/crypto/{token-generator → generate_token}/index.js +8 -2
- package/build/tools/crypto/{bcrypt-hash → hash_bcrypt}/index.js +8 -2
- package/build/tools/crypto/{hash-md5 → hash_md5}/index.js +7 -1
- package/build/tools/crypto/{hash-sha1 → hash_sha1}/index.js +7 -1
- package/build/tools/crypto/{hash-sha256 → hash_sha256}/index.js +7 -1
- package/build/tools/crypto/{hash-sha512 → hash_sha512}/index.js +7 -1
- package/build/tools/{dataFormat/json-diff → data_format/compare_json}/index.js +8 -2
- package/build/tools/{dataFormat/html-to-markdown → data_format/convert_html_to_markdown}/index.js +8 -2
- package/build/tools/{dataFormat/json-to-csv → data_format/convert_json_to_csv}/index.js +8 -2
- package/build/tools/{dataFormat/json-to-toml → data_format/convert_json_to_toml}/index.js +8 -2
- package/build/tools/{dataFormat/markdown-to-html → data_format/convert_markdown_to_html}/index.js +8 -2
- package/build/tools/{dataFormat/toml-to-json → data_format/convert_toml_to_json}/index.js +8 -2
- package/build/tools/{dataFormat/json-format → data_format/format_json}/index.js +9 -3
- package/build/tools/{dataFormat/phone-format → data_format/format_phone}/index.js +8 -2
- package/build/tools/{dataFormat/sql-format → data_format/format_sql}/index.js +8 -2
- package/build/tools/{dataFormat/xml-format → data_format/format_xml}/index.js +8 -2
- package/build/tools/{dataFormat/yaml-format → data_format/format_yaml}/index.js +8 -2
- package/build/tools/{dataFormat/json-minify → data_format/minify_json}/index.js +9 -3
- package/build/tools/development/{list-converter → convert_list}/index.js +8 -2
- package/build/tools/development/{html-prettifier → format_html}/index.js +8 -2
- package/build/tools/development/{javascript-prettifier → format_javascript}/index.js +8 -2
- package/build/tools/development/{crontab-generate → generate_crontab}/index.js +8 -2
- package/build/tools/development/{markdown-toc-generator → generate_markdown_toc}/index.js +8 -2
- package/build/tools/development/{regex-tester → test_regex}/index.js +8 -2
- package/build/tools/docker/{docker-compose-to-docker-run → convert_docker_compose_to_run}/index.js +7 -1
- package/build/tools/docker/{docker-run-to-docker-compose → convert_docker_run_to_compose}/index.js +7 -1
- package/build/tools/docker/{traefik-compose-generator → generate_traefik_compose}/index.js +8 -2
- package/build/tools/docker/{docker-reference → show_docker_reference}/index.js +9 -3
- package/build/tools/docker/{docker-compose-validator → validate_docker_compose}/index.js +9 -3
- package/build/tools/encoding/{text-to-binary → convert_text_to_binary}/index.js +8 -2
- package/build/tools/encoding/{base64-decode → decode_base64}/index.js +8 -2
- package/build/tools/encoding/{html-decode → decode_html}/index.js +8 -2
- package/build/tools/encoding/{url-decode → decode_url}/index.js +8 -2
- package/build/tools/encoding/{base64-encode → encode_base64}/index.js +8 -2
- package/build/tools/encoding/{html-encode → encode_html}/index.js +8 -2
- package/build/tools/encoding/{html-entities-extended → encode_html_entities}/index.js +8 -2
- package/build/tools/encoding/{url-encode → encode_url}/index.js +8 -2
- package/build/tools/forensic/{safelink-decoder → decode_safelink}/index.js +8 -2
- package/build/tools/forensic/{url-fanger → fang_url}/index.js +8 -2
- package/build/tools/forensic/{file-type-identifier → identify_file_type}/index.js +8 -2
- package/build/tools/{idGenerators/qr-generate → id_generators/generate_qr_code}/index.js +8 -2
- package/build/tools/{idGenerators/svg-placeholder-generator → id_generators/generate_svg_placeholder}/index.js +8 -2
- package/build/tools/{idGenerators/ulid-generate → id_generators/generate_ulid}/index.js +10 -4
- package/build/tools/{idGenerators/uuid-generate → id_generators/generate_uuid}/index.js +9 -3
- package/build/tools/math/{percentage-calculator → calculate_percentage}/index.js +8 -2
- package/build/tools/math/{number-base-converter → convert_number_base}/index.js +8 -2
- package/build/tools/math/{roman-numeral-converter → convert_roman_numerals}/index.js +8 -2
- package/build/tools/math/{temperature-converter → convert_temperature}/index.js +8 -2
- package/build/tools/math/{unix-timestamp-converter → convert_unix_timestamp}/index.js +7 -1
- package/build/tools/math/{math-evaluate → evaluate_math}/index.js +8 -2
- package/build/tools/network/{ip-subnet-calculator → calculate_ip_subnet}/index.js +7 -1
- package/build/tools/network/{ipv4-subnet-calc → calculate_ipv4_subnet}/index.js +7 -1
- package/build/tools/network/{ipv6-subnet-calculator → calculate_ipv6_subnet}/index.js +7 -1
- package/build/tools/network/cat/index.js +6 -0
- package/build/tools/network/{cidr-to-ip-range → convert_cidr_to_ip_range}/index.js +7 -1
- package/build/tools/network/{ip-range-to-cidr → convert_ip_range_to_cidr}/index.js +7 -1
- package/build/tools/network/curl/index.js +6 -0
- package/build/tools/network/dig/index.js +6 -0
- package/build/tools/network/{ipv6-ula-generator → generate_ipv6_ula}/index.js +7 -1
- package/build/tools/network/{mac-address-generate → generate_mac_address}/index.js +7 -1
- package/build/tools/network/{random-port → generate_random_port}/index.js +7 -1
- package/build/tools/network/grep/index.js +6 -0
- package/build/tools/network/head/index.js +6 -0
- package/build/tools/network/nslookup/index.js +6 -0
- package/build/tools/network/{url-parse → parse_url}/index.js +7 -1
- package/build/tools/network/ping/index.js +6 -0
- package/build/tools/network/ps/index.js +7 -1
- package/build/tools/network/scp/index.js +6 -0
- package/build/tools/network/ssh/index.js +6 -0
- package/build/tools/network/tail/index.js +6 -0
- package/build/tools/network/telnet/index.js +6 -0
- package/build/tools/network/top/index.js +7 -1
- package/build/tools/network/{iban-validate → validate_iban}/index.js +7 -1
- package/build/tools/physics/{angle-converter → convert_angle}/index.js +7 -1
- package/build/tools/physics/{energy-converter → convert_energy}/index.js +7 -1
- package/build/tools/physics/{power-converter → convert_power}/index.js +7 -1
- package/build/tools/text/{distinct-words → analyze_distinct_words}/index.js +7 -1
- package/build/tools/text/{text-stats → analyze_text_stats}/index.js +7 -1
- package/build/tools/text/{text-capitalize → capitalize_text}/index.js +7 -1
- package/build/tools/text/{text-diff → compare_text}/index.js +7 -1
- package/build/tools/text/{text-camelcase → convert_text_to_camelcase}/index.js +8 -2
- package/build/tools/text/{text-kebabcase → convert_text_to_kebabcase}/index.js +7 -1
- package/build/tools/text/{text-lowercase → convert_text_to_lowercase}/index.js +7 -1
- package/build/tools/text/{text-to-nato-alphabet → convert_text_to_nato}/index.js +7 -1
- package/build/tools/text/{text-pascalcase → convert_text_to_pascalcase}/index.js +7 -1
- package/build/tools/text/{text-to-unicode → convert_text_to_unicode}/index.js +7 -1
- package/build/tools/text/{text-uppercase → convert_text_to_uppercase}/index.js +7 -1
- package/build/tools/text/{ascii-art-text → generate_ascii_art}/index.js +8 -2
- package/build/tools/text/{lorem-ipsum-generator → generate_lorem_ipsum}/index.js +7 -1
- package/build/tools/text/{numeronym-generator → generate_numeronym}/index.js +7 -1
- package/build/tools/text/{string-obfuscator → obfuscate_string}/index.js +7 -1
- package/build/tools/text/{emoji-search → search_emoji}/index.js +7 -1
- package/build/tools/text/{text-to-unicode-names → show_unicode_names}/index.js +7 -1
- package/build/tools/text/{slugify-string → slugify_text}/index.js +7 -1
- package/build/tools/text/{text-snakecase → text_snakecase}/index.js +7 -1
- package/build/tools/utility/{rem-px-converter → convert_rem_px}/index.js +7 -1
- package/build/tools/utility/{css-prettifier → format_css}/index.js +7 -1
- package/build/tools/utility/{http-status-codes → lookup_http_status}/index.js +7 -1
- package/build/tools/utility/{mime-types → lookup_mime_types}/index.js +7 -1
- package/build/tools/utility/{port-numbers → lookup_port_numbers}/index.js +7 -1
- package/build/tools/utility/{email-normalizer → normalize_email}/index.js +7 -1
- package/build/tools/utility/{device-info → show_device_info}/index.js +8 -2
- package/package.json +50 -6
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
export function
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
4
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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 {
|
package/build/tools/docker/{docker-compose-to-docker-run → convert_docker_compose_to_run}/index.js
RENAMED
|
@@ -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("
|
|
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()) {
|
package/build/tools/docker/{docker-run-to-docker-compose → convert_docker_run_to_compose}/index.js
RENAMED
|
@@ -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("
|
|
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
|
|
4
|
-
server.registerTool("
|
|
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
|
|
2
|
-
server.registerTool("
|
|
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
|
|
4
|
-
server.registerTool("
|
|
5
|
-
description: "Validate Docker Compose files for syntax and
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
4
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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
|
|
3
|
-
server.registerTool("
|
|
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 {
|