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.
- package/build/index.js +200 -4
- package/build/tools/ansible/decrypt_ansible_vault/index.js +1 -0
- package/build/tools/ansible/encrypt_ansible_vault/index.js +1 -0
- package/build/tools/ansible/generate_ansible_inventory/index.js +1 -0
- package/build/tools/ansible/parse_ansible_inventory/index.js +1 -0
- package/build/tools/ansible/show_ansible_reference/index.js +1 -0
- package/build/tools/ansible/validate_ansible_playbook/index.js +1 -0
- package/build/tools/color/convert_hex_to_rgb/index.js +1 -0
- package/build/tools/color/convert_rgb_to_hex/index.js +1 -0
- package/build/tools/crypto/decode_jwt/index.js +1 -0
- package/build/tools/crypto/generate_basic_auth/index.js +1 -0
- package/build/tools/crypto/generate_bip39/index.js +1 -0
- package/build/tools/crypto/generate_hmac/index.js +1 -0
- package/build/tools/crypto/generate_otp/index.js +1 -0
- package/build/tools/crypto/generate_password/index.js +1 -0
- package/build/tools/crypto/generate_token/index.js +1 -0
- package/build/tools/crypto/hash_bcrypt/index.js +1 -0
- package/build/tools/crypto/hash_md5/index.js +1 -0
- package/build/tools/crypto/hash_sha1/index.js +1 -0
- package/build/tools/crypto/hash_sha256/index.js +1 -0
- package/build/tools/crypto/hash_sha512/index.js +1 -0
- package/build/tools/data_format/compare_json/index.js +1 -0
- package/build/tools/data_format/convert_html_to_markdown/index.js +1 -0
- package/build/tools/data_format/convert_json_to_csv/index.js +1 -0
- package/build/tools/data_format/convert_json_to_toml/index.js +1 -0
- package/build/tools/data_format/convert_markdown_to_html/index.js +1 -0
- package/build/tools/data_format/convert_toml_to_json/index.js +1 -0
- package/build/tools/data_format/format_json/index.js +1 -0
- package/build/tools/data_format/format_phone/index.js +1 -0
- package/build/tools/data_format/format_sql/index.js +1 -0
- package/build/tools/data_format/format_xml/index.js +1 -0
- package/build/tools/data_format/format_yaml/index.js +1 -0
- package/build/tools/data_format/minify_json/index.js +1 -0
- package/build/tools/development/convert_list/index.js +1 -0
- package/build/tools/development/format_html/index.js +1 -0
- package/build/tools/development/format_javascript/index.js +1 -0
- package/build/tools/development/generate_crontab/index.js +1 -0
- package/build/tools/development/generate_markdown_toc/index.js +1 -0
- package/build/tools/development/test_regex/index.js +1 -0
- package/build/tools/docker/convert_docker_compose_to_run/index.js +1 -0
- package/build/tools/docker/convert_docker_run_to_compose/index.js +1 -0
- package/build/tools/docker/generate_traefik_compose/index.js +1 -0
- package/build/tools/docker/show_docker_reference/index.js +1 -0
- package/build/tools/docker/validate_docker_compose/index.js +1 -0
- package/build/tools/encoding/convert_text_to_binary/index.js +1 -0
- package/build/tools/encoding/decode_base64/index.js +1 -0
- package/build/tools/encoding/decode_html/index.js +1 -0
- package/build/tools/encoding/decode_url/index.js +1 -0
- package/build/tools/encoding/encode_base64/index.js +1 -0
- package/build/tools/encoding/encode_html/index.js +1 -0
- package/build/tools/encoding/encode_html_entities/index.js +1 -0
- package/build/tools/encoding/encode_url/index.js +1 -0
- package/build/tools/forensic/decode_safelink/index.js +1 -0
- package/build/tools/forensic/fang_url/index.js +1 -0
- package/build/tools/forensic/identify_file_type/index.js +1 -0
- package/build/tools/id_generators/generate_qr_code/index.js +1 -0
- package/build/tools/id_generators/generate_svg_placeholder/index.js +1 -0
- package/build/tools/id_generators/generate_ulid/index.js +1 -0
- package/build/tools/id_generators/generate_uuid/index.js +1 -0
- package/build/tools/math/calculate_percentage/index.js +1 -0
- package/build/tools/math/convert_number_base/index.js +1 -0
- package/build/tools/math/convert_roman_numerals/index.js +1 -0
- package/build/tools/math/convert_temperature/index.js +1 -0
- package/build/tools/math/convert_unix_timestamp/index.js +1 -0
- package/build/tools/math/evaluate_math/index.js +1 -0
- package/build/tools/network/calculate_ip_subnet/index.js +1 -0
- package/build/tools/network/calculate_ipv4_subnet/index.js +1 -0
- package/build/tools/network/calculate_ipv6_subnet/index.js +1 -0
- package/build/tools/network/cat/index.js +1 -0
- package/build/tools/network/convert_cidr_to_ip_range/index.js +1 -0
- package/build/tools/network/convert_ip_range_to_cidr/index.js +1 -0
- package/build/tools/network/curl/index.js +1 -0
- package/build/tools/network/dig/index.js +1 -0
- package/build/tools/network/generate_ipv6_ula/index.js +1 -0
- package/build/tools/network/generate_mac_address/index.js +1 -0
- package/build/tools/network/generate_random_port/index.js +1 -0
- package/build/tools/network/grep/index.js +1 -0
- package/build/tools/network/head/index.js +1 -0
- package/build/tools/network/nslookup/index.js +1 -0
- package/build/tools/network/parse_url/index.js +1 -0
- package/build/tools/network/ping/index.js +1 -0
- package/build/tools/network/ps/index.js +1 -0
- package/build/tools/network/scp/index.js +1 -0
- package/build/tools/network/ssh/index.js +1 -0
- package/build/tools/network/tail/index.js +1 -0
- package/build/tools/network/telnet/index.js +1 -0
- package/build/tools/network/top/index.js +1 -0
- package/build/tools/network/validate_iban/index.js +1 -0
- package/build/tools/physics/convert_angle/index.js +1 -0
- package/build/tools/physics/convert_energy/index.js +1 -0
- package/build/tools/physics/convert_power/index.js +1 -0
- package/build/tools/text/analyze_distinct_words/index.js +1 -0
- package/build/tools/text/analyze_text_stats/index.js +1 -0
- package/build/tools/text/capitalize_text/index.js +1 -0
- package/build/tools/text/compare_text/index.js +1 -0
- package/build/tools/text/convert_text_to_camelcase/index.js +1 -0
- package/build/tools/text/convert_text_to_kebabcase/index.js +1 -0
- package/build/tools/text/convert_text_to_lowercase/index.js +1 -0
- package/build/tools/text/convert_text_to_nato/index.js +1 -0
- package/build/tools/text/convert_text_to_pascalcase/index.js +1 -0
- package/build/tools/text/convert_text_to_unicode/index.js +1 -0
- package/build/tools/text/convert_text_to_uppercase/index.js +1 -0
- package/build/tools/text/generate_ascii_art/index.js +1 -0
- package/build/tools/text/generate_lorem_ipsum/index.js +1 -0
- package/build/tools/text/generate_numeronym/index.js +1 -0
- package/build/tools/text/obfuscate_string/index.js +1 -0
- package/build/tools/text/search_emoji/index.js +1 -0
- package/build/tools/text/show_unicode_names/index.js +1 -0
- package/build/tools/text/slugify_text/index.js +1 -0
- package/build/tools/text/text_snakecase/index.js +1 -0
- package/build/tools/utility/convert_rem_px/index.js +1 -0
- package/build/tools/utility/format_css/index.js +1 -0
- package/build/tools/utility/lookup_http_status/index.js +1 -0
- package/build/tools/utility/lookup_mime_types/index.js +1 -0
- package/build/tools/utility/lookup_port_numbers/index.js +1 -0
- package/build/tools/utility/normalize_email/index.js +1 -0
- package/build/tools/utility/show_device_info/index.js +1 -0
- package/package.json +1 -1
|
@@ -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 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 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")
|
|
@@ -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
|
},
|
|
@@ -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")
|
|
@@ -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 { 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 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 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 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 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 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 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 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(),
|